Cloud Contact Center Architecture: Why Microservices Matter
As customer demands continue to evolve, it is no longer a surprise the impact that it can have on your organization’s bottom-line if you are too slow to respond. All businesses—no matter what industry—must strive to deliver the ideal customer experience. The ability of your business to create better customer experiences and thrive is dependent on whether your contact center can change quickly, innovate easily and meet your customers wherever they demand it—which positions your business to stand apart from the competition.
Being able to easily and quickly adapt to changing market forces and customer demands is determined by the ability of your technology to react to trends in your industry so you can maintain a competitive advantage through your customer experience. Unless organizations nimbly innovate ahead of their competition, they will be left behind. It’s possible for any organization to harness the opportunities this digital transformation provides, it simply requires a more agile technology.
Superior Customer Experience Requires Agile Development
You may have heard the term microservices emerging in the contact center space over the past few years, but as we head into 2019, I predict it will become one of the leading areas of focus for vendors and their customers alike. Organizations that have successfully laid a foundation for continuous innovation and agility have adopted microservices architecture to respond rapidly to the never-ending demands of the industry.
When we developed CxEngage, our next-generation contact center-as-as-service solution, we knew it was time to take an approach to development that provided our customers the agility and resiliency that contact centers need today. Microservices are a way to precision-tune the CxEngage platform, so that up-time, control and convenience are injected into the technology running your contact center. In other words, they help us improve the stability of the platform as a whole and enhance our CxEngage platform to accelerate deployments and adjust to system requirements over your business day.
But why and how?
Traditional on-premises software, as well as hosted technologies, have long used monolithic development. This legacy-style architecture means that software applications are siloed—they can’t share data or interoperate to provide functionality to further your contact center processes. While a monolithic architecture better suits simple, lightweight technologies, contact centers clearly require a heavier lift and need an architecture that is adaptable.
Microservices means a fundamental shift in how engineering teams approach software development. Traditional software development such as waterfall and agile require large engineering teams that iterate on a single, monolithic stack. However, this old way of development means the architecture becomes too large and complex to fully understand and make changes fast and correctly.
In the simplest form, a microservice architecture provides a unique alternative as it splits up the application into a set of smaller, independent suites of small services. While still well-integrated, each runs in its own process and remains independently testable, deployable and maintainable. This enables quality, secure, scalable SaaS solutions.
The benefits derived from this architecture are unparalleled in the contact center market, including:
- Eliminates the complexity of traditional monolithic architecture into a set of manageable services that are much faster to develop, much easier to understand and more efficient to maintain.
- Enables each service in the application to be tested, deployed and scaled independently. As a result, it makes continuous deployment possible for complex applications and means you’ll always have access to the latest innovations available in the software.
- Allows each service to be developed independently by a team with the expertise and focus that particular service requires. Developing services discretely also allows the developers to choose the right tool for the job—whether its JAVA, .NET, C++, etc.—to implement a given service.
- Reduces barrier of adopting new technologies for an omnichannel approach. Where there are channels not used today in your contact center or on the horizon, supervisors are free to choose whatever technologies make sense for their contact center and are not bound to the choices made at the start of the project.
Serenova’s Unique Approach
At Serenova, we take a holistic view of microservices. Unlike traditional, on-premises software, our microservices development starts with a top-down, API-first approach. Our microservices themselves are targeted and powerful engines for processing specific CxEngage actions efficiently.
We’ve containerized our microservices so that our engineering team can develop, deploy, and scale changes independently and quickly. As an enabling technology for microservices, container technologies are isolated environments that follow the same philosophy by focusing and specializing on a single functionality to produce it flawlessly. Because of this, they allow us to deploy microservices quickly, regardless of the code language used to create each microservice.
Our team plans to incorporate Kubernetes, which provides the foundation for almost immediate deployment of a services—without the need to provision new physical or virtual hardware. From this approach, we’ve realized numerous benefits, including the ability to expand elastically to respond to the dynamic needs of our customers’ contact center requirements.
Moving Forward with Microservices
As a result of Serenova’s microservices architecture, every layer of the CxEngage platform is completely redundant, massively scalable and replicated across multiple data centers. In short, all contact centers Serenova offers to clients are designed to remain up at all times. All API endpoints are designed to respond at all times. Because Serenova integrates to telephony providers natively, their native resiliency (multiple carriers, multiple sites, carrier replication, etc.) gives our telephony services full resiliency.
As we continue to build out our microservices architecture, we’ll address our approach to offering a true cloud solution for the contact center. Afterall, we’ve promised our one focus is to help contact centers take advantage of the cloud. We firmly believe that microservices is a linchpin to delivering on that promise.
Pascal Vincent is Chief Technology Officer at Serenova. He brings deep technical and market experience to the executive leadership team, having led the development and delivery of industry-leading contact center products throughout his career. Pascal was formerly the Vice President of Engineering at inContact (NICE inContact), where he spent more than a decade leading the development of cloud contact center solutions. During those years and through inContact’s acquisition by NICE, Pascal oversaw all aspects of the company’s engineering and product development activities, emphasizing scalability, and quality in software delivery. Prior to his time at inContact, Pascal held key engineering positions at StayinFront, the University of Alaska and Manpower France. Previous roles leading quality assurance efforts and network and automation engineering influence Pascal’s focus on immediate product quality needs and the long-term technology vision.