Skip to main content

Applying Infrastructure as Code and Serverless Technologies to AWS Deployments

Course

Intro Video

Photo of Craig Arcuri

Craig Arcuri

AWS Training Architect II in Content

Length

09:00:00

Difficulty

Advanced

Videos

42

Hands-on Labs

8

Course Details

Applying Infrastructure as Code and Serverless Technologies to AWS Deployments is a mini-course which is designed to stand on its own or be part of a Learning Path. The overall intent of the Learning Patch is to prepare the student for the AWS Certified DevOps Engineer Professional exam. The course has four distinct sections: 1) Elastic Beanstalk Deployments will give the student an in-depth look at the features and use cases for using Elastic Beanstalk in deployments. 2) Lambda, API Gateway, and State Machine deployments will look at these three services individually and also how they interact to facilitate deployments. 3) This section at CloudFormation begins by giving the student a thorough understanding of CloudFormation and concludes by detailing the many ways that CloudFormation interacts with other services to complete deployments. 4) A small, but detailed section on AWS OpsWorks which will prepare the student for using OpsWorks and any OpsWorks challenges which may arise on the certification exam.

Syllabus

Elastic Beanstalk Deployment Strategies

Introduction to Elastic Beanstalk

00:09:45

Lesson Description:

This lesson provides an overview on Elastic Beanstalk and concludes with a walkthrough on creating an Elastic Beanstalk application from the Management Console.

Elastic Beanstalk Deployment Strategies

00:13:27

Lesson Description:

This lesson details the deployment options available for Elastic Beanstalk such as 'All at Once', and 'Rolling Deployments'. The lesson concludes with a whiteboarding session on the various deployment strategies.

Deployment Strategies Part 2

00:05:25

Elastic Beanstalk Environment Configurations

00:12:13

Lesson Description:

this lesson details the different ways to configure Elastic Beanstalk environments. This includes Saved Configurations, Configuration Files, and Manual Configurations. The lesson takes a look a configuration files in a code editor. Those files can be downloaded here: https://github.com/linuxacademy/content-aws-devops-pro-2020/tree/master/ElasticBeanstalk_EnvironmentConfigurations

Elastic Beanstalk Docker Deployments

00:10:27

Lesson Description:

This lesson looks at using Docker for Elastic Beanstalk Deployments. The two main deployment types are single-container, and multi-continer. Files used in this lesson can be found here: https://github.com/linuxacademy/content-aws-devops-pro-2020/tree/master/ElasticBeanstalk_DockerDeployments

Elastic Beanstalk with RDS

00:08:49

Lesson Description:

This lesson looks at how RDS databases can be deployed with Elastic Beanstalk. RDS can be deployed as part of Elastic Beanstalk or separate from Elastic Beanstalk. The pros and cons of each are detailed in this lesson.

Elastic Beanstalk From The CLI

00:08:36

Lesson Description:

This lesson walks through creating an Elastic Beanstalk application from the Command Line Interface. This link provides instructions on installing python on various OS's, as well as Homebrew (for Mac): https://realpython.com/installing-python/#step-3-install-python

Lambda, API Gateway, and State Machine Deployments

Introduction to AWS Lambda

00:03:57

Lesson Description:

This brief lesson provides and introduction to AWS Lambda and details how Lambda functions can be triggered from various services in AWS.

How Lambda Works

00:08:05

Lesson Description:

This lesson goes into detail about how AWS Lambda works. The lesson provides a walkthrough in the creation and execution of a Lambda Function.

Simple Lambda Walkthrough

00:08:08

Lesson Description:

This lesson provides another walkthrough on configuration and the inner workings of an AWS Lambda function.

Lambda Versions and Aliases

00:08:53

Lesson Description:

This lesson details how Lambda versions and aliases can be used to perform deployments of Lambda functions. The amilookup function can be found here: https://github.com/linuxacademy/content-aws-devops-pro-2020/tree/master/LambdaVersionAliases

Lambda SAM Framework

00:08:13

Lesson Description:

This lesson introduces the student to the Serverless Application Model framework. This framework can be used to build serverless applications. The yaml template used in this lesson can be found here: https://github.com/linuxacademy/content-aws-devops-pro-2020/tree/master/SAM

