Cinder
- Challenge
- 400,000 lines nobody dared change
- Outcome
- Six services extracted, zero downtime
- Client
- Ardent Logistics
- Services
- Legacy Modernisation + Cloud & DevOps
- Industry
- Logistics & Freight
- Year
- 2023
Cinder service topology after extraction
The challenge
Nine years of Rails, 400,000 lines, and a deploy that touched everything at once. Ardent could not hire fast enough to work around it and could not stop trading long enough to replace it.
The requirement we were given was the interesting part: no maintenance window. Ever. The system moves freight and freight does not wait.
Our approach
Strangler pattern, service by service, with every step behind a feature flag and every flag reversible in under a minute. Reads moved first and ran double for two weeks, so we could compare the old answer with the new one before trusting it.
We extracted six services over fourteen months. The monolith is still there, smaller, and now boring.
- Services extracted
- 6
- Maintenance windows
- 0
- p95 order latency
- −63%
- Duration
- 14 mo
“They moved half our system out from under us and our customers never noticed. That was the whole brief.”
- Engagement
- Discovery → Retainer, 14 months
- Approach
- Strangler fig, flag-gated, double-read verification
- Stack
- Ruby, Go, PostgreSQL, Kafka, OpenTelemetry
Gallery