Posts
The two-minute deploy
When I joined, a production deploy took about twenty minutes and a small knot of anxiety. People deployed less often because it hurt, which meant each release carried more change, which made each release riskier. A classic doom loop.
We didn’t fix it with one heroic rewrite. We fixed it with a dozen unremarkable improvements:
- Cached dependencies so builds stopped starting from zero.
- Parallelised the test suite and deleted the tests that tested nothing.
- Moved to immutable images so rollbacks were a pointer swap, not a rebuild.
Boring on purpose
The goal was never “fast” for its own sake. It was boring — deploys so unremarkable that people stopped scheduling them for quiet Friday afternoons and just shipped when the work was ready.
Two minutes, many times a day, with a rollback that takes seconds. The best infrastructure is the kind you forget is there.