Run a Controlled Deploy With AWS Elastic Beanstalk
1687 students completed the lab in ~1h:15m
Total available time: 2h:6m
969 students rated this lab!
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.
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
You should be familiar with:
- Basic Amazon EC2 and Virtual Private Cloud (VPC) concepts
- The topics covered in the Advanced Deployment Techniques on AWS course are beneficial, but not required
Before completing the Lab instructions, the environment will look as follows:
After completing the Lab instructions, the environment should look similar to:
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 email@example.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