Case Study:
Building Kubertnetes architecture for Slovensko.Digital

Learn more

Since 2016, the civic association Slovensko.Digital has been guarding the quality of digital government services in Slovakia. Slovensko.Digital and its team of programmers want to focus on the writing of application code and not on server management, which is why they trust us at Bonet Systems for the quality of cloud solutions for their services.

Challenge:
Expanding a single Linux server

At the time when the people from Slovensko.Digital approached us, they already had experience with running Docker containers, which we like to use in our solutions. They were using Platform-as-a-Service (PaaS) – Dokku for their services, which allowed them to easily deploy applications into production.

However, production was running on a single Linux server that was no longer able to keep up with the team’s growing demands. With each new application, the Linux server resources had to be increased (vertical scaling).
At Bonet Systems, we advocate horizontal scaling – instead of increasing the resources of a single server, we spread the workload across multiple servers. Although horizontal scaling increases the complexity of the solution, a more scalable environment allows you to allocate resources without downtime.

Solution:
Kubernetes clusters and CI/CD pipelines

The original deployment process in Slovensko.Digital was very simple and programmer-friendly – it consisted of uploading changes to a git repository. As we wanted to keep this process as simple as possible, we decided to build a Kubernetes cluster and deploy using CI/CD pipelines. While there is a Dokku scheduler for Kubernetes that would change nothing for programmers, it was limiting in several ways for our use case. So we turned to the capabilities of the Gitlab software.

In the new environment, the application automatically builds itself into a Docker container. After that, the application can be scanned for possible leakage of passwords and other sensitive data. The gitlab itself also acts as a private registry for the docker image. A Helm diagram is created for the docker image thanks to the pipeline, which describes the resources required for the application in a Kubernetes environment. New versions of applications are checked against the Helm. A new version is only deployed if it passes the health check. If there are problems that were not detected automatically, the application can be quickly rolled back to its original state.

The new solution includes not only a production environment, but also a test environment. The test environment allows the Slovensko.Digital team to properly test their application before deploying it into production. Database migrations are automatically triggered on each deployment, and let’s encrypt certificates are finally truly automatic in Kubernetes.

Thanks to Bonet Systems and Kubernetes, Slovensko.Digital now has the ability to quickly and easily add compute resources as needed. When resources need to be added, we simply add another Kubernetes node server – without any downtime or complex setup. The implemented solution has increased the availability of all Slovensko.Digital services. If a node server goes down (and downtime can never be completely avoided), the containers that were running on it are automatically started on the other servers in the cluster.

Result:
Increased efficiency, scalability and cost savings

We designed and implemented a solution tailored to Slovensko.Digital’s needs, with a focus on solving their operational problems. The new solution is more efficient, more scalable and saves costs at the same time. Resources are used almost 100% and additional resources are only added when really needed.

Although both Slovensko.Digital and we still have some challenges ahead with these new technologies, we believe that the transition to the new robust solution can be considered a success for both our teams that will be repeated many times in the future.

Bonet not only built us a new infrastructure on k8s, but also a CI/CD pipeline that allows us to easily deploy our products and services. They go above and beyond to support us and make us sleep better.

Ján Suchal

Professional Anarchist at Slovensko.Digital, CEO

We take care of your systems operation

If you are considering which option would be the most suitable for your company, please contact our colleagues who will be happy to help you find the most suitable solution.

If you have additional questions about how monitoring works or other features, please leave us a phone number and we will contact you shortly.

This field is for validation purposes and should be left unchanged.