AWS Elastic Beanstalk Documentation

AWS Elastic Beanstalk is designed to get web applications up and running on AWS. You can upload your application code and the service handles details such as resource provisioning, load balancing, auto-scaling, and monitoring. Elastic Beanstalk is ideal if you have a PHP, Java, Python, Ruby, Node.js, .NET, Go, or Docker web application. 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 support applications that need to scale to serve a large number of users.

Selection of application platforms

AWS Elastic Beanstalk supports web applications written in many languages and frameworks. It requires no or minimal code changes to go from development machine to the cloud. Development options for deploying your web applications include Java, .NET, Node.js, PHP, Ruby, Python, Go, and Docker.

Variety of application deployment options

With AWS Elastic Beanstalk you can deploy your code through the AWS Management Console, Elastic Beanstalk Command Line Interface, Visual Studio, and Eclipse. Multiple deployment offer choices for the speed and safety of deploying your applications while helping you to reduce administrative burden.

Monitoring

Elastic Beanstalk provides a unified user interface (UI) to monitor and manage the health of your applications.

Application Health

Elastic Beanstalk collects key metrics and attributes to determine the health of your applications. With the Elastic Beanstalk Health Dashboard you can visualize overall application health and customize application health checks, health permissions, and health reporting in one UI.

Monitoring, Logging, and Tracing
Elastic Beanstalk integration with Amazon CloudWatch and AWS X-Ray means you can use monitoring dashboards to view performance metrics such as latency, CPU utilization, and response codes. You can also set up CloudWatch alarms to get notified when metrics exceed your chosen thresholds.

Updates and management

You can choose to get the latest platform versions of your Elastic Beanstalk environment and new patches using managed platform updates. An immutable deployment mechanism helps you implement these updates. For ongoing management, you can also customize application properties, create alarms, and enable e-mail notifications via Amazon Simple Notification Service (Amazon SNS).

Scaling

Elastic Beanstalk uses Elastic Load Balancing and Auto Scaling to scale your application in and out based on its specific needs. Multiple availability zones are designed to give you an option to improve application reliability and availability.

Customization

With Elastic Beanstalk, you can select the AWS resources, such as Amazon EC2 instance type including Spot instances, that are optimal for your application. You also retain control over the AWS resources powering your application. If you decide you want to take over some (or all) of the elements of your infrastructure, you can do so by using Elastic Beanstalk's management capabilities.

AWS Graviton support

AWS Graviton arm64-based processors deliver superior performance for your cloud workloads running in Amazon EC2. With AWS Graviton on Elastic Beanstalk, you can select EC2 instance types to optimize the needs of your workloads and help you benefit from improved price performance over a comparable x86-based processor.

Additional Information

For additional information about service controls, security features and functionalities, including, as applicable, information about storing, retrieving, modifying, restricting, and deleting data, please see https://docs.aws.amazon.com/index.html. This additional information does not form part of the Documentation for purposes of the AWS Customer Agreement available at http://aws.amazon.com/agreement, or other agreement between you and AWS governing your use of AWS’s services.