DevOps services for containerizing a web conferencing software
IT Svit was contacted by a company founded in 2003 with a mission to create a cleaner, more useful and powerful web conferencing tool. Since then, their product was used by more than 19,000 customers in more than 100 countries. They wanted IT Svit to help set up a Kubernetes cluster, containerize their application to run on it and enable CI/CD for updates and monitoring for keeping track of the system performance.
Case info
Location: Barcelona, Spain; Hamburg, Germany; Harrisburg, Pennsylvania, USA.
Industry: Web conferencing software
Partnership period: July 2019 — January 2020
Team size: 1 team lead, 2 DevOps engineers
Team location: Kharkiv, Ukraine
Services: Cloud infrastructure design and optimization, database performance optimization, monitoring implementation, CI/CD implementation, app containerization, API integration
Expertise delivered: App containerization and container management, cloud infrastructure management, monitoring implementation, CI/CD configuration,
Technology stack: AWS, GitHub, Jenkins, Ansible, PHP, MySQL, MariaDB, Apache, Nginx, Terraform, Docker, Prometheus, Grafana, AlertManager
Project requirements
The customer wanted to improve the efficiency of running their infrastructure by splitting the platform into a set of microservices with containerized apps. They also required help with building and configuring the Kubernetes cluster for the platform, as well as enabling its monitoring. Another scope of work was ensuring data consistency for persistent data.
Challenges and solutions
The scope of work included several important milestones:
- Resolving challenges around persistent data: DB, file uploads, user-generated content
- Configuring Redis for PHP sessions
- Using best practices on creating Dockerfiles to structure the platform’s Docker Registry
- Employing best practices on passing large sets of config data to PHP container runtime
- Setting up Kubernetes
- Enabling smart monitoring and alerting
- Managing system dependencies
All of these tasks are familiar to us and we have ready solutions for these challenges, so we were able to deliver the expected results on time. The only true challenge was dealing with persistent data for MySQL and MariaDB, and this was solved through sharding.
Results
The customer was able to significantly reduce the complexity of the inner workings of their software. Through deploying the platform consisting of microservices with containerized Docker apps to a Kubernetes cluster running on Terraform on AWS infrastructure, we enabled security, load balancing and auto-scaling of resources. By implementing CI/CD processes, we ensured the customer is able to update various platform components independently and their performance is not affected by other operations. In-depth monitoring ensures the customer’s team keeps a hand on the pulse of the project at all times and the TTR has shortened significantly.
Conclusions
This project helped IT Svit better understand the inner workings of distributed databases in complex, geographically diverse systems. We were able to apply our expertise to ensure error-free deployment, updates and maintenance of enterprise-grade video conferencing software used by thousands of people daily.