Who is Curve?
Founded in 2015, Curve is a financial services company that offers an integrated online banking platform for all of Europe. In an increasingly connected world, money is still a mess. Curve solves this problem with its mission to build a simpler, smarter, connected world of money. Over 1.3 million customers use all their accounts through a single Curve card, simplifying their finances by pairing it with a smart, secure mobile application.
The site reliability team, known in Curve as the Platform team, are responsible for ensuring that all of their services are secure and available for customers 24/7/365. All card transactions and traffic from the Curve application passes through the platform that the site reliability team is responsible for. In total the platform has processed over 1.6 billion in transactions.
Curve engineers were using Jenkins to deploy to Kubernetes but they needed an accurate, auditable, and historical view of all of their Kubernetes environments. They loved the idea of using Git, a familiar and secure software built for and trusted by developers due to its strong process of correctness. As a result, they started researching GitOps as a potential solution.
“GitOps feels like the right way to manage Kubernetes clusters. Other pre-containerization CI/CD tools are flakey, fragile and take up valuable time - engineers should focus on solving code problems, and not on the deployment process.” - Garry Wilson, Site Reliability Team Lead
Comply with strict regulations
As a company dealing with credit card information, Curve is monitored under strict PCI compliance requirements. Those rules govern who can make changes to their systems. Curve needed to implement transparency and auditability at all levels of their platform to ensure that they could provide a full audit trail including logging when required.
Mitigate security risks
Being a financial institution, Curve takes security very seriously. They wanted to protect against the risk of external attackers getting access to their environments. It was important to find an in-house solution that could deploy tools and applications, and that also adhered to their strict security requirements.
"The other main challenge we had prior to GitOps is that we had no accurate and current list of what was running in all of our environments. We want to be confident that we can recover all of our services to the exact same state if a major incident causes us to lose an environment." - Garry Wilson, Site Reliability Team Lead
Kubernetes operations too complex
The team needed to automate configuration file updates. If changes were required to any Kubernetes cluster, the Curve engineers had to manually update the YAML files themselves. This not only requires a good knowledge and understanding of Kubernetes across the team, but it also took time since changes with a manual approach can be error prone.
Download the case study to learn more about how Curve solved all of their challenges using GitOps, and how they have improved deployment frequency, cadence and MTTR.