AWS Elastic Beanstalk
Learn how Elastic Beanstalk lets you deploy web applications by uploading code — while AWS handles provisioning, scaling, and monitoring.
Learning outcomes
By the end of this lesson, you will be able to:
- Explain what AWS Elastic Beanstalk does.
- List the platforms Beanstalk supports.
- Compare Beanstalk with EC2, Lambda, Lightsail, and Fargate.
- Identify when Beanstalk is the right choice.
What Elastic Beanstalk does
AWS Elastic Beanstalk is a Platform as a Service (PaaS). You upload your application code, and Beanstalk automatically handles:
- Provisioning — creates EC2 instances, load balancers, and other resources
- Deployment — deploys your code to the provisioned infrastructure
- Scaling — configures Auto Scaling based on demand
- Monitoring — integrates with CloudWatch for health checks and metrics
- Patching — applies platform updates and OS patches
Tip
Key point: Beanstalk is not a separate compute service — it orchestrates existing AWS services (EC2, ELB, Auto Scaling, CloudWatch) on your behalf. You still have full access to the underlying resources if you need them.
Supported platforms
Beanstalk supports a wide range of languages and runtime platforms:
- Java (Tomcat, Corretto)
- .NET (on Windows Server or Linux)
- Node.js
- Python
- Ruby
- PHP
- Go
- Docker (single container or multi-container)
If your language is not natively supported, you can use a Docker platform to run any runtime.
Beanstalk vs other compute options
| Feature | Elastic Beanstalk | EC2 | Lambda | Lightsail | Fargate |
|---|---|---|---|---|---|
| Type | PaaS | IaaS | Serverless | Simplified VPS | Serverless containers |
| You manage | Application code | Everything (OS, patching, scaling) | Function code only | Basic server config | Container definitions |
| Scaling | Automatic (configurable) | Manual or Auto Scaling setup | Automatic per request | Manual | Automatic per task |
| Access to servers | Yes (optional) | Yes (full control) | No | Yes (limited) | No |
| Best for | Web apps, APIs needing managed infra | Full control workloads | Event-driven, short tasks | Simple sites, beginners | Containerized services |
| Pricing | Pay for underlying resources only | Pay for instances | Pay per invocation | Fixed monthly plans | Pay per vCPU/memory/sec |
Note
No extra charge for Beanstalk itself. You only pay for the underlying AWS resources it creates (EC2 instances, load balancers, etc.).
When to pick Beanstalk
Beanstalk is a good fit when:
- You have a web application or API (Node.js, Python, Java, .NET, etc.)
- You want AWS to manage the infrastructure (provisioning, scaling, patching)
- You still want access to the underlying resources if needed
- You do not need container orchestration (use ECS/Fargate for that)
- You do not need serverless event-driven architecture (use Lambda for that)
Think of Beanstalk as the middle ground:
- More managed than EC2 (you don't set up everything from scratch)
- Less abstract than Lambda (you still have servers, just managed ones)
Micro-activity: Match the Compute Service
Match each compute service to its model
Examples
Choose one, then match it on the right
Characteristics
Select an example first
0 of 5 matched so far.