<div style="display:inline;"> <img height="1" width="1" style="border-style:none;" alt="" src="//googleads.g.doubleclick.net/pagead/viewthroughconversion/995099146/?value=0&amp;guid=ON&amp;script=0">
Customer Experience Software Requires Maximum Deployment Flexibility Blog Feature
John Zimmerer

By: John Zimmerer on February 9th, 2016

Print/Save as PDF

Customer Experience Software Requires Maximum Deployment Flexibility

Customer Experience

Many enterprises have moved or are moving to the cloud. Others continue to operate their own on-premise infrastructure. From what we have seen, most organizations have a hybrid (mixed) set of solutions and are trending cloudward overall. Here we will look at some of the key factors that are pushing organizations to adopt the cloud, and what customer experience software vendors can do to make sure their solutions will fit into any enterprise architecture, now and in the future.

The Case for Cloud

Maintaining an on-premise technology infrastructure is costly. In addition to expenses tied to hardware and software, the human resources required to manage that infrastructure are a big expense. Using the cloud allows companies to shift budget from capital to operating expenses, and tie IT expenditures more directly to business requirements and revenue centers. Whether using the cloud is more or less expensive than on-premise doesn’t seem to be a major factor. Companies appear to be willing to pay a premium for the flexibility and scalability using cloud-oriented technology provides.

Many organizations have been choosing cloud solutions because “going cloud” allows them to start small with less overhead up front and scale up or down if and as necessary. Thus, the cloud enables organizations to be more agile in response to the market. And with massive cloud-based software platforms like Salesforce demonstrating the ease of use and mobility of cloud-based solutions (users can access them from any browser), line-of-business users have also fallen in love with the cloud.

Atomic microservices illustration

Microservices form the nucleus of modern software applications.

Adapting to the Cloud

But every organization adopts the cloud differently. Very few will “cut the cord” all at once and move their entire back office to the cloud in one step. More likely, you’ll see organizations moving to the cloud in bits and pieces as it makes sense to do so. Many will be bound to on-premise data centers for the foreseeable future for security reasons -- that data has to stay behind a firewall. So, for example, your marketing department may be operating largely on cloud-based customer experience or marketing automation software and services while other departments may be tied to on-premise line-of-business applications. Basically, the closer you get to the data, and the more intertwined the data is with other systems, the harder it is to move to the cloud. Consequently, most organizations need software that is flexible enough to accommodate some combination of public cloud, private cloud, and completely-behind-the-firewall systems.

When designing the architecture of our next customer communications management solution, Topdown thought long and hard about deployment flexibility. We know that our customers will need to be able to deploy our software in a way that works within any IT infrastructure, database configuration, and customer experience software architecture. If they want to deploy our software entirely via the cloud, entirely on-premise, or some combination thereof, they must be able to do that. Complete flexibility was our goal.

Enabling Software Deployment Flexibility

Nearly all of our customers are using some form of virtualization. The majority of those customers were virtualizing at the hardware layer (i.e., using virtual machines). Some have developed service layers (i.e., using web services) to abstract back-office software from line-of-business applications. But that has begun to shift as new virtualization technologies have taken hold. For maximum deployment flexibility, we chose to combine microservices and containerization.

Software containers were initially developed for the public cloud, but we have watched the rise of containerization in on-premise and self-managed private clouds, so using containers was a natural first step for us. Containers provide a natural redundancy and resiliency, and they allow (or perhaps force) us to think more granularly about software in general. Our upcoming application will initially be released as a discrete, cohesive software application, but under the hood (so to speak), it will be driven by a collection of services. This will allow us to offer functionality at the service level, which in turn offers unprecedented flexibility of deployment for our customers.

We believe combining ad-hoc, à la carte services will be the dominant model of how software is developed and purchased in the near future. For example, IBM’s Bluemix platform allows companies to mix and match services to build custom applications. And Mulesoft offers an integration platform for connecting SaaS and enterprise applications in the cloud and on-premise. Going forward, software vendors are going to need to offer a high level of flexibility and interoperability at the service level to best meet the needs of organizations with complex business problems and even more complex, unique, and rapidly evolving technology infrastructures and software architectures.

Basically, software vendors can no longer dictate how organizations buy and deploy their software. We must be agile and modular in our thinking and development in order to give our buyers the agility and flexibility they need to keep their businesses moving.

Want to see how this all unfolds? Subscribe to the Topdown blog so you never miss an update.

Click to download the customer experience eBook