Elastic Beanstalk is a PaaS layer: upload your Python or Node.js app; AWS provisions load balancer, Auto Scaling, and EC2 under the hood.
What Beanstalk handles
- Platform versions (Python 3.x, Node.js)
- Deployment strategies (rolling, immutable)
- Health dashboard and log streaming
- Environment variables and SSL termination options
Developer workflow
- Create application and environment
- Deploy zip or connect CI pipeline
- Monitor health; roll back bad releases
- SSH or view logs for debugging
Django apps can deploy via WSGI platform with proper requirements.txt and static file settings.
List environments
aws elasticbeanstalk describe-environments \
--query 'Environments[].{Name:EnvironmentName,Status:Status,Health:Health}' \
--output tablePractice: Launch resources in the EC2 Console or CLI only in a sandbox account. Use t2.micro or t3.micro where free tier applies; terminate when done.
Trade-off
Less control than raw EC2/Terraform; faster time-to-deploy for standard web stacks. Migrate to ECS/EKS when you need custom networking or sidecars.
Important interview questions and answers
- Q: Beanstalk vs EC2?
A: Beanstalk automates platform provisioning; EC2 gives full OS control and manual setup. - Q: Immutable deployment?
A: New instances launch with new version; old instances terminate after health checks pass.
Self-check
- What does Elastic Beanstalk automate for you?
- Name one reason to move from Beanstalk to ECS later.
Tip: Beanstalk is fastest path for Django/Node prototypes; migrate when you need custom VPC topology.
Interview prep
- Beanstalk value?
PaaS deploying web apps with managed ALB, EC2, and health monitoring.
- Immutable deploy?
New instances with new version replace old after health checks pass.