In a rolling deployment, we install the changes in waves or stages—a few machines at a time. The others continue running the stable version. This is the most straightforward way to do a canary deployment.
Rolling Deployment
Servers running the stable version
As soon as the canary is running on one server, a few users begin seeing the updates.
Rolling Deployment
Canary deployment begins
While this happens, we watch how the upgraded machines are doing. We check for errors and performance problems, and we listen for user feedback.
As we grow confident in the canary, we continue installing it on the rest of the machines, until they are all running the latest release.
Rolling Deployment
Canary deployment in progress
If we detect a failure or get disappointing results, we can undo the change by rolling back the upgraded servers to their initial state.