Welcome to CloudAffaire and this is Debjeet.
In the last blog series, we have discussed AWS SQS service.
In this blog post, we will start with a new AWS service Elastic Beanstalk.
What is Elastic Beanstalk?
Elastic Beanstalk is an application deployment and management solution provided by AWS. 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.
Elastic Beanstalk supports application developed in Go, Java, .NET, Node.js, PHP, Python, and Ruby. When you deploy your application, Elastic Beanstalk automatically builds the environment and provisions one or more AWS resources, such as AWS EC2 instances, to run your application. After your environment is launched, you can then manage your environment or deploy new application versions.
Elastic Beanstalk components:
- Application: An Elastic Beanstalk application is a logical collection of Elastic Beanstalk components, including environments, versions, and environment configurations. In Elastic Beanstalk an application is conceptually similar to a folder.
- Application Version: In Elastic Beanstalk, an application version refers to a specific, labeled iteration of deployable code for a web application. An application version points to an AWS Simple Storage Service (AWS S3) object that contains the deployable code, such as a Java WAR file.
- Environment: An environment is a collection of AWS resources running an application version. Each environment runs only one application version at a time, however, you can run the same application version or different application versions in many environments simultaneously.
- Environment Tier: When you launch an Elastic Beanstalk environment, you first choose an environment tier. The environment tier designates the type of application that the environment runs, and determines what resources Elastic Beanstalk provisions to support it. An application that serves HTTP requests runs in a web server environment tier. An environment that pulls tasks from an AWS Simple Queue Service (AWS SQS) queue runs in a worker environment tier.
- Environment Configuration: An environment configuration identifies a collection of parameters and settings that define how an environment and its associated resources behave. When you update an environment’s configuration settings, Elastic Beanstalk automatically applies the changes to existing resources or deletes and deploys new resources.
- Saved Configuration: A saved configuration is a template that you can use as a starting point for creating unique environment configurations. You can create and modify saved configurations, and apply them to environments, using the Elastic Beanstalk console, EB CLI, AWS CLI, or API.
- Platform: A platform is a combination of an operating system, programming language runtime, web server, application server, and Elastic Beanstalk components. You design and target your web application to a platform. Elastic Beanstalk provides a variety of platforms on which you can build your applications.
Hope you have enjoyed this article. In the next blog post, we will discuss how to deploy an application using Elastic Beanstalk.
To get more details on AWS Elastic Beanstalk, please refer below AWS documentation