Docker: Scaling Docker on AWS

$99.00 $49.99

Looking to scale your web applications with Docker? How about gaining heaps of practical knowledge about working with Amazon Web Services (AWS)? Then prepare to get excited about this Scaling Docker on AWS course!

Length: 6 hrs

This title is available in the
Total Training All-Access library.

Subscribe Now

Description

The main AWS component that you’ll learn about in this Scaling Docker on AWS course is Amazon ECS, which is the Amazon EC2 Container Service. It’s Amazon’s take on how to manage a cluster of Docker containers.

The first section of this course will concentrate on getting familiar with AWS and then performing a deep dive on Amazon ECS where you’ll learn everything there is to know about it. You’ll also get familiar with Amazon ECR, which is Amazon’s private Docker registry. During this deep dive there will be plenty of guided labs to get your hands dirty.

The second section will be all about Docker-izing a multi-service Ruby on Rails application, as well as profiling that application with Docker and other open source tools. If you’re not a developer or have no intentions of using Ruby on Rails that’s fine because you can skip the development section. The only thing you’ll have to do is build the Docker image, which will be as simple as running a few commands.

The third section will be taking the knowledge learned from previous sections and deploying the application to production on AWS in a fault tolerant way. You’ll learn how to calculate costs for a real life project hosted on AWS and load balance the web application so you can scale out to as many hosts as you need. Along the way you’ll learn about many other AWS resources and also learn how to hook up a domain name to a load balancer and secure it with a free SSL certificate.

Sample clip

AWS (Amazon Web Services) has over a million customers, some of which are the most popular websites in the world. You can be sure that AWS will be a great fit for your web application regardless of what scale you’re running at. One awesome thing about using AWS is that a ton of companies are hiring people who have experience with it. All of the knowledge you gain from thisScaling Docker for AWS course can be used to apply for DevOps or cloud computing positions.

This entire course is very hands on, with just enough theory to understand the main goal — which is to get you comfortable scaling your web apps with Docker on AWS.

Course Objectives:

  • You’ll learn how to get your development environment set up to run Docker. Windows, Mac and Linux users will be able to follow along.
  • You’ll learn what Amazon ECS is and how it differs from similar services.
  • You’ll learn everything there is to know about Amazon ECS.
  • You’ll learn how to create your own private Docker Registry with Amazon ECR.
  • You’ll gain general AWS knowledge on identity and access management, security groups, EC2, S3, ELB, RDS, ElastiCache and more.
  • You’ll learn how to Dockerize a Ruby on Rails web application.
  • You’ll learn how to profile your applications with Docker.
  • You’ll learn how to price out a project on AWS at various traffic loads.
  • You’ll learn how to load balance your web application on AWS.
  • You’ll learn how to wire up a custom domain to your load balanced web app.
  • You’ll learn how to create and use a FREE SSL certificate.

Why is it worth using Docker?

  • Saves a ton of time and headaches when setting up development environments.
  • Easily move an application across environments or servers.
  • Removes issues such as “well, it worked on my machine!”.
  • Makes developing with teams a much more pleasant experience.
  • Works on most major platforms.
  • Has amazing support on most cloud hosting providers.
  • Docker as a company is well funded and moving forward quickly.

Why is it worth using AWS?

  • Amazon’s infrastructure is spread across the globe.
  • Amazon has a tremendous amount of experience operating at scale.
  • Reap the rewards of using battle hardened services.
  • Avoid having to manage the low level details of your infrastructure.
  • Many companies are hiring people with AWS experience.
  • You can try it out for free for an entire year.
CHAPTER 1: WELCOME TO THE COURSE
What Does This Course Cover?
Dealing with Files
Dealing with Issues
 
 
CHAPTER 2: AMAZON ECS OVERVIEW
What is Amazon ECS?
How Does It Compare with Other Services?
 
CHAPTER 3: PREPARATION FOR THE HANDS ON LABS
Introduction
Setting up an Initial Course Folder
Installing Docker
Getting Set up on AWS
Installing and Configuring the AWS CLI
Benefits of Using the AWS CLI
Creating an SSH Keypair
Creating a Security Group
Creating ECS IAM Roles
 
CHAPTER 4: DEEP DIVE WITH AMAZON ECS
Breaking down Each ECS Component
Clusters
Container Agent
Container Instances
Task Definitions
Scheduler
Scheduling Services
Starting Tasks
Private Docker Registry (ECR)
ECS CLI
Tearing down Our Cluster
 
CHAPTER 5: DEVELOPING THE RUBY ON RAILS APPLICATION
Introduction
Generating a New Rails Project
Setting up a Strong Foundation
Dockerizing Your Rails Application
Running the Application Locally
Working with the Application
Building the Demo Application
Other Web Frameworks and Custom Apps
 
CHAPTER 6: PREPARING TO DEPLOY EVERYTHING ON AWS
Introduction
Using and Configuring nginx
Setting up an S3 Bucket
Setting up RDS for Postgres
Setting up ElastiCache for Redis
Setting up an Elastic Load Balancer
Visualizing the Application’s Architecture
Profiling the Ruby on Rails Application
 
CHAPTER 7: ESTIMATING AWS COSTS BASED ON FACTS
Introduction
Going over the Cost Spreadsheet
Experimenting with Different Traffic Figures
Comparing Costs to Other Cloud Providers
Benefiting from Amazon’s Free Tier
 
CHAPTER 8: DEPLOYING EVERYTHING WITH AMAZON ECS
Introduction
Creating the Production Cluster
Creating the Private Registry Repositories
Spinning up Multiple Container Instances
Registering the Task Definitions
Scheduling Services
Pushing Application Changes without Downtime
Automating Your Deployments with a Script
Exploring the AWS Console and Container Logs
 
CHAPTER 9: DOMAIN NAMES AND SSL
Introduction
Wiring up the ELB Endpoint to a Domain Name
Creating Free SSL Certificates with Amazon ACM
Updating the Security Group to Handle SSL
Updating the ELB to Handle SSL
Updating nginx to Handle SSL
 
CHAPTER 10: WHERE TO GO NEXT?
Congrats on Finishing the Course
Learn More about AWS

Nick Janetakis is a software developer and teacher who specializes in using Docker for scaling web applications. 

Nick is also a Docker Captain, which means that Docker personally reached out to him to join their team as a trusted content provider and community leader. Over the years Nick has worked as a consultant doing contract work for various clients, while also hacking away at his own personal projects.

This course has been created from experience he’s gained while being in the trenches and figuring out things through real-world experience.

You may also like…