Buying for a Team? Gift This Course
Wishlisted Wishlist

Please confirm that you want to add Scaling Docker on AWS to your Wishlist.

Add to Wishlist

Scaling Docker on AWS

Learn how to build and deploy a fault tolerant, scalable and load balanced Ruby on Rails application on AWS.
4.4 (227 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
2,144 students enrolled
Created by Nick Janetakis
Last updated 6/2016
$15 $25 40% off
30-Day Money-Back Guarantee
  • 6 hours on-demand video
  • 57 Supplemental Resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Have a coupon?

Learn to deploy Docker at scale in about 6 hours

Looking to scale your web applications with Docker? How about gaining heaps of practical knowledge about working with Amazon Web Services (AWS)?

Prepare to get excited about this course!

AWS 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 this course can be used to apply for DevOps or cloud computing positions.

The main AWS component that you'll learn about in this 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 of this course will be all about Dockerizing 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 of this course 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.

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.

"Excellent teacher and great material - easy to follow and informative. I especially like the hands-on labs."

Here's what you'll get when you sign up to my course today:

  • 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.

You're getting all of that for just $25.

This course is jam packed with over 60 lectures, 6+ hours of videos and quizzes. You'll also receive full PDF text directions for each video lecture and complete source code examples.

"This training is great to start using ECS on AWS. It's very clear and the instructor explains really well the concepts of both, Docker and AWS and how they work together."

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.

"What I loved most about this course was that I could tell how much thought Nick put into arranging the labs and resources."

Why is this course for you?

After finishing this course you'll have a ton of knowledge about using Docker on AWS. You'll be able to apply this knowledge to your own projects or use it to further your career by applying for DevOps or cloud computing jobs.

You're walking away with not only knowledge, but complete source code and working examples that you can reference for life.

Who is the target audience?
  • Anyone who wants to learn how to scale Docker on AWS
  • Anyone who wants to deploy a web application in an automated way
  • Anyone who wants to scale their web application to multiple servers
  • Anyone who wants to further their career by improving their DevOps skills
Students Who Viewed This Course Also Viewed
What Will I Learn?
Learn how to Dockerize a Ruby on Rails application
Ability to scale and load balance a web application to many hosts
General AWS knowledge that you can apply outside of Docker
Confidence to apply for DevOps positions at software companies
View Curriculum
  • A computer running Windows, OSX or Linux
  • A very basic understanding of Docker
Curriculum For This Course
Expand All 63 Lectures Collapse All 63 Lectures 06:12:53
Welcome to the Course
3 Lectures 05:09

Learn how to develop, deploy and scale a fault tolerant Dockerized web application on Amazon Web Services (AWS).

Preview 02:16

Dealing with Files

Dealing with Issues

Welcome to the Course - Quiz
1 question
Amazon ECS Overview
2 Lectures 05:09

Get an understanding of what Amazon ECS is and how it will help you deploy and scale Dockerized web applications.

What is Amazon ECS?

Learn how Amazon ECS compares to other Amazon and non-Amazon related services.

How Does It Compare with Other Services?

Amazon ECS Overview - Quiz
3 questions
Preparation for the Hands on Labs
9 Lectures 52:48

Learn how to organize all of this course's resources.

Setting up an Initial Course Folder

Learn how to install Docker on OSX, Windows and Linux. You will be able to work in the comfort of your own operating system.

Installing Docker

Learn the basics of AWS by creating a free account and getting familiar with Identity and Access Management (IAM).

Getting Set up on AWS

Learn how to install the AWS CLI and configure it so that you can connect to your AWS user account on a specific region.

Installing and Configuring the AWS CLI

Learn why it's a good idea to primarily use the AWS CLI instead of the AWS Web Console.

Benefits of Using the AWS CLI

Learn how to create an SSH Keypair on AWS. This will prime you to be able to connect to future EC2 instances.

Creating an SSH Keypair

Learn how to create and manage security groups on the AWS platform.

Creating a Security Group

Learn how to create Amazon ECS specific IAM roles so that EC2 instances and other AWS resources can interact with your ECS cluster on your behalf.

Creating ECS IAM Roles

Preparation for the Hands on Labs - Quiz
3 questions
Deep Dive with Amazon ECS
11 Lectures 01:14:56
Breaking down Each ECS Component

Learn what an ECS cluster is and then gain experience working with one in a hands on lab.


Learn what the container agent is and then gain experience configuring it in a hands on lab.

Container Agent

Learn what a container instance is and then learn how to create and manage one in a hands on lab.

Container Instances

Learn what a task definition is and then get familiar working with one during a hands on lab.

Task Definitions

Learn the ins and outs of what the Amazon ECS scheduler does, and how it can help you manage your cluster's state.


Learn how to create an ECS service in this hands on lab.

Scheduling Services

Learn how to start and stop tasks on an ECS cluster in this hands on lab.

Starting Tasks

Learn all how to interact and manage your own private Docker Registry with Amazon ECR in this hands on lab.

Private Docker Registry (ECR)

Learn about the ECS CLI, which is Amazon's specialized CLI tool for managing an ECS cluster.


Learn how to clean up everything we've done in previous lectures in this hands on lab.

Tearing down Our Cluster

Deep Dive with Amazon ECS - Quiz
4 questions
Developing the Ruby on Rails Application
8 Lectures 53:53

Learn how to generate a new Ruby on Rails application on your workstation without even needing Ruby installed.

Generating a New Rails Project

Learn how to create a 12 factor Ruby on Rails application by following a number of best practices.

Setting up a Strong Foundation

Learn how to Dockerize an existing Ruby on Rails application.

Dockerizing Your Rails Application

Learn how to run the Dockerized Ruby on Rails application on your workstation.

Running the Application Locally

Learn how to work with your shiny new Docker based Ruby on Rails application on a day to day basis, such as running various Rails commands, etc..

Working with the Application

Review the source code that was created for the demo application which is a multi-service Ruby on Rails application that depends on Postgres, Redis and Sidekiq.

Building the Demo Application

Learn how you can apply all of this Ruby on Rails knowledge to your favorite web framework with very minor changes. You'll also learn how to create a custom Dockerized Rails application based off the demo app.

Other Web Frameworks and Custom Apps

Developing the Ruby on Rails Application - Quiz
4 questions
Preparing to Deploy Everything on AWS
8 Lectures 01:11:49

Learn what nginx is and how to use it. Along the way you'll get used to creating production ready nginx config files and gain the confidence to use nginx on future projects.

Using and Configuring nginx

Learn how to set up and manage an S3 bucket.

Setting up an S3 Bucket

Learn what Amazon RDS is and how to manage an RDS instance.

Setting up RDS for Postgres

Learn what Amazon ElastiCache is and how to manage an ElastiCache instance.

Setting up ElastiCache for Redis

Learn what Amazon ELB (Elastic Load Balancing) is and how to use it to scale your web applications out horizontally.

Setting up an Elastic Load Balancer

Learn about and visualize all of the AWS resources used in this course in a diagram.

Visualizing the Application's Architecture

Learn how to profile a web application with Docker and other open source tools. You'll learn what type of resources your application will require in production.

Profiling the Ruby on Rails Application

Preparing to Deploy Everything on AWS - Quiz
4 questions
Estimating AWS Costs Based on Facts
5 Lectures 18:36

Review a spreadsheet that goes over pricing out a Dockerized web application on AWS.

Preview 05:20

Learn and see how the price changes based on different traffic figures.

Preview 03:12

Get a cost break down and comparison to another cloud hosting provider.

Preview 05:45

Learn why Amazon's free tier is awesome and how you can take advantage of it.

Preview 03:37

Estimating AWS Costs Based on Facts - Quiz
2 questions
Deploying Everything with Amazon ECS
9 Lectures 01:06:51

Create the production cluster in this hands on lab.

Creating the Production Cluster

Create the production repositories on our private Docker Registry in this hands on lab.

Creating the Private Registry Repositories

Create multiple EC2 instances on our production ECS cluster during this hands on lab.

Spinning up Multiple Container Instances

Learn how to create various types of task definitions in this hands on lab.

Registering the Task Definitions

Learn how to schedule services on our production Docker cluster in this hands on lab.

Scheduling Services

Learn how to perform a rolling restart by pushing application changes without downtime during this hands on lab.

Pushing Application Changes without Downtime

Learn how to automate everything we've done in this section so far with a simple script during this hands on lab.

Automating Your Deployments with a Script

Take a peek at the AWS Web Console and also learn how to view the log files of your containers in case you need to troubleshoot issues in the future.

Exploring the AWS Console and Container Logs

Deploying Everything with Amazon ECS - Quiz
4 questions
Domain Names and SSL
6 Lectures 20:37

Learn how to hook up a custom domain name to an Amazon ELB using a domain registrar of your choice.

Wiring up the ELB Endpoint to a Domain Name

Learn how to create and manage free SSL certificates using the Amazon ACM resource.

Creating Free SSL Certificates with Amazon ACM

Learn how to update a security group to accept SSL (HTTPS) connections.

Updating the Security Group to Handle SSL

Learn how to configure an Amazon ELB to accept and forward SSL (HTTPS) connections.

Updating the ELB to Handle SSL

Learn how to update nginx so that it can properly handle SSL (HTTPS) connections.

Updating nginx to Handle SSL

Domain Names and SSL - Quiz
3 questions
Where to Go Next?
2 Lectures 03:05

Learn how to contact me directly and how to share this course with your friends.

Congrats on Finishing the Course

Learn where to go next if you want to take a deeper look into the AWS platform.

Learn More about AWS
About the Instructor
4.4 Average rating
1,259 Reviews
8,257 Students
3 Courses
Developer / Teacher / Entrepreneur

Hi, my name is Nick and I have been interested in software development and technology since the mid-1990s.

Over the years I've worked as a consultant doing contract work for various clients.

Nowadays I'm really into teaching and training but I'm always working on side projects and keeping up with the latest technology trends because it's my passion.

I routinely attend technical meetups in NYC and maybe I have met some of you already.

All of my courses have been created from experience I've gained while being in the trenches and figuring out things through real world experience.

Report Abuse