Cloud migration for a fintech platform
Moved 14 services from bare metal to Kubernetes. Zero downtime. Deployment time dropped from 4 hours to 12 minutes.
Context
A fintech company processing thousands of daily transactions ran their entire platform on bare-metal servers in a single data centre. Deployments were manual, took four hours of coordinated effort, and required a maintenance window every time.
The team had grown from 3 to 25 engineers. The infrastructure hadn’t kept pace.
Challenge
Migrate 14 interconnected services to Kubernetes without disrupting active transaction processing. The system couldn’t afford downtime — real money moved through it every minute.
The existing services had no containerisation, no infrastructure-as-code, and inconsistent configuration across environments.
Approach
We worked in three phases:
Phase 1 — Containerise and standardise. Each service got a Dockerfile, health checks, and environment-based configuration. We built a staging cluster that mirrored production topology.
Phase 2 — Parallel run. Services ran simultaneously on bare metal and Kubernetes. Traffic gradually shifted using weighted routing. Each service was validated independently before the next moved.
Phase 3 — Cut over and decommission. Once all services ran stable on Kubernetes for two weeks, we decommissioned the bare-metal servers and handed over runbooks to the team.
Outcome
- Deployment time dropped from 4 hours to 12 minutes
- Zero downtime during the entire migration
- Infrastructure costs reduced by 35% through right-sizing
- Team ships independently — no more coordinated deployment windows
- Full infrastructure defined in Terraform, versioned and repeatable
Technologies
Kubernetes (AWS EKS), Terraform, ArgoCD for GitOps deployments, PostgreSQL, Redis, Datadog for observability.