Efficient Kubernetes infrastructure for Livespace
Full containerization and container management capabilities of the Kubernetes service allowed independent scaling of application components. Whenever problems occur, components can be automatically restarted and parameters can be simply changed without much effort from administrators.
Livespace is a CRM application for sales process automation that aims to increase B2B sales team efficiency. Unlike other tools available on the market, it integrates ready to use tools directly supporting the sales department. The application facilitates the collection of data on customers and sales process progression while also allowing to plan, analyze and improve all sales team activities. Livespace supports sales representatives in methodical work by automating repetitive activities, informing what actions to take, and by doing so focusing on closing sales. Currently, Livespace is used by companies throughout the world by various companies in, among other, financial, automotive, advertising, media and IT industries. Livespace has over 600 clients and several thousand active users.
With an increasing number of clients and application development, the legacy infrastructure solution used by Livespace, based on virtual servers and partial containerization has become insufficient. The service and infrastructure scaling capabilities to meet current workloads were limited and required significant involvement from the administrators. It was difficult to scale selected modules of the application independently and gradually migrate clients to newer versions of the application.
Based on the recommendations and improvements suggested by Hostersi, Livespace developed a server infrastructure for a fully containerized application focused on Kubernetes and utilization of services offered by AWS. These factors resulted in designing a state of the art solution that will not require fundamental changes for a long time.
The client obtained a tool that facilitates infrastructure management, service discovery and load balancing on individual servers. Tracking the allocation and condition of individual resources has become much simpler. Automatic scaling of virtual machines based on the use of computing resources by individual application components and the work of users in a daily cycle has become possible.
The architecture improvements led to increased application reliability, reduced downtime risk and will allow flexible scaling and controlled use of resources, as well as optimization of infrastructure maintenance costs going forward.