Learn how to use AWS tools to deploy, automate, and troubleshoot apps and infrastructure, taking advantage of the elastic, cost-effective, and scalable power of the cloud.
Overview
Syllabus
Introduction
- Welcome to AWS software deployment
- What you should know
- Initial setup
- Navigate the AWS Management Console
- Set an AWS budget alarm
- Understanding AWS EC2
- Understanding AWS load balancers
- Understanding AWS Auto Scaling groups
- Understanding AWS security groups
- Understanding SSH key authentication
- Create an AWS EC2 instance
- Connect to an EC2 instance with AWS Systems Manager
- Understanding AWS CloudFormation
- Writing an AWS CloudFormation template
- Running an AWS CloudFormation template
- Concepts for updating an AWS CloudFormation stack
- Practice updating AWS CloudFormation stacks via change sets
- Challenge: Use CloudFormation to build an instance with SSM
- Solution: Use CloudFormation to build an instance with SSM
- Understanding AWS CloudFormation custom resources
- Create an AWS CloudFormation custom resource, part 1
- Create an AWS CloudFormation custom resource, part 2
- CloudFormation teardown
- Architect apps for horizontal scaling
- AWS network security for app deployment
- Introducing the demo app
- Understanding AWS Elastic Beanstalk
- AWS Elastic Beanstalk deployment options
- Initialize an AWS Elastic Beanstalk application
- Create an AWS Elastic Beanstalk environment
- Customize AWS Elastic Beanstalk with ebextensions
- Troubleshoot Elastic Beanstalk and set environment variables
- Add a database to AWS Elastic Beanstalk
- Deploy and scale an AWS Elastic Beanstalk app
- Deploy Docker containers via AWS Elastic Beanstalk
- Elastic Beanstalk teardown
- AWS CodeDeploy key concepts
- AWS CodeDeploy: AppSpec and lifecycle events
- AWS CodeDeploy: IAM setup
- AWS CodeDeploy: Instance preparation
- AWS CodeDeploy: Auto Scaling group
- AWS CodeDeploy: App creation
- Install and configure the AWS CLI
- AWS CodeDeploy: Adding database and security groups
- AWS CodeDeploy: Managing secrets with Secrets Manager
- AWS CodeDeploy: AppSpec and deployment
- AWS CodeDeploy: Add a load balancer
- Troubleshoot AWS CodeDeploy deployments
- Understanding AWS CodeBuild
- Add AWS CodeBuild support to an app
- Integrate AWS CodeBuild into CodePipeline
- AWS CodePipeline challenge: Add an approval stage
- AWS CodePipeline challenge solution: Add an approval stage
- AWS CodeDeploy teardown
- Understanding AWS Elastic Container Service and Fargate
- Run the demo app locally with Docker
- Create an AWS ECR repository for use with ECS
- Create an ECS Fargate cluster and task definition
- Deploy a Docker app with an ECS task
- Run Docker apps with an ECS service
- Scale Docker apps with an ECS service
- Challenge: Automating Docker builds on AWS
- Solution: CodeBuild for Docker ECR pushes
- Automating the Docker build with CodePipeline
- Fully automating ECS Docker deployments with CodePipeline
- ECS teardown
- Understand AWS Copilot
- Next steps
Taught by
Brandon Rich