Skip to main content
E-commerce · 2025

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.

DevOpsCloudA direct-to-consumer retail brand · named under NDA
  • 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.

The challenge

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.

Our approach

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.

  1. 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.

  2. 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.

  3. 03

    Adopt GitOps for deployment

    Argo CD reconciles cluster state from Git, which made rollback a revert commit rather than a rescue operation.

  4. 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.

  5. 05

    Autoscale for the season

    Horizontal autoscaling tied to request rate removed the pre-sale capacity guessing exercise entirely.

The results

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.
VP of Technology · D2C retail brand

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.