Case: Cloubi
Our client Cloubi, which is a part of Otava Publishing Group, requested for a Proof Of Concept (PoC) implementation, in which a containerised cloud-based orchestration of Cloubi software was upgraded to run on Kubernetes. The goal was to achieve high availability, auto scalability, auto failover, upgrade without downtime, on-demand environments, and other Site Reliability Engineering (SRE) best practices.
Using Helm for Kubernetes
Cloubi’s orchestration was carried out in Kubernetes via Helm manifests, which allowed for flexible parameterization. Cloubi’s components were organized in Helm subcharts, which were then collected in a main chart to create the full deployment. ChartMuseum handled the version control of these charts, and it also served them for deployments. The main Helm chart was controlled via use casefiles, which allowed the same versioned Helm chart to deploy to different environments, or to duplicate them.
The existing Kubernetes cluster ran on a local machine where most of the development took place and will continue to do so. The actual product and its test environments ran on AWS EKS which was controlled using eksctl. The modular way of organizing Helm charts made it easy to support these different runtime environments.
Documentation to Support Further Decision-making
NorthCode produced documentation to a point where it could be used by anyone from Cloubi. The documentation also included ideas on how to commercialise PoC and the changes it may require, both for the product itself and for the functions that support it. A mutual agreement was made between Cloubi and NorthCode to end the PoC at a point where Cloubi had enough information to decide how they wanted to continue with the project.
Obtained Value for the Client
Most of the load to Cloubi’s software came during the office hours. The new implementation scaled in and out automatically according to usage, saving infrastructure costs during the off-hours.
In addition, updates without downtime and automatic failover improved the product stability to keep the end customers happy.
Cloubi’s future goal is to offer software developers on-demand review environments for pull requests. This and much more will become possible when the PoC is commercialised and Cloubi’s Kubernetes-based software is released to serve the end clients.
Working Together with a Cloubi Specialist
The PoC was carried out largely through pair work between NorthCode and Cloubi. This was to ensure that the gained knowhow remained with the client for future commercialisation, as well as to leave maintenance responsibilities internally at Cloubi. This particular way of working proved to be very successful keeping the end result in line with Cloubi's software architecture, propelling its development into the future.