– 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