Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Refreshed step 5 regarding rolling updates vs. CNAME swap.

Components

The deployment of an artifact to AWS Elastic Beanstalk involves several major components as follows:

  • Application – a logical collection of Elastic Beanstalk components, including environments, versions [...] (see the next two)
  • Application Version – a specific, labeled iteration of deployable code for a web application
  • Environment – a version that is deployed onto AWS resources

 

 

Workflow

The deployment workflow is illustrated by the diagram in What Is AWS Elastic Beanstalk and Why Do I Need It?:

The binding between those components is established indirectly and comprises the following activities:

  1. create an application version for that application – see the Create Application Version action of the AWS Elastic Beanstalk Application Version task
  2. manage the environment, which implies going back to 3./4. and selecting one of two approaches for deploying a new application version (be it a newly created or a former one):
    1. update an environment as by deploying a new application version that replaces the currently running one (usually via a rolling update), as outlined in Deploying Versions Applications to Existing Environments by replacing the currently running application version with another one – AWS Elastic Beanstalk Environments – see the UpdateEnvironment action of the AWS Elastic Beanstalk Environment task
    2. create a new environment, optionally swapping over to that one

      by Deploying Versions with Zero Downtime once it is verified as working correctly –

      with zero downtime, as outlined in Blue/Green Deployments with AWS Elastic Beanstalk – see the SwapEnvironment CNAMEs action of the AWS Elastic Beanstalk Environment task

      Tip
      titleAWS recommends rolling updates

      If your application architecture and deployment scenario allow to use rolling updates, AWS nowadays recommends this approach over a CNAME swap – refer to Deploying Applications to AWS Elastic Beanstalk Environments for a comparison of available deployment methods.

Alternative workflow via CloudFormation

A typical workflow based on CloudFormation might look as follows:

  1. upload the application source code (the 'Source Bundle') – see the Upload File(s) action of the Amazon S3 Object task

Frequently Asked Questions (FAQ)

Questionslist macro
filterpopular
asktrue
limit8
topicaws-elastic-beanstalk