Architecture 3
A percentage rollout controls exposure. Progressive delivery adds a process for deciding whether exposure should expand.
The simplest rollout is manual
5%
↓
engineer checks dashboards
↓
25%
↓
engineer checks dashboards
↓
100%
This is already safer than an immediate global release, but the quality of the decision depends on what the engineer watches and how quickly a regression becomes obvious.
Observability closes the loop
A stronger model attaches feature state to telemetry:
variation A / variation B
│
▼
errors, latency, traces, RUM, business metrics
│
▼
compare health
│
▼
continue, pause, stop or roll back
Choose guardrails before the rollout
Teams should decide what would make a release unhealthy before seeing the result. Examples include error rate, p95 latency, checkout completion, dependency failures or another service level indicator.
A guardrail that is invented after the metric moves is easier to rationalize and harder to trust.
Technical and business health are different
A release can have perfect latency and still reduce conversion. It can improve conversion while creating unacceptable infrastructure cost. Mature progressive delivery can include both system and product metrics, with different tolerances and decision owners.
Automation needs statistical and operational humility
Automatic rollback sounds obviously better, but noisy metrics, low traffic and unrelated incidents can trigger false conclusions. Guardrails need suitable sample size, evaluation windows and exclusions.
Automation should reduce response time without pretending every metric movement has one cause.
Not every release needs a sophisticated canary
A low risk internal feature may be perfectly well served by a manual 10 percent rollout. The operational cost of sophisticated release analysis should match the blast radius of the change.
The architectural progression is therefore not “more automation is always better.” It is “use enough controlled exposure and evidence for the risk you are taking.”
Feature Flags series
← OpenFeature and Vendor Portability Feature Flags and Experimentation →