From monthly releases to twelve a week for a D2C retailer
Releases were manual, monthly and feared. Twelve weeks of DevOps work made deployment a routine, reversible event.
1/month to 12/week
Deployment frequency
Measured over the quarter following handover.
3 weeks to 2 days
Lead time for change
From merged pull request to production.
-72%
Change failure rate
Quality gates catch regressions before promotion.
4h to 9 min
Mean time to recovery
Rollback is now a single revert commit.
What was actually going wrong
- Industry
- E-commerce
- Services
- DevOps, Cloud
- Technologies
- GitHub ActionsDockerKubernetesTerraformArgo CDGrafana
- 1
Deployment was a four-hour manual runbook executed by one engineer on a Saturday night.
- 2
Infrastructure had been created by hand in the console, so staging and production had quietly diverged.
- 3
There was no rollback path; a bad release meant a forward fix under pressure.
- 4
Peak-season traffic required guessing capacity a week in advance.
What we did, and why in that order
Sequence mattered here as much as the individual decisions. Each step below made the next one safe.
- 01
Codify what already existed
We imported the live infrastructure into Terraform before changing anything, which surfaced the drift between staging and production as a diff rather than as an incident.
- 02
Build the pipeline around quality gates
GitHub Actions runs build, unit and integration tests, dependency and image scanning, then promotes the same artefact through environments.
- 03
Adopt GitOps for deployment
Argo CD reconciles cluster state from Git, which made rollback a revert commit rather than a rescue operation.
- 04
Instrument against user-visible symptoms
SLOs were defined on checkout success rate and page latency, so alerts now fire when customers are affected rather than when a CPU graph is high.
- 05
Autoscale for the season
Horizontal autoscaling tied to request rate removed the pre-sale capacity guessing exercise entirely.
What changed, measured
Each figure below was measured after the engagement, not projected during it.
12x
increase in deployment frequency
Deployment frequency
Measured over the quarter following handover.
1/month to 12/week
Lead time for change
From merged pull request to production.
3 weeks to 2 days
Change failure rate
Quality gates catch regressions before promotion.
-72%
Mean time to recovery
Rollback is now a single revert commit.
4h to 9 min
PLACEHOLDER: client quote pending written approval. We used to plan releases around weekends. Now nobody notices them.
The capabilities behind this engagement
Facing something similar?
We will tell you what we would repeat from this engagement, what we would change, and what it is likely to take.