Migrated a monolith to a 17-microservice Kubernetes cluster across 3 AWS regions with zero-downtime deploys and 40% cost reduction.
An enterprise SaaS company running a 6-year-old Rails monolith on EC2 was hitting scaling limits. Single-region deployments caused 40-minute downtime windows. Their AWS bill was $42k/month with poor resource utilization. They needed a migration path that didn't stop feature delivery.
Strangler fig pattern: extract services one at a time behind a gateway proxy, test in parallel with the monolith, then cut over. 20-week engagement delivered all 17 target services with full IaC (Terraform), GitOps-based deployments (ArgoCD), and comprehensive observability (Prometheus + Grafana + Loki).
AWS bill dropped to $25k/month (-40%). Zero-downtime deploys from the 8th week onward. P95 API latency improved by 34% due to horizontal scaling and right-sizing. Full multi-region active-passive failover implemented.
TECHNICAL DEPTH
We wrapped the monolith behind an nginx gateway and extracted services in dependency order. Each new service ran in shadow mode alongside the monolith for 1 sprint before traffic was switched. This gave the client team confidence and eliminated big-bang migration risk.
All Kubernetes manifests live in a dedicated GitOps repository. ArgoCD polls for changes and applies them to the cluster. Rollbacks are a git revert. Every deploy is auditable by commit SHA. Canary releases use Argo Rollouts with automatic metric-based promotion gates.
Prometheus scrapes all services via pod annotations. Grafana dashboards per service with RED metrics (Rate, Errors, Duration). Loki aggregates structured JSON logs. PagerDuty integration fires alerts on error rate spikes or latency SLO breaches.