Skip to content
Latchkey

What Is Elastic Beanstalk? AWS Platform-as-a-Service

AWS Elastic Beanstalk is a platform-as-a-service: you upload your app and Beanstalk provisions and manages the EC2 instances, load balancer, and scaling under the hood.

Beanstalk is for teams that want to deploy a web app to AWS without wiring up EC2, load balancers, and auto-scaling by hand. You pick a platform (Node.js, Python, Java, Docker, and more), push your code, and Beanstalk builds the environment. You can still drop down to the underlying resources when needed.

What Beanstalk provisions

From a single application version, Beanstalk creates an environment with EC2 instances, an Auto Scaling group, an Elastic Load Balancer, security groups, and health monitoring. It wires these together so your app is reachable and scalable out of the box.

Applications, versions, and environments

  • Application - the logical project.
  • Application version - a specific uploaded build.
  • Environment - a running deployment (for example staging or production).

You keep control

Although Beanstalk manages resources, you can configure them through option settings or .ebextensions, and you retain full access to the EC2 instances and other resources it creates. It is managed convenience without being a black box.

Deployment policies

Beanstalk supports all-at-once, rolling, rolling with additional batch, and immutable deployments. The safer policies bring up new instances before retiring old ones, trading deploy speed for zero-downtime updates.

Role in CI/CD

A pipeline packages the app, uploads a new application version, and tells Beanstalk to deploy it to an environment. The AWS CLI or the EB CLI does this, authenticated with an IAM/OIDC role. CI handles build and test; Beanstalk handles provisioning and the rollout policy.

Key takeaways

  • Elastic Beanstalk is AWS PaaS: upload code, it provisions the infrastructure.
  • It manages EC2, load balancing, and scaling while leaving resources accessible.
  • Pipelines deploy by uploading a new application version and triggering a rollout.

Related guides

Tired of flaky CI? Latchkey auto-heals failed jobs and retries them for you. Start free →