Docker in Production Using Amazon Web Services
Learn how to harness the power of Docker and Amazon Web Services to test, build, deploy and operate your container applications in production using Ansible, CloudFormation, Lambda and so much more.
What you'll learn
Docker has become the modern standard for distributing and running cloud native applications, whilst Amazon Web Services provides the world's most powerful and popular cloud computing platform. Together, these technologies can help you deliver your applications faster, more reliably, and at scale. In this course, Docker in Production Using Amazon Web Services, you'll learn how to master these technologies and create a powerful framework and toolset that you can use in the real world for your own applications. First, you'll discover how to leverage the power of Ansible and CloudFormation to create a generic and reusable tool chain for deploying not just Docker applications, but any cloud service you can think of using a fully automated, infrastructure as code approach. Next, you'll use this tool chain to deploy foundational resources in your AWS account, EC2 container registry repositories, Virtual Private Cloud (VPC) networking resources, and an HTTP proxy service that secures outbound communication for your applications. With this foundation in place, you'll create a production-class environment for a Microservices application that leverages a number of native AWS services including the EC2 container service, Relational Database Service, Autoscaling Groups and Application Load Balancers. Finally, you'll learn how to solve operational challenges including how to extend CloudFormation to perform custom provisioning tasks using AWS Lambda functions, how to securely manage and inject secrets into your Docker applications and supporting resources, and so much more. By the end of this course, you'll have developed an advanced understanding of how you can use Docker and AWS to deploy and run your applications faster, smarter, and more reliably than ever before.
Table of contents
- Introduction 2m
- Continuous Delivery Architecture 2m
- Release Pipeline Workflow 3m
- Workflow Specifications 3m
- Understanding the Test Stage 3m
- Running the Test Stage 3m
- Understanding the Base Image 5m
- Understanding the Release Stage 2m
- Running the Release Stage 2m
- Tagging and Publishing Release Images 1m
- Summary 2m
- Introduction 2m
- EC2 Container Service Overview 5m
- Publishing Images to EC2 Container Registry 4m
- Publishing Images Using the Release Pipeline 3m
- Creating an ECS Cluster 3m
- Verifying an ECS Container Instance 4m
- Creating an ECS Task Definition 2m
- Creating an ECS Service 2m
- ECS Service Deployments 3m
- Creating an ECS Task 5m
- Summary 2m
- Introduction 2m
- Custom Amazon Machine Image Design 3m
- Understanding EC2 Instance Initialization 2m
- Using Packer to Build Amazon Machine Images 2m
- Creating a Packer Template 4m
- Adding Packer Provisioning Tasks 2m
- Configuring the ECS Agent 1m
- Customizing Docker 5m
- CloudWatch Logs Integration 3m
- HTTP Proxy Support 5m
- ECS Container Instance Health Checks 2m
- Post Build Cleanup 2m
- Building and Publishing the Image 5m
- Summary 2m
- Introduction 2m
- AWS Deployment Strategy 2m
- AWS Account Infrastructure Architecture 4m
- Ansible Playbooks 2m
- Ansible Playbook Structure 5m
- Creating an Ansible Playbook 5m
- Configuring the AWS STS Role 5m
- Configuring the AWS CloudFormation Role 4m
- Understanding the AWS CloudFormation Role 4m
- Using AWS CloudFormation Role Templates 4m
- Creating the CloudFormation Resources Stack 2m
- Creating the EC2 Container Registry Stack 4m
- Creating the Network Stack 6m
- Publishing the Docker Squid Image 4m
- Creating the HTTP Proxy Stack 5m
- Deploying the HTTP Proxy Stack 2m
- Summary 2m
- Introduction 1m
- Creating the Microtrader Deployment Playbook 1m
- Configuring EC2 Autoscaling Groups 7m
- Configuring Autoscaling Launch Configurations 4m
- Configuring CloudFormation Init Metadata 2m
- Configuring EC2 Autoscaling Security Groups 5m
- Configuring Autoscaling EC2 Instance Profiles 2m
- Configuring a Public Load Balancer 6m
- Configuring an Internal Load Balancer 4m
- Configuring DNS Records 2m
- Configuring the Relational Database Service 5m
- Configuring CloudWatch Log Groups 3m
- Summary 2m
- Introduction 1m
- ECS System Resources 4m
- Understanding ECS Memory Allocation 5m
- Configuring ECS Task Definitions Part 1 8m
- Configuring ECS Task Definitions Part 2 3m
- Understanding ECS Service Deployment 3m
- Configuring ECS Services 5m
- Deploying the Microtrader Stack 5m
- Troubleshooting the Microtrader Application 5m
- Summary 2m
- Introduction 2m
- CloudFormation Custom Resources Overview 4m
- Creating a Lambda Function 4m
- Creating a Custom Resource 3m
- Creating a Custom Resources Project 2m
- Handling CloudFormation Requests 3m
- Validating Input Data 4m
- Integrating with the ECS Service 5m
- Polling ECS Task Status 6m
- Building Lambda Functions 2m
- Publishing Lambda Functions 4m
- Creating Lambda Functions in CloudFormation 3m
- Deploying CloudFormation Custom Resources 2m
- Handling Update and Delete Requests 5m
- Handling Long Running ECS Tasks 7m
- Summary 2m
- Introduction 2m
- Introducing the EC2 Systems Manager 1m
- Secrets Management Solution Overview 4m
- Creating the Secrets Provisioner 9m
- Creating Secrets Using CloudFormation 6m
- Injecting Secrets at Container Startup 4m
- Consuming Secrets In CloudFormation 4m
- Configuring IAM Roles for Accessing Secrets 3m
- Deploying Secrets Using CloudFormation 3m
- Summary 2m
- Introduction 2m
- ECS Auto Scaling Challenges 2m
- Understanding ECS Resources 5m
- ECS Capacity Management 4m
- Scaling out ECS Clusters 4m
- Scaling in ECS Clusters 3m
- Auto Scaling Solution Overview 2m
- Understanding ECS Events 4m
- Creating a Capacity Manager Lambda Function 4m
- Calculating ECS Container Instance Capacity 4m
- Testing the ECS Capacity Manager 3m
- Publishing CloudWatch Custom Metrics 2m
- Creating CloudWatch Alarms 3m
- Creating EC2 Auto Scaling Policies 4m
- Managing ECS Capacity Using CloudFormation 4m
- EC2 Auto Scaling Using CloudFormation 5m
- Configuring ECS Auto Scaling 7m
- ECS Auto Scaling Using CloudFormation 6m
- Summary 3m
- Introduction 3m
- Solution Overview 4m
- Creating a CodeBuild Image 4m
- Adding CodeBuild Support for Build Actions 4m
- Creating a Pipeline 4m
- Creating an Application Version Artifact 3m
- Adding CodeBuild Support for Deploy Tasks 3m
- Creating Deployment Templates 3m
- Creating a Deployment Action 6m
- Ensuring Immutable Artifacts 3m
- Deploying to Production 5m
- Creating Pipelines in CloudFormation 2m
- Defining the Source Stage in CloudFormation 3m
- Defining the Build Stage in CloudFormation 3m
- Defining Deploy Stages in CloudFormation 2m
- Deploying a Pipeline Using CloudFormation 2m
- Summary 3m