Elastic Beanstalk
Elastic Beanstalk
3 Architecture Model
Elastic Beanstalk
Deployment modes for Updates
Elastic Beanstalk
Deployment Mode: All-at-Once
‣ Deploy the new to all instances all at once
‣ Fastest, but instances aren’t available to serve traffic
‣ No additional costs
‣ Yes Downtime
Elastic Beanstalk
Deployment Mode: Rolling
‣ Deploy new version in batches ‣ Application is running below capacity ‣ Update a few instances at a time (bucket), and then move onto the next bucket once the first bucket is healthy ‣ No additional costs ‣ Long deployments ‣ NO downtime
Elastic Beanstalk
Rolling with additional Batch
‣ Deploy new version in batches but first launch new batch of instances
‣ Like rolling but spines up new instances to move the batch (so that the old application is still available)
‣ Application is running at capacity
‣ Application is running both version simultaneously
‣ Additional batch is removed at the end of the deployment
‣ Longer deployment
‣ Good for production
‣ NO downtime
Elastic Beanstalk
Deployment Mode: Immutable
‣ Deploy new version to a fresh group ‣ Spins up new instances in a new ASG, deploys version to these instances and then swaps all the instances when everything is healthy ‣ Zero downtime ‣ High cost, double the capacity ‣ Longest deployment ‣ Quick rollback in case of failures; just terminate the new ASG ‣ Great for production ‣ NO downtime
Beanstalk Lifecycle Policy
Elastic Beanstalk Extensions
Beanstalk & CloudFormation
Elastic Beanstalk Cloning