SAM Walkthrough

00:09:56

Lesson Description:

This lesson walks through a SAM template and its use for Deploying serverless applications. Please note if following along: The file template.yaml was downloaded in the last lesson.

Deploying Step Functions

00:12:35

Lesson Description:

This lesson introduces the student to Step Functions in AWS, and walks through the configuration and deployment of a Step Function.

API Gateway

00:04:40

Lesson Description:

This brief lesson introduces the student to API Gateway. The lesson uses a diagram to detail API Gateway and the various interactions with API Gateway during deployments.

How API Gateway Works

00:11:09

Lesson Description:

This lesson performs a detailed walkthrough of API Gateway. The AWS Management console is used to create and deploy an application with API Gateway. Please note: The Swagger file used in the lesson (in json format), as a convenience, can be found here: https://github.com/linuxacademy/content-aws-devops-pro-2020/tree/master/HowAPIGatewayWorks It is not mandatory that you download this file. AWS will prepopulate with this file automatically if you follow the lesson steps.

Rest API vs Web Socket API

00:05:30

Lesson Description:

This lesson uses a diagram to describe the differences between Rest APIs, and Web Socket APIs, and the use cases for each.

Deploying and Versioning Your APIs

00:10:44

Lesson Description:

This lesson provides a walkthrough on deploying APIs with API Gateway. The lesson details how versioning can be used to assist in deployments. The random number program can be found here: https://github.com/linuxacademy/content-aws-devops-pro-2020/tree/master/DeployandVersionAPI

Hands-on Labs are real live environments that put you in a real scenario to practice what you have learned without any other extra charge or account to manage.

API Gateway Canary Release Deployment

01:00:00

Hands-on Labs are real live environments that put you in a real scenario to practice what you have learned without any other extra charge or account to manage.

01:15:00

AWS CloudFormation

Introduction to CloudFormation

00:11:59

Lesson Description:

This lesson introduces the student to AWS CloudFormation. The lesson takes a look at a simple CloudFormation template and concludes with a walkthrough on creating a stack from the template.

Templates In-Depth

00:11:47

Lesson Description:

This lesson dives deeper into CloudFormation templates. The lesson looks at the different sections that make up a template and describes the purpose of each section. The templates used in this section can be found here: https://github.com/linuxacademy/content-aws-devops-pro-2020/tree/master/TemplatesInDepth

Template in-depth part 2

00:09:31

Lesson Description:

This lesson continues from the previous section in looking at the sections of a CloudFormation template. The templates used in this lesson are the same templates made available to download in the previous lesson.

Intrinsic Functions

00:09:21

Lesson Description:

This lesson looks a CloudFormation Intrinsic Functions and takes a deeper dive into the most important of these functions. The files used in this lesson can be found here: https://github.com/linuxacademy/content-aws-devops-pro-2020/tree/master/Intrinsic

Intrinsic Functions Part 2

00:06:08

Lesson Description:

This lesson continues looking at CloudFormation Intrinsic Functions.

Condition Functions

00:11:26

Lesson Description:

This lesson continues the discussion on Intrinsic Functions by focusing on Condition Functions which are classified as Intrinsic Functions. The files used in this lesson are included with the files for the Intrinsic Functions lesson: https://github.com/linuxacademy/content-aws-devops-pro-2020/tree/master/Intrinsic

BootStrapping

00:08:51

Lesson Description:

This lesson takes a deep dive into how CloudFormation is used to bootstrap EC2 instances. The file used in this lesson can be downloaded here: https://github.com/linuxacademy/content-aws-devops-pro-2020/tree/master/Bootstrapping

Wait Conditions

00:09:19

Lesson Description:

This lesson details Wait Conditions in CloudFormation and how they can be used to help coordinate the timing of configuring various resources used with CloudFormation stacks. The template for this lesson can be found here: https://github.com/linuxacademy/content-aws-devops-pro-2020/tree/master/WaitCondition

Creation Policies

00:07:21

Lesson Description:

This lesson details using Creation Policies in CloudFormation templates to facilitate timing during deployments. The difference between Creation Policies and Wait Conditions and their use cases is also described. The template used in this lesson can be found here: https://github.com/linuxacademy/content-aws-devops-pro-2020/tree/master/CreationPolicy

Helper Scripts

00:09:33

Lesson Description:

This lesson takes an in-depth look at CloudFormation Helper Scripts which are used to assist during instance deployments in CloudFormation Stacks. The files used during this lesson can be downloaded from here: https://github.com/linuxacademy/content-aws-devops-pro-2020/tree/master/HelperScripts

Stack Protection

00:11:17

Lesson Description:

This lesson describes the various techniques that can be used to protect our stacks and the resources created in the stack. The files for this lesson and Stack Protection Part 2 can be downloaded here: https://github.com/linuxacademy/content-aws-devops-pro-2020/tree/master/StackProtection

Stack Protection Part 2

00:10:13

Lesson Description:

This lesson continues from the previous lesson on techniques used to protect stacks and the resources within stacks.

Updating CloudFormation Stacks

00:12:17

Lesson Description:

This lesson describes the techniques used for updating CloudFormation Stacks. The lesson provides a walkthrough on updating stacks. This lesson uses the template Lampstack.json which has been used in several lessons.

Change Sets

00:13:26

Lesson Description:

This lesson builds on the previous lesson on Updating Stacks. This lesson details how Change Sets can be used to update stacks and provide feedback on how the updates will affect the stack. The template used in this lesson can be found here: https://github.com/linuxacademy/content-aws-devops-pro-2020/tree/master/ChangeSet

Nested Stacks

00:09:56

Lesson Description:

This lesson shows how Nested Stacks can be used to promote template reuse in CloudFormation. The templates in this lesson can be found here: https://github.com/linuxacademy/content-aws-devops-pro-2020/tree/master/NestedStack

Drift Detection

00:09:05

Lesson Description:

This lesson defines the concept of CloudFormation Stack drift. The lesson details how drift can be introduced into a stack and the steps to discover drift in a stack. The lesson uses the single instance LampStack template provided for download previously in the course.

Drift Remediation

00:05:49

Lesson Description:

This lesson continues from the previous lesson and the discussion on CloudFormation stack drift. The lesson provides a walkthrough on drift remediation techniques.

Custom Resources

00:09:14

Lesson Description:

This lesson discussed Custom Resources, and how Custom Resources can be used in CloudFormation when available "out of the box" functionality do not meet the needs of a specific problem. The files used in this lesson can be downloaded from here: https://github.com/linuxacademy/content-aws-devops-pro-2020/tree/master/CustomResources

Lambda Password Checker

00:09:50

Lesson Description:

This lesson uses a Lambda Function, which is synonomous with Custom Resources in CloudFormation, to check passwords. The Lambda function will ensure that the entered password and the confirm password match. The files used in this lesson can be downloaded from here: https://github.com/linuxacademy/content-aws-devops-pro-2020/tree/master/LambdaPasswordChecker

CloudFormation Deployment Strategies

00:12:20

Lesson Description:

This lesson goes in depth on how CloudFormation can be used for deployments and with other services and technologies during deployments. The template used in this lesson (Basic AWS OpsWorks Stack) can be found here: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/sample-templates-services-us-west-2.html#w2ab1c27c58c13c27

CloudFormation Scenarios

00:10:27

Lesson Description:

This lesson uses a whiteboarding session to present and solve various scenarios involving CloudFormation. The lesson provides scenarios which would be encountered on the job or during AWS certification exams.

AWS OpsWorks

OpsWorks Overview

00:12:10

Lesson Description:

This lesson introduces the student to AWS OpsWorks and an OpsWorks Stack. The various layers of the OpsWorks stack are detailed.

OpsWorks Stacks

00:09:42

Lesson Description:

This lesson provides a detailed walkthrough on the creation of an AWS OpsWorks stack. Files used in this lesson can be found here: https://github.com/linuxacademy/content-aws-devops-pro-2020/tree/master/OpsWorksCreateStack

Deployment Strategies with OpsWorks

00:10:24

Lesson Description:

This lesson details the various deployment strategies available in OpsWorks such as: Manual, Rolling, and Blue/Green deployments.

Take this course and learn a new skill today.

Transform your learning with our all access plan.

Start 7-Day Free Trial