AWS Elastic Beanstalk is the fastest way to get web applications up and running on AWS. You can simply upload your application code, and the service automatically 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 easily support applications that need to scale to serve millions of users.
Wide selection of application platforms
AWS Elastic Beanstalk supports web applications written in many popular 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 policies—all at once, rolling, rolling with an additional batch, immutable, and blue/green—offer choices for the speed and safety of deploying your applications while reducing the administrative burden.
Elastic Beanstalk provides a unified user interface (UI) to monitor and manage the health of your applications.
Elastic Beanstalk collects 40+ 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 key 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 automatically get the latest platform versions of your Elastic Beanstalk environment and new patches using managed platform updates. An immutable deployment mechanism ensures these updates are implemented safely. For ongoing management, you can also customize application properties, create alarms, and enable e-mail notifications via Amazon Simple Notification Service (Amazon SNS).
Elastic Beanstalk uses Elastic Load Balancing and Auto Scaling to automatically scale your application in and out based on its specific needs. Multiple availability zones give you an option to improve application reliability and availability.
With Elastic Beanstalk, you have the freedom to select the AWS resources, such as Amazon EC2 instance type including Spot instances, that are optimal for your application. You also retain full 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 seamlessly by using Elastic Beanstalk's management capabilities.
Elastic Beanstalk meets the criteria for ISO, PCI, SOC 1, SOC 2, and SOC 3 compliance along with the criteria for HIPAA eligibility. This means applications running on Elastic Beanstalk can process regulated financial data or protected health information (PHI).
AWS Graviton support
AWS Graviton arm64-based processors deliver the best price performance for your cloud workloads running in Amazon EC2. With AWS Graviton on Elastic Beanstalk, you can select EC2 instance types to meet optimization needs of your workloads and benefit from improved price performance over a comparable x86-based processor.