What is AWS Elastic Beanstalk ?

  • With Elastic Beanstalk, you can quickly deploy and manage applications in the AWS Cloud without worrying about the infrastructure that runs those applications.
  • 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 uses highly reliable and scalable services that are available in the AWS Free Usage Tier.

  • Elastic Beanstalk supports applications developed in Java, PHP, .NET, Node.js, Python, and Ruby, as well as different container types for each language. A container defines the infrastructure and software stack to be used for a given environment.

  • When you deploy your application, Elastic Beanstalk provisions one or more AWS resources, such as Amazon EC2 instances. The software stack that runs on your Amazon EC2 instances depends on the container type.

  • For example, Elastic Beanstalk supports two container types for Node.js: a 32-bit Amazon Linux image and a 64-bit Amazon Linux image. Each runs a software stack tailored to hosting a Node.js application.

  • You can interact with Elastic Beanstalk by using the AWS Management Console, the AWS Command Line Interface (AWS CLI), oreb, a high-level CLI designed specifically for Elastic Beanstalk.


To learn more about the AWS Free Usage Tier and how to deploy a sample web application in it using AWS Elastic Beanstalk, go to Getting Started with AWS: Deploying a Web Application

You can also perform most deployment tasks, such as changing the size of your fleet of Amazon EC2 instances or monitoring your application, directly from the Elastic Beanstalk web interface (console).

WorkFlow of Elastic Beanstalk

For step-by-step instructions on how to create, deploy, and manage your application using the AWS Management Console, go to Getting Started Using Elastic Beanstalk.

To learn more about an Elastic Beanstalk application and its components, see AWS Elastic Beanstalk Concepts.

Elastic Beanstalk provides developers and systems administrators an easy, fast way to deploy and manage their applications without having to worry about AWS infrastructure.

AWS CloudFormation

If you already know the AWS resources you want to use and how they work, you might prefer AWS CloudFormation to create your AWS resources by creating a template. You can then use this template to launch new AWS resources in the exact same way without having to recustomize your AWS resources. Once your resources are deployed, you can modify and update the AWS resources in a controlled and predictable way, providing the same sort of version control over your AWS infrastructure that you exercise over your software. For more information about AWS CloudFormation, go to AWS CloudFormation Getting Started Guide.

Storage options in AWS

AWS does not restrict its user for their choice of persistence and database service options.

Storage options in AWS are as follows:

  1. Amazon Simple Storage Service (Amazon S3): A service that provides scalable and highly durable object storage in the cloud.
  2. Amazon Glacier: A service that provides low-cost highly durable archive storage in the cloud.
  3. Amazon Elastic File System (Amazon EFS): A service that provides scalable network file storage for Amazon EC2 instances.
  4. Amazon Elastic Block Store (Amazon EBS): A service that provides block storage volumes for Amazon EC2 instances.
  5. Amazon EC2 Instance Storage: Temporary block storage volumes for Amazon EC2 instances.
  6. AWS Storage Gateway: An on-premises storage appliance that integrates with cloud storage.
  7. AWS Snowball: A service that transports large amounts of data to and from the cloud.
  8. Amazon CloudFront: A service that provides a global content delivery network (CDN).

AWS Elastic Beanstalk concepts:

Elastic Beanstalk lets you manage all of the resources that run your application as Environments.

Application:

An Elastic Beanstalk application consists of the logical collection of the Elastic Beanstalk components including: environments, versions and environment configurations. In Elastic Beanstalk an application is conceptually equivalent to a folder.

Application version:

Refers to the labelled iteration of the deployment code for the web application. An application version points to the Amazon S3 (Simple Storage Service) object that stores the deployable code like Java .war file. Each application version is unique.

You may upload many application versions to see the difference between the different versions of your web applications.

Environment:

Environment is a version which is deployed on AWS resources. Each environment runs single applications at a time.

However you can run same or different versions at different environment at the same time.

Environment Tier:

When you launch an Elastic Beanstalk environment, you first choose an environment tier. The environment tier that you choose determines whether Elastic Beanstalk provisions resources to support an application that handles HTTP requests or an application that pulls tasks from a queue.

An application that serves HTTP requests runs in a web server environment. An environment that pulls tasks from an Amazon Simple Queue Service queue runs in a worker environment.

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 (depending on the type of change).

Configuration Template:

A _configuration template _is a starting point for creating unique environment configurations. Configuration templates can be created or modified by using the Elastic Beanstalk command line utilities or API.

results matching ""

    No results matching ""