Deployment Strategies: Why They Exist
- date
- category
- CI/CD
- also in
- Reliability Engineering
- reading
- 1 min / 280 words
The simplest deployment once looked like this:
stop the old version
put the new version in place
start it
That works if the application can disappear for a while.
It stops working when the system serves traffic all the time, has multiple instances, queues, a database, mobile clients, and users who do not know that a "deployment window" is happening.
Deployment strategies exist for one reason:
changing a version is risk
Different strategies control different parts of that risk.
Build, release, and deploy are not the same
It helps to split three words.
build
an artifact is created
deploy
the artifact reaches an environment
release
users receive new behavior
In a simple world, all three happen together.
In a larger system, separating them gives control.
You can deploy code without enabling a feature.
You can send only a small part of traffic to a new version.
You can keep two environments ready and switch routing.
You can copy traffic to a new version without showing its response to the user.
What this series covers
This series does not start with Argo Rollouts, Flagger, or a cloud product.
First, the mechanisms need names.
Rolling update replaces instances gradually.
Blue-green keeps two versions and switches traffic.
Canary gives the new version a small percentage of real traffic.
Targeted rollout chooses specific users, rings, or segments.
Feature flags separate deploy from release.
Shadow traffic tests a new version with copied traffic.
Each article follows the same shape:
why it appeared
what it really means
minimal example
where it works
where the name lies
Minimal stack
The examples stay as small as possible.
The base is Kubernetes:
Deployment
Service
readinessProbe
Gateway API HTTPRoute
ConfigMap or env var
Not because every organization must deploy this way.
Because these primitives make the mechanism visible.
If you understand the mechanism, the tool is only an implementation.
If you do not understand the mechanism, the tool gives you a nicer panel for the same mistake.
We start with the strategy Kubernetes gives you by default: rolling update.