Guide

A deploy puts new bits on servers. For a container platform, that means registering a new revision or updating a Deployment's image. A release makes those bits serve behaviour that users can see. The two events can happen at different times, and treating them as one event is how risky launches happen.

Concept

Progressive delivery changes production in small, observed steps. Those steps can be a percentage of traffic, a cohort of users or one host at a time. The system halts or rolls back automatically when the signals look wrong. Canaries and flags are the usual tools.

Walking through the levers

Each lever controls something different, and each one rolls back in its own way.

MechanismWhat it controlsHow it rolls back
New deployment or revisionWhich binary runsRedeploy the previous artifact
Traffic split (load balancer, mesh, ingress)Which copy of the binary each request reachesShift the weight back
Feature flagWhich code path runs inside a binaryTurn the flag off
Config or secret changeRuntime settingsRevert the config version

A safe sequence looks like this. Deploy the new code with its flag off. Check process health and error rates, which should not change. Turn the flag on for 1% of users. If the signals stay green, widen it. A broken flag is switched off in seconds. The deploy itself was never user-visible.

Flags and traffic are different tools

Use flags for behaviour, and traffic shifts for binary risk. A flag cannot fix a binary that crashes on start. The crash happens before any code path is chosen, so only a revision or traffic rollback helps. For high-stakes changes, use both.

Common mistakes

  • Treating a deploy as a launch. Every merge then becomes a big event.
  • Using a flag for a crashing binary. The flag is never reached.
  • Deleting the old revision too early. Then there is nothing to roll back to.

Check yourself

  1. A new build crashes at startup, and its flag is off. Can the flag fix it? Answer: No. The crash happens before any code path is chosen, so you need a revision or traffic rollback.
  2. What does a traffic split control? Answer: Which copy of the binary each request reaches. Rolling back means shifting the weight to the old copy.

Key takeaways

  • A deploy puts bits on servers. A release changes what users see.
  • Flags control behaviour inside a binary. Traffic splits control which binary serves.
  • Use both for high-stakes changes, and keep the previous revision until the new one is proven.

Further learning

Next, see the main ways to shift traffic from one version to another: rollout strategies.