– All at once – Deploy the new version to all instances simultaneously. All instances in your environment are out of service for a short time while the deployment occurs.
– Rolling – Deploy the new version in batches. Each batch is taken out of service during the deployment phase, reducing your environment’s capacity by the number of instances in a batch.
– Rolling with additional batch – Deploy the new version in batches, but first launch a new batch of instances to ensure full capacity during the deployment process.
– Immutable – Deploy the new version to a fresh group of instances by performing an immutable update.
– Blue/Green – Deploy the new version to a separate environment, and then swap CNAMEs of the two environments to redirect traffic to the new version instantly.
|Method||Impact of Failed Deployment||Deploy Time||Zero Downtime||No DNS Change||Rollback Process||Code Deployed To|
|All at once||Downtime||1||No||Yes||Manual Redeploy||Existing Instances|
|Rolling||Single batch out of service; any successful batches before failure running new application version||2.5||Yes||Yes||Manual Redeploy||Existing Instances|
|Rolling with additional batch||Minimal if first batch fails; otherwise, similar to Rolling||3.5||Yes||Yes||Manual Redeploy||New and Existing Instances|
|Immutable||Minimal||4||Yes||Yes||Terminate New Instances||New Instances|
|Blue/green||Minimal||4||Yes||No||Swap URL||New Instances|