Elastic Beanstalk
Owner | |
---|---|
Verification | |
Tags | |
Last edited time |
A tool to re-deploy applications from on premises to cloud and your ECS containers
The service will deploy all components (EC2,Route53,RDS) by analyzing code in:
Go, Java, Tomcat, .Net, Python,PHP
Environments
Web Server: short tasks
Worker Environment - for long tasks - to decoupling (video processing..)
Blue (old) / Green (new) Deployment to minimize down time - have 2 environments with DNS swap
Deployment types
All at once – Elastic Beanstalk deploys new app version to each instance.
Rolling – Avoids downtime & minimizes reduced availability with a longer deployment time.
Suitable if no lost service is acceptable. Deploy to environment in batches of instances.
Rolling with additional batch Avoids reduced availability but takes longer to deploy than Rolling. Suitable if bandwidth must stay the same. Launches extra instances, then does rolling deployment.
Immutable – Slower deployment ensures new app version deployed to new instances, with quick & safe rollback if needed.
Traffic splitting – Canary testing deployment - test health of new application version using a portion of incoming traffic, while keeping remaining traffic served by old version.
Failover
Perform a blue/green deployment with AWS Elastic Beanstalk to minimize downtime when updating application versions. Swapping CNAMEs of the two environments redirects traffic to the new version instantly. This provides two independent environments with quick switch of URLs by swapping.