Progressive delivery
Your Deployment Succeeded. Your Customers Weren’t So Lucky.
What evidence should justify exposing more customers to a new release?
Systems. Stories. Second thoughts.
Complex systems.
Human consequences.
Let’s open them up.
Choose how much traffic reaches the new release. Then introduce a fault to compare the effect on customers.
0 / 1,000
requests fail in this model
The release is healthy. Move the slider, then introduce a fault.
This model calculates expected failures rather than simulating individual requests. There are 1,000 requests and none fail on the stable release. When you introduce a fault, 20% of requests sent to the new release fail. Failed requests = 1,000 × share of traffic sent to the new release × 20%. For 10% exposure, that share is 0.1. The twenty figures show how much of the audience reaches each release. They don’t count failed requests.
Real traffic varies. A second attempt at a failed request, a dependency used by both releases or a small group of unusually busy customers could change the result. A small test can also miss rare failures. Before sending more traffic to a release, you need evidence that reflects how customers use it and time to observe problems. This experiment doesn’t tell you when it’s safe to proceed.
The stories
Start with the decisions behind a release.
One complete story. More on the workbench.
Progressive delivery
What evidence should justify exposing more customers to a new release?
Application lifecycle
What happens to customers and unfinished work when infrastructure decides an application should stop?
Health checks
When is restarting an application genuinely the correct response to a failure?
Autoscaling
What are we actually trying to protect or improve when we scale a system?
Cloud resilience
How much resilience does a business need and what should it pay for?
The first story is ready to explore. The remaining stories are on the workbench.
The person behind the pages
I’m Gareth Hunt (Gaz), a platform engineer. I spend my time thinking about how systems behave, how they break and what our decisions mean for the people using them.
GazOps is where I explore those questions through small worlds you can interact with. There’s room for the awkward details too.