How Northstar Systems cut deploy time by 80%
A payments team moved 40 services off hand-built VMs in one weekend and now ships to production more than a dozen times a day.
Results
Six months after the move
- Faster deploys
- %
- From a 45-minute release train to 9 minutes, push to live.
- Deploys a day
- Up from two scheduled releases a week.
- API uptime
- %
- Across the payments API since launch.
- Migration
- days
- 40 services moved over a single weekend.
The challenge
Northstar Systems processes card payments for online merchants across Europe. Its platform had grown to 40 services running on virtual machines that a two-person ops team configured by hand.
Every release went out on a Tuesday or Thursday train. A deploy took most of an afternoon, needed a maintenance window for database changes, and blocked other teams while it ran. Engineers batched changes to avoid the overhead, so each release carried more risk than the last.
The solution
The team described its services, private network, and environment variables in one cloud.yaml file and linked the repository with the CLI. A staging copy of the stack ran in parallel for two weeks while they compared latency and error rates.
services:
- name: payments-api
type: web
healthCheckPath: /healthz
scaling: { minInstances: 3, maxInstances: 12 }
- name: ledger-worker
type: workerOn cut-over weekend they switched DNS service by service. Zero-downtime deploys meant the payments API never dropped a request, and private networking kept the ledger database off the public internet.
The results
Releases now go out on every merge to main. Health checks gate each deploy, and a failed check rolls back automatically, so engineers stopped batching work. The ops team moved on to fraud tooling instead of patching servers.
“We moved our whole platform in a weekend. Deploys that used to take an afternoon now finish before the coffee does, and our small team finally ships every day.”