Applying Infrastructure as Code and Serverless Technologies to AWS Deployments
AWS Training Architect II in Content
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.
Elastic Beanstalk Deployment Strategies
Introduction to Elastic Beanstalk
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
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
Elastic Beanstalk Environment Configurations
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
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
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
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
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
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
This lesson provides another walkthrough on configuration and the inner workings of an AWS Lambda function.
Lambda Versions and Aliases
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
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
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
This lesson introduces the student to Step Functions in AWS, and walks through the configuration and deployment of a Step Function.
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
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
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
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
API Gateway Canary Release Deployment
Introduction to CloudFormation
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.
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
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.
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
This lesson continues looking at CloudFormation Intrinsic Functions.
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
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
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
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
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
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
This lesson continues from the previous lesson on techniques used to protect stacks and the resources within stacks.
Updating CloudFormation Stacks
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.
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
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
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.
This lesson continues from the previous lesson and the discussion on CloudFormation stack drift. The lesson provides a walkthrough on drift remediation techniques.
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
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
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
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.
This lesson introduces the student to AWS OpsWorks and an OpsWorks Stack. The various layers of the OpsWorks stack are detailed.
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
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