# AWS Elastic Beanstalk

> Upload your web app's code and AWS sets up the servers to run it.

- Level: Intermediate
- Topics: AWS, Cloud
- URL: https://tidbit.legios.com.ar/aws-elastic-beanstalk/
- In Spanish: [AWS Elastic Beanstalk](https://tidbit.legios.com.ar/es/aws-elastic-beanstalk/)

**AWS Elastic Beanstalk** is a service for putting a web application online without assembling the infrastructure piece by piece. You upload your code, written in something like Python, Node.js, Java, PHP, Ruby, Go or .NET, or packaged as a Docker container. Beanstalk then creates what the app needs to run: EC2 servers, a load balancer, automatic scaling when traffic grows, health checks and CloudWatch monitoring.

What makes it different from a fully hidden platform is that nothing is a black box. Everything Beanstalk creates lives in your account, built with CloudFormation behind the scenes, and you can inspect it and tweak it. Beanstalk itself costs nothing extra; you pay for the servers and other resources it creates. It also handles updates with strategies like rolling deployments, which replace servers a few at a time so the site never goes fully down.

Beanstalk has been around since 2011, and it remains a quick path for a classic web app or API with a database behind it. Many newer projects choose containers on ECS or Fargate, or serverless with Lambda, which give more control or less to manage. Knowing Beanstalk still helps, because plenty of production systems run on it.

## An analogy

Moving into a furnished apartment. You bring your suitcase and you are living there the same day; the furniture is already in place, and you can still repaint the walls if you want.

## Keep in mind

- Upload code; Beanstalk creates servers, load balancer and scaling for you.
- Supports common languages and Docker containers.
- No extra charge: you pay for the resources it creates.
- Everything it builds stays visible and editable in your account.

## Go deeper

- [What is AWS Elastic Beanstalk? (official docs)](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/Welcome.html)
- [AWS Elastic Beanstalk product page](https://aws.amazon.com/elasticbeanstalk/)
- [Platform as a service on Wikipedia](https://en.wikipedia.org/wiki/Platform_as_a_service)

## Related terms

- [Python](https://tidbit.legios.com.ar/python/): A popular programming language known for being easy to read and quick to write.
- [Node.js](https://tidbit.legios.com.ar/nodejs/): A way to run JavaScript on servers and computers, outside the browser.
- [Java](https://tidbit.legios.com.ar/java/): A long-lived programming language behind many bank systems, big business apps and Android.
- [PHP](https://tidbit.legios.com.ar/php/): A language that runs on the server and builds web pages before they reach you.
- [Go](https://tidbit.legios.com.ar/go/): A simple, fast programming language from Google, built for servers and cloud tools.
- [Docker](https://tidbit.legios.com.ar/docker/): The tool that made containers easy: package an app once, run it anywhere.
- [Container](https://tidbit.legios.com.ar/container/): A sealed box with a program and everything it needs to run anywhere.
- [Amazon EC2](https://tidbit.legios.com.ar/amazon-ec2/): Virtual computers you rent by the hour, in any size, and switch off when done.
