AWS Elastic Beanstalk
Start course

AWS Elastic Beanstalk installs, distributes, and deploys applications just as the EC2 container service. However, Elastic Beanstalk is for web applications only and uses a different deployment mechanism. The other key difference is there is no cost associated with Elastic Beanstalk—the service itself is free to use.

You will learn how AWS Elastic Beanstalk takes your uploaded web application code, and automatically provisions and deploys the appropriate and necessary resources to make the web application operational. These resources include:
- EC2
- Auto Scaling
- Application health monitoring
- Elastic Load Balancing

We will discuss how running AWS Elastic Beanstalk to deploy systems for your code is perfect for engineers without the necessary skills to develop and control an accurate environment to run their developed applications.

After discussing deployments, we will define AWS Elastic Beanstalk’s applications. Applications are a collection of different elements, such as:
- Application Versions
- Environment
- Environment Configurations
- Configuration Template

Finally, we will walk through a workflow process for your application deployment and ongoing management in four simple steps:
- create an application
- upload your application version
- create the environment configuration
- manage your application


Resources referenced within this lecture:


Hello, and welcome to this lecture on AWS Elastic Beanstalk. Like the EC2 container service which helps to install, distribute, and deploy applications, AWS Elastic Beanstalk does much the same. However, it's just for web applications and via a different deployment mechanism, and not of a cluster of EC2 instances. So let's take a look at this service in greater detail.

AWS Elastic Beanstalk is an AWS managed service that will take your uploaded web application code and automatically provision and deploy the appropriate and necessary resources within AWS to make the web application operational. These resources can include other AWS services and features such as EC2, Auto Scaling, Application health monitoring, and Elastic Load Balancing.

This is perfect for engineers who may not have the familiarity or skills with AWS that they need to deploy, monitor, and scale the correct environment themselves to run their developed applications. Instead, this responsibility is passed on to AWS Elastic Beanstalk to deploy the correct infrastructure to run the uploaded code. This provides a simple, effective, and quick solution to the application deployment rollout. One important point to note is that the service itself is free to use. There is no cost associated to Elastic Beanstalk.

However, any resources that are created on your application's behalf, such as EC2 instances, you will be charged for as per the standard pricing policies at the time of deployment. So now we know what AWS Elastic Beanstalk is and does. Let me run through some of its architecture. There are a number of components that make up Elastic Beanstalk, these being applications. Within the Elastic Beanstalk an application is a collection of different elements, such as environments, environment configurations, application versions.

In fact, you can have multiple application versions held within an application. Application Versions. An application version is a very specific reference to a section of deployable code. The application version will point typically to S3, simple storage service, to where the deployable code will reside. Environment. An environment refers to an application version that has deployed on AWS resources. These resources are configured and provisioned by AWS Elastic Beanstalk.

This is where the application comes to life and becomes a deployed solution. Environment Configurations. An environment configuration is a collection of parameters and settings that dictate how an environment will have its resources provisioned by Elastic Beanstalk and how these resources will behave. Configuration Template.

This is the template that provides a baseline for creating a new unique environment configuration. Now that you are aware of some of the terminology and components we can look at how AWS Elastic Beanstalk operates a very simple workflow process for your application deployment and ongoing management and what can be defined in four simple steps. Firstly, you create an application. Next, you must upload your application version of the application to Elastic Beanstalk along with some additional configuration information regarding the application itself. This creates the environment configuration.

The environment is then created by Elastic Beanstalk with the appropriate resources to run your code. Any management of your application can then take place, such as deploying new versions of your application. If the management of your applications have altered the environment configuration, then your environment will be automatically updated to affect the new code should additional resources be required.

AWS Elastic Beanstalk is an AWS managed service that will take your uploaded web application code and automatically provision, deploy, the appropriate and necessary resources within AWS to make the web application operational. For your own hands-on experience with AWS Elastic Beanstalk to deploy an application take a look at our two labs which will guide you through the steps and process we have discussed. You can deploy a PHP application using Elastic Beanstalk, or run a controlled deploy with Elastic Beanstalk. That now brings us to the end of this lecture. Coming up next I will introduce you to AWS Lambda.

About the Author
Learning Paths

Stuart has been working within the IT industry for two decades covering a huge range of topic areas and technologies, from data center and network infrastructure design, to cloud architecture and implementation.

To date, Stuart has created 150+ courses relating to Cloud reaching over 180,000 students, mostly within the AWS category and with a heavy focus on security and compliance.

Stuart is a member of the AWS Community Builders Program for his contributions towards AWS.

He is AWS certified and accredited in addition to being a published author covering topics across the AWS landscape.

In January 2016 Stuart was awarded ‘Expert of the Year Award 2015’ from Experts Exchange for his knowledge share within cloud services to the community.

Stuart enjoys writing about cloud technologies and you will find many of his articles within our blog pages.