Elastic Beanstalk
AWS Elastic Beanstalk automatically handles tasks such as provisioning of the resources, load balancing, auto-scaling, monitoring, and placing the containers across the cluster
You still retain full control over AWS resources (EC2, ELB, RDS, ASG)
Best suited for simple web application and NOT micro services architecture (ECS is best suited)
Source bundle:
Consist of a single ZIP file or WAR file (you can include multiple WAR files inside your ZIP file)
Not exceed 512 MB
Not include a parent folder or top-level directory (subdirectories are fine)
cron.yaml : is used when you deploy a worker application that processes periodic background tasks
.ebextensions
Configuration files with a .config file extension are placed in a folder named .ebextensions
Deployment Policies
All at once:
Fastest deployment
No additional Cost
Complete outage , Needs downtime, all instances are taken down
Deploys the new version to all instances simultaneously
Rolling:
Update a few instances at a time (batch), and then move onto the next batch once the first batch is healthy
Each batch is taken out of service during the deployment phase
No additional Cost
Reduced capacity of instance which impacts application performance
Rolling with Additional batch
Additional new batch/set of instance are created, version deployed in stages
Immutable:
Total deployment of new instances
Higher cost, because you bring up equal number of new instances
https://blog.shikisoft.com/which_elastic_beanstalk_deployment_should_you_use/