Run a Controlled Deploy With AWS Elastic Beanstalk

Intermediate

1687 students completed the lab in ~1h:15m

Total available time: 2h:6m

969 students rated this lab!

Lab Overview

One of the highest risk parts of running a software company, in terms of availability concerns, is the risk of a faulty deployment. During deployments, complex systems with multiple parts are actively moving around the delicate parts of many other systems. Deployment risk can be minimized by studying a couple of common approaches to deploying code to running machines. 

In this Lab, you will deploy multiple version updates of an application in a load-balanced and auto-scaled environment. The first update is deployed using a simple, low-friction rolling deployment. The second update is deployed using a blue-green deployment where a separate environment is created to run the new version of the application and a DNS cutover switches incoming traffic to the new environment.

Lab Objectives

Upon completion of this Lab, you will be able to:

  • Build Elastic Beanstalk applications and environments
  • Perform rolling deployments on underlying EC2 resources
  • Perform blue-green deployments with Elastic Beanstalk for zero-downtime updates
  • Minimize costs by cleaning up after blue-green deploys

Lab Prerequisites

You should be familiar with:

Lab Environment

Before completing the Lab instructions, the environment will look as follows:

After completing the Lab instructions, the environment should look similar to:

 

Updates

April 29th 2018 - Complete update (easier to follow instructions and screenshots for the new Elastic Beanstalk UI)

 

Do you have questions about this Lab? Contact our cloud experts by sending an email to support@cloudacademy.com.

Follow these steps to learn by building helpful cloud resources

Logging in to the Amazon Web Services Console

Your first step to start the Lab experience

Creating an Elastic Beanstalk App & Environment

Create an environment to practice controlled deployments with Elastic Beanstalk

Running a Rolling Deploy

Run a rolling deployment to a new version of the application in Elastic Beanstalk

Preparing a Blue-Green Deploy

Prepare to perform a Blue-Green deploy by preparing the new green environment

Doing the Deploy Swap

Perform a DNS-level swap so the original app URL now points to the new green environment running v3 of the app

Cleaning Up Old Resources

Save costs by terminating the environment running the previous version of the app