From always-on VMs to serverless: 62% lower infra cost
✓ 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

  1. Containerization packaged each service into Docker with health checks and env config.
  2. Cloud Run migration moved workloads to serverless containers with automatic scale-to-zero.
  3. CI/CD rebuilt deploys with Cloud Build so every merge ships in minutes.
  4. Observability wired Cloud Monitoring dashboards, alerts, and SLOs.
  5. 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
Start a project like this ← All case studies