A CI/CD Case Study
A great example of CI/CD maturity in action is a client within the Ekco group that provides an application for the finance space, enabling communication and collaboration among stakeholders involved in the insolvency process. Their flagship legacy product was a monolithic SQL-based Windows application that was hosted on-prem and consumed over a local network. The company realised that in order to maintain their competitive edge, they would need to offer more flexible delivery options, as well as accelerate their time to new features.
Initially, they turned to Ekco brand Cloudhelix to provide a temporary pre-modernisation solution while the client rebuilt the application from the ground up as a cloud-native web app. Ekco implemented a simple and reliable solution that used VMware Horizon to stream the legacy application from the data centre to the user’s desktop, where it ran on a thin client or web browser. Once the client had built a modern application, they found the deployment process unwieldy, limiting their ability to iterate quickly. Cloudhelix were asked to create a CI/CD pipeline to streamline their deployment workflows.
The solution distilled the application installation process down to a single, exportable .WAR file that contained all the required app components. The exported file is run on a custom container created by Cloudhelix that’s hosted in a Kubernetes cluster. The Kubernetes hosting architecture ensures non-disruptive deployments, using methodologies like Canary and Blue-Green to eliminate most deployment-related downtime.
Ekco wrapped up all the steps of the automated deployment process in an end-to-end GitLab pipeline. This mature, repeatable CI/CD process allows the company’s geographically dispersed developers to push code and provide new features to its clients with zero downtime.
Using Kubernetes also means that their cloud product can be run reliably in any environment, from private cloud to public cloud and even bare-metal.