AWS Elastic Beanstalk - Overview of Deployment Options on AWS

AWS Elastic Beanstalk

AWS Elastic Beanstalk is an easy-to-use service for deploying and scaling web applications and services developed with Java, .NET, PHP, Node.js, Python, Ruby, Go, or Docker on familiar servers such as Apache, Nginx, Passenger, and IIS. Elastic Beanstalk is a complete application management solution, and manages all infrastructure and platform tasks on your behalf.

With Elastic Beanstalk, you can quickly deploy, manage, and scale applications without the operational burden of managing infrastructure. Elastic Beanstalk reduces management complexity for web applications, making it a good choice for organizations that are new to AWS or wish to deploy a web application as quickly as possible.

When using Elastic Beanstalk as your deployment solution, simply upload your source code and Elastic Beanstalk will provision and operate all necessary infrastructure, including servers, databases, load balancers, networks, and auto scaling groups. Although these resources are created on your behalf, you retain full control of these resources, allowing developers to customize as needed.

Table 2: AWS Elastic Beanstalk Deployment Features

Capability Description
Provision

Elastic Beanstalk will create all infrastructure components necessary to operate a web application or service that runs on one of its supported platforms. If you need additional infrastructure, this will have to be created outside of Elastic Beanstalk.

Refer to Elastic Beanstalk Platforms for more details on the web application platforms supported by Elastic Beanstalk.

Configure

Elastic Beanstalk provides a wide range of options for customizing the resources in your environment.

Refer to Configuring Elastic Beanstalk environments for more information about customizing the resources that are created by Elastic Beanstalk.

Deploy

Elastic Beanstalk automatically handles application deployments, and creates an environment that runs a new version of your application without impacting existing users.

Refer to Deploying Applications to AWS Elastic Beanstalk for more details on application deployments with Elastic Beanstalk.

Scale

Elastic Beanstalk will automatically handle scaling of your infrastructure with managed auto scaling groups for your application instances.

Refer to Auto Scaling Group for your Elastic Beanstalk Environment for more details about auto scaling with Elastic Beanstalk.

Monitor

Elastic Beanstalk offers built-in environment monitoring for applications including deployment success/failures, environment health, resource performance, and application logs.

Refer to Monitoring an Environment for more details on full-stack monitoring with Elastic Beanstalk.

Elastic Beanstalk makes it easy for web applications to be quickly deployed and managed in AWS. The following example shows a general use case for Elastic Beanstalk as it is used to deploy a simple web application.

Figure 2: AWS Elastic Beanstalk use case