LiveEngage, the most popular of its multiple Software-as-a-Service (SaaS) products, enables real-time conversations between large enterprises and their customers on websites, mobile, and social networks. Founded in New York in 1995, today, LivePerson has offices in 10 countries and monitors around 3 billion internet visitors every month.
“Our platform is unique, as it is tailored to the large-scale operations of enterprise contact center messaging for some of the largest banks and telecommunications companies around the world,” says Sergei Koren, Production Architect at LivePerson. The sheer scale of this operation can be an issue for Sergei and his colleagues Yossi Levin, Koby Holzer, and Liran Cohen, he explains. “Our major technical issue stems from the vast number of traffic and data points that touch our platform. LiveEngage is built on top of hundreds of microservices, and our challenge is to manage all of that.”
The LivePerson team looked to make application deployment and delivery viable in a hybrid cloud in a way that was completely transparent for developers. To do that, they chose to use Kubernetes on Google Kubernetes Engine.
“Our developers see Docker as an engine to deliver an application,” says Sergei. “But because of some architecture changes, it just wasn’t possible for us to run Docker as a standalone engine. The huge numbers of pings was not manageable, or possible, to put to scale. With Kubernetes, we connected the desire of the developer to use Docker to our ability to manage it and deliver it to production. It was a solution that kept both sides happy.”
By managing microservices with Google Kubernetes Engine, LivePerson helps ensure that independent teams can run their applications without DevOps assistance.
A natural fit with Kubernetes
For companies providing SaaS solutions, success often brings increased complexity that makes product management more difficult. “We realized we had a problem,” says Sergei. “Our number of services was growing rapidly, and making changes became more and more painful. Docker offered a way to simplify handling applications, but it made operations complex.”
To solve this challenge, LivePerson implemented Kubernetes and Google Kubernetes Engine. “We have no vendor lock with Kubernetes so we have the freedom to choose the best cloud provider available,” says Sergei. “We chose Google Kubernetes Engine on Google Cloud Platform because its implementation of Kubernetes is mature and hassle-free.
Within LivePerson, several independent teams run their own applications and clusters, and the combination of Kubernetes and Google Kubernetes Engine enables them to manage their own workloads without assistance from DevOps or other operational teams.
“With Google Kubernetes Engine, we don’t need to know the specifics of how to configure every detail,” says Koren. “Teams with zero understanding of how to run production can run applications on Google Kubernetes Engine with no problems, because Google has prepared the service so well. They don’t have to get into the detail of how it works or have deep knowledge about how it’s built.”
To implement Kubernetes and Google Kubernetes Engine, LivePerson turned to DoIT International. “It was clear that we needed a partner in this endeavor to discover the new area of application delivery,” says Koren. “We contacted Vadim Solovey, Chief Technology Officer (CTO) of DoIT International, and began our journey, discovering the potential and discussing approaches on forums.”
“DoIT delivered a roadmap for Kubernetes,” says Sergei. “So we knew what to expect, and when, and, almost every week for the past year, we have had workshops with CTO Vadim Solovey to discuss features and implementation.”
Major savings with autoscaling
By simplifying and improving cluster management with Kubernetes and Google Kubernetes Engine, LivePerson has created efficiencies with direct financial impact. “Our performance testing build is a batch process which happens once in a while,” says Koren. “With autoscaling, we don’t have to keep the cluster at full capacity all the time, which saves us hundreds of thousands of dollars a year.” Now the team is looking to use more aspects of Google Cloud Platform to improve its services by leveraging data.
“Google Cloud Platform is a great source of technology in multiple areas from which LivePerson can benefit,” says Sergei. “Google Cloud Platform data services can help us use our data better, with better data mining, deep learning, and other tools. Our data scientists are already working on implementing them in compliance with the data regimes of our customers.”