What is Elastic Beanstalk?
AWS Elastic Beanstalk is a managed service for deploying and scaling web applications and services on AWS.
Deployment model
Elastic Beanstalk provides a container-centric view of deploying an application on AWS.
Key idea
- You upload your application code, and Elastic Beanstalk handles the deployment and much of the surrounding infrastructure management.
Note
Elastic Beanstalk sits in between fully manual infrastructure management and more opinionated platform services. It gives you automation, while still letting you configure the underlying AWS resources.
Managed service features
Elastic Beanstalk automates many operational tasks involved in running an application.
Managed for you
- Capacity provisioning
- Load balancing
- Auto Scaling
- Application health monitoring
- Instance configuration
- Deployment orchestration
Your responsibility
- Your main responsibility is your application code
- You can still customise the environment configuration when needed
Important
A common exam point is that Elastic Beanstalk is a managed service, but it is not serverless. The underlying infrastructure still exists and can still be configured.
Control and flexibility
Elastic Beanstalk reduces operational overhead without removing control completely.
- Elastic Beanstalk creates and manages AWS resources on your behalf
- You still retain visibility and control over the resources in the environment
- It is useful when you want easier deployment without managing every step manually
Pricing
There is no additional charge for Elastic Beanstalk itself.
- Elastic Beanstalk is free as a service
- You still pay for the underlying AWS resources used by your application
- These may include resources such as EC2 instances, load balancers, and S3 buckets
Tip
For pricing questions, remember: you are not billed for Elastic Beanstalk directly, only for the AWS resources it provisions and uses.