AWS Elastic Beanstalk is the fastest and simplest way to get web applications up and running on AWS. Developers simply upload their application code and the service automatically handles all the 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 EC2, Amazon Elastic Container Service (Amazon ECS), Auto Scaling, and Elastic Load Balancing to easily support applications that need to scale to serve millions of users.
Wide Selection of Application Platforms
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. You can choose from variety of application platforms such as Java, .NET, Node.js, PHP, Ruby, Python, Go, and Docker to deploy your web applications.
Variety of Application Deployment Options
Variety of Application Deployment Options
AWS Elastic Beanstalk allows you to deploy your code through the AWS Management Console, Elastic Beanstalk Command Line Interface, Visual Studio, and Eclipse. You can pick from multiple deployment policies – all at once, rolling, rolling with an additional batch, immutable, and blue/green. These policy choices enable you to choose between speed and safety of deploying your applications while reducing the administrative burden.
Monitoring
AWS Elastic Beanstalk provides a unified user interface to monitor and manage the health of your applications.
Application Health
Elastic Beanstalk collects 40+ key metrics and attributes to determine the health of your application. The Elastic Beanstalk Health Dashboard allows you to visualize overall application health and customize application health checks, health permissions, and health reporting in one unified interface.
Monitoring, Logging, and Tracing
Elastic Beanstalk is integrated with Amazon CloudWatch and AWS X-Ray. You can leverage monitoring dashboard 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.
Management and Updates
Management and Updates
You can choose to have AWS Elastic Beanstalk automatically update to the latest version of your Elastic Beanstalk environment using Managed Platform Updates. The Immutable deployment mechanism ensures these updates for new patches and minor platform versions are done in a safe manner to minimize end users impact. For on-going management, you can also customize application properties, create alarms, and enable e-mail notifications via Amazon Simple Notification Service (Amazon SNS).
Scaling
Scaling
AWS Elastic Beanstalk leverages Elastic Load Balancing and Auto Scaling to automatically scale your application in and out based on your application's specific needs. In addition, multiple availability zones give you an option to improve application reliability and availability by running in more than one zone.
Customization
Customization
With AWS 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. Additionally, Elastic Beanstalk lets you "open the hood" and 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.
Compliance
Compliance
AWS 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).
Learn more about AWS Elastic Beanstalk Pricing