Managing Applications with AWS Elastic Beanstalk

elastic beans

AWS Elastic Beanstalk provides a platform for deploying and managing applications (versions) in the AWS Cloud. This article explains how it works, and lists its key components as well as the platforms it supports.

There are multiple platforms (Java, .NET, Node.js, PHP, Go, Python, and Ruby) available that can be used to upload an application package file or store it in Amazon S3. AWS Elastic Beanstalk helps you to manage all the resources that are needed to run applications. It manages such features as load balancing, scaling, and monitoring.

Key components
Table 1 lists the key components of Elastic Beanstalk.

Component Role
Application Logical collection (folder) of Elastic Beanstalk components such as environments, versions, and environment configurations
Application version Specific iteration of deployable code for an application. An application can have multiple versions
Environment Collection of AWS resources that runs one application version at a time. However, one version can be deployed in multiple environments
Environment tier Type of application that the environment runs, and provides resources accordingly; for example, Web server environment tier and worker environment tier
Environment configuration Collection of parameters and settings — load balancer, auto scaling group, database, security, and so on
Platform Combination of an operating system, runtime environment, Web server/application server, and Elastic Beanstalk components

Table 1: Key components of Elastic Beanstalk

Create an application
Figure 1: Create an application

Table 2 lists the platform versions that are supported in AWS Elastic Beanstalk.

Table 2: Platform versions supported in AWS Elastic Beanstalk
Table 2: Platform versions supported in AWS Elastic Beanstalk

How it works
Here are the steps needed to create and manage applications in AWS Elastic Beanstalk:
1. Create an application.
2. Upload an application version .jar or .war file for Java.
3. Provide details about the application.
4. The environment is launched.
5. Manage the environment from the Elastic Beanstalk console.

Application deployment on AWS Elastic Beanstalk
Sign in to the AWS Management Console with your IAM credentials. Click on Services and select the Elastic Beanstalk console. If you have never used Elastic Beanstalk service, you will get a Welcome page to AWS Elastic Beanstalk.

Click on Create Application, as shown in Figure 1.

You will get two options — Web server environment and Worker environment. Click on the former, as shown in Figure 2.

Figure 2: Web server environment
Figure 2: Web server environment

Next, you need to provide the application name and tags, as shown in Figure 3.

Application information
Figure 3: Application information

After providing the name, select the platform and platform branch.

 Tomcat platform
Figure 4: Tomcat platform

Now we need to upload the application package (Figure 5).

Application code
Figure 5: Application code

It’s now time to review all the settings and launch the environment.

Figure 6: Environment creation
Figure 6: Environment creation

Wait for some time until the environment is created, and you will be redirected to the environment page where the application health is given. Note the URL; you will need it to check the application home page.

Application health
Figure 7: Application health

Click on Environment configuration and verify the capacity as well as the load balancer related details (Figure 8).

Application configuration -- capacity
Figure 8: Application configuration — capacity

Go to the Monitoring section and verify the different parameters available to monitor the existing application such as target response time and total requests.

App monitoring
Figure 9: App monitoring

Visit the URL available on the environment page, and you can see the application home page in your browser.

There is no extra charge for using AWS Elastic Beanstalk. You just need to pay for AWS resources such as Amazon S3 buckets and Amazon EC2 instances that are created to store and run Web applications. Give it a try to see how it works.


Please enter your comment!
Please enter your name here