✓ Infrastructure cost down 62% ($9.4k → $3.6k/mo)
✓ p99 latency cut from 840ms to 210ms
✓ Deploys went from ~40 minutes to ~4
Before → after
| Metric | Before | After |
|---|---|---|
| Monthly infrastructure cost | $9,400 | $3,570 |
| p99 latency | 840ms | 210ms |
| Deploy time | ~40 min | ~4 min |
A SaaS company ran its API on a handful of always-on VMs. They paid for idle capacity 24/7, scaled by hand during traffic spikes, and shipped through a slow manual pipeline.
The challenge
- VMs were sized for peak load but mostly idle, pure waste.
- Traffic spikes caused 4am pages and manual instance bumps.
- Slow, risky deploys meant the team shipped once a week at best.
- No autoscaling, limited observability, tribal ops knowledge.
What we built
- Containerization packaged each service into Docker with health checks and env config.
- Cloud Run migration moved workloads to serverless containers with automatic scale-to-zero.
- CI/CD rebuilt deploys with Cloud Build so every merge ships in minutes.
- Observability wired Cloud Monitoring dashboards, alerts, and SLOs.
- Infra as code codified everything in Terraform so the environment is reproducible.
The results
Infrastructure cost dropped 62%, from $9,400 to $3,570 a month, because they stopped paying for idle VMs. p99 latency fell from 840ms to 210ms, and deploys went from ~40 minutes to ~4, so the team ships multiple times a day.
The takeaway
“Scale with demand” beats “size for peak.” Serverless turns a fixed cost into a variable one and removes the ops burden of capacity planning entirely.
Stack Cloud RunCompute EngineDockerCloud BuildTerraform