About the Project

LMS Collaborator is a learning management system for corporate onboarding, development, and assessment with flexible integration abilities. It's an e-learning platform for training and certification of personnel, internal communications, and data analysis.

The company stored its application on Hetzner servers. Later, with an instanced approach available on the datacenter, we moved from bare-metal to instances on Hetzner.

Goals of the Project

Ability to automate horizontal scaling

Highly available and fault-tolerant infrastructure

Challenge

The application was implemented on mare-metal Hetzner servers that grew to be an issue with the growth of popularity for e-learning solutions. Since the platform's amount of traffic expanded, the maintenance cost and the need for horizontal scaling arose too.

Solution

Implementation of Kubernetes became the solution that covered all needs of the client. Later with instances available on Hetzner servers, we launched the Kubernetes-based application on top of the instances.

Kubernetes implementation

The Kubernetes-based application allowed us to implement an autoscaling solution that prevented the infrastructure from failing at high traffic due to the load balancing.

Also, it ensured fault tolerance for better availability and, therefore, a positive user experience.

Instance-based infrastructure

With an instanced approach available on Hatzner, we were able to make the system repetitive. It means that scaling the application required much less time and only one utility.

Monitoring and alerting system

The current monitoring solution is based on Prometheus and Grafana for virtualization as the most efficient combination for monitoring and alerting among modern DevOps practices.

Centralized logging system

The new logging system for the application was based on Locky, unlike the previous one on ELK Stack, to be centralized for better manageability. Despite being more comfortable in use, it is lightweight. Changing ELK to Locky made instances smaller, therefore, boosted the application performance and allowed us to reduce expenses on infrastructure maintenance.

Database

To ensure clocklike work for the application, we used two types of databases: MySQL DB and Elasticsearch for fast data navigation. Later we implemented ClickHouse, the latest database technology, for quick data computing.

A cluster database improved application availability since the solution protected nodes from failing when one of them went down. So if one of the nodes fails, data would be protected.

Backup system

We backup Elasticsearch and ClickHouse. The backup system was updated with a policy that deletes unnecessary or old backups that save space and money. This allowed the system to perform faster and more efficiently.

Cost reduction

Two factors ensured infrastructure maintenance cost reduction:

The system automatically deletes unnecessary backups;

The infrastructure uses only the resources it needs, no less due to the implemented auto-scaling solution.

Project Results
During our collaboration, we have accomplished hundreds of tasks and consequently made significant changes to the LMS Collaborator infrastructure.
The Kubernetes cluster implemented in the LMS Collaborator infrastructure enabled three main characteristics that every system must have to be competitive:
Highly available infrastructure
Boosted fault tolerance
Easily scalable infrastructure
Technologies we use
Clients' Feedback
Oleksandr Slubsky
CTO&Co-founder at LMS Collaborator

Our team is impressed by the job quality and professional skills level of the engineers at OpsWorks Col. These guys are known to do their job pretty good!

Oleksandr Slubsky
CTO&Co-founder at LMS Collaborator

Our team is impressed by the job quality and professional skills level of the engineers at OpsWorks Col. These guys are known to do their job pretty good!

Oleksandr Slubsky
CTO&Co-founder at LMS Collaborator

Our team is impressed by the job quality and professional skills level of the engineers at OpsWorks Col. These guys are known to do their job pretty good!