Skip to main content
Containers and Serverless Recommendation Guide

AWS Elastic Beanstalk

Guidance

Since you selected "I want to run a basic web service” we recommend AWS Elastic Beanstalk as the best place for you to start.

What is AWS Elastic Beanstalk?

AWS Elastic Beanstalk is a service for deploying and scaling web applications and services. Upload your code and Elastic Beanstalk automatically handles the deployment—from capacity provisioning, load balancing, and auto scaling to application health monitoring.

Why are we recommending AWS Elastic Beanstalk?

If you are new to AWS, AWS Elastic Beanstalk is the fastest way to get web applications up and running. You can simply upload your application code, and the service automatically automates capacity provisioning, load balancing, auto scaling, and application deployment, creating an environment that runs a version of your application. The AWS Toolkit for Visual Studio and the AWS Toolkit for Eclipse allow you to deploy your application to AWS Elastic Beanstalk and manage it without leaving your IDE. Once your application is running, Elastic Beanstalk automates management tasks–such as monitoring, application version deployment, a basic health check–and facilitates log file access. Elastic Beanstalk uses core AWS services such as Amazon Elastic Compute Cloud (EC2), Amazon Elastic Container Service (ECS), AWS Auto Scaling, and Elastic Load Balancing (ELB) to easily support applications that need to scale to serve millions of users. While this is our recommended starting point, other services could also suit your needs and you can always try a different service if your use case changes or if AWS Elastic Beanstalk does not seem optimal for your use case. 

Frequently Asked Questions

AWS Elastic Beanstalk supports source code in supported languages and runtimes, container images from registries, Dockerfiles, and Docker Compose files to build images.

Only within an AWS Region.

AWS Elastic Beanstalk is ideal for building web applications, websites, API services, and web back-ends with simplified infrastructure management. It supports Java, .NET, PHP, Node.js, Python, Ruby, Go, and Docker applications, allowing developers to focus on code rather than server configuration. Beyond web applications, AWS Elastic Beanstalk can also host long-running and background task.

There is no additional charge for Elastic Beanstalk. You only pay for the AWS resources needed to store and run your applications (such as EC2 instances and S3 buckets). For more information, please visit AWS Elastic Beanstalk Pricing.

AWS Elastic Beanstalk provides managed platforms that simplify application deployment while still offering substantial customization options. While it comes with recommended defaults, you can customize many aspects of your environment using configuration files. If you need even more control over your infrastructure, you might consider using Amazon ECS for container orchestration, or directly managing EC2 instances for maximum flexibility.