Elastic Beanstalk is a Platform as a Service (PaaS) that lets you quickly deploy and manage applications in the AWS Cloud without learning about the infrastructure that runs those apps. Elastic Beanstalk reduces management complexity without restricting choice or control. You simply upload your application, and Elastic Beanstalk automatically handles the details of capacity provisioning, load balancing, scaling, and application health monitoring.
This article will walk through deploying a sample python application to Amazon Elastic Beanstalk from the AWS management console.
- An AWS account
- Familiarity with the AWS management console
- Familiarity with python applications.
First, search for beanstalk in the AWS management console and choose the first option.
On the Elastic Beanstalk dashboard, select Create Application.
Name your application; tags are optional; therefore, we will skip them.
Tags are essential for billing and organizing resources in AWS and are recommended for production workloads.
For Platform, select python from the dropdown and leave the rest as default.
For application code, choose Sample Application and Create Application.
The application takes a while to load up, while several environmental dependencies needed are created.
The application is available once the Health check is OK.
Copy the application URL and paste it into a browser tab.
Let’s look at the infrastructure created for the sample app.
From the Elastic Beanstalk homepage, select Environment and choose our application new-app.
From the dropdown, select INFO. We can see the details of environmental dependencies created for the application.
Some of the dependencies created:
- Amazon S3 storage bucket;
- Amazon EC2 instance;
- security groups;
- Multiple CloudWatch alarms;
- EC2 load balancer.
Next, let’s look at the instance created for the application.
The instance has the same name as the elastic beanstalk. We can see a security group with the same name as well.
We can also see an S3 bucket with the same name as our elastic beanstalk app, with an object named elastic beanstalk.
In this article, we deployed a sample python web app using AWS elastic beanstalk and examined some of the environment dependencies created for the application.