Elastic Beanstalk is an application to run your services and scale them on AWS.
Under the covers, it simply running your code on EC2 instances.
But advantage of Beanstalk is that it add more features.
Drawbacks of deployment of an application on EC2:
- Manual configuration.
- Manual code deployment.
- Restricted command line interface.
- Scale with AMIs.
- Manual Monitoring.
All the scenarios mentioned above are automatically managed by Beanstalk.
You can deploy your different versions of your application on test and production environment separately on different instances.
Application version are stored in S3
One application can have maximum of 500 versions maximum though it can be increased by paying extra.
Elastic Beanstalk also has a monitoring dashboard where you can check the metrics for your application like CPU utilisation, number of requests, network traffic etc.
You can also easily pull out logs via elastic Beanstalk logs dashboard.
- It is a free service from Amazon AWS.
- You will only pay for EC2 instances, load balancing, S3 buckets separately.