Automate and enable low-risk releases
Even with great tests, most teams deploy infrequently because deploys are manual, slow, painful, and involve a Dev/Ops handoff. Fix: make the deploy automated, repeatable, predictable, and self-service. Facebook normalized the practice; Etsy and CSG show the pattern in regular companies.
Facebook made code deployment part of every engineer's daily work by making it low-risk and automated. That requires deploys to be automated, repeatable, and predictable — and the same process across all environments. The handoff between Dev and Ops disappears.
Dev, test, prod — same mechanism. Prod deploy has already been rehearsed dozens of times earlier in the pipeline.
After deploy, verify connection to DBs, message buses, external services. Run a real transaction. On failure, fail the deploy.
Single-step env builds (Module 04). Re-validate sync continuously, not at release time.
Either Dev or Ops can promote code, ideally without any manual steps or handoffs. Three capabilities make this possible:
Pipeline creates a packaged artifact from version control. Same artifact deployable to any environment.
Anyone can run any or all of the automated test suites — locally or against test infrastructure.
Anyone with access can deploy by running scripts checked into version control. Even prod, where authorized.
Containers and modern orchestrators mean the most complex deploys can complete in seconds to minutes. The "deploy code" button is real — once you build the substrate behind it.
Telecom billing platform → daily deploys to production. Demonstrated that even a regulated, legacy-heavy enterprise can ship daily once the pipeline + env discipline is in place. Stopped treating release day as an event.
download Case study · PDF ~560 KBEvery Etsy engineer could deploy to production on their first day. The first commit most new hires made was a one-line web change they then deployed themselves — immediate ownership, immediate confidence in the safety net.
download Case study · PDF ~480 KBForsgren et al's State of DevOps research (2019): elite performers deploy on-demand, multiple times a day, with lead time for changes under an hour, change-failure rates in single digits, and MTTR also under an hour. Low performers are 1000x+ slower on every dimension. The gap is not talent; it is the practices in Modules 04–06.
A team deploys nightly via a 90-step runbook executed by 2 ops engineers. Most failures happen at step 47 — a misconfigured connection string. What's the most leveraged fix?
// pick one to verify
An engineer says: "We can't let devs self-deploy — they'll break production." Is this argument correct?
// pick one to verify