Scaling Docker on AWS

Learn how to build and deploy a fault tolerant, scalable and load balanced Ruby on Rails application on AWS.
4.3 (191 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.
1,916 students enrolled Bestselling in AWS
40% off
Take This Course
  • Lectures 63
  • Length 6 hours
  • Skill Level All Levels
  • Languages English
  • Includes Lifetime access
    30 day money back guarantee!
    Available on iOS and Android
    Certificate of Completion
Wishlisted Wishlist

How taking a course works


Find online courses made by experts from around the world.


Take your courses with you and learn anywhere, anytime.


Learn and practice real-world skills and achieve your goals.

About This Course

Published 3/2016 English

Course Description

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.

What are the requirements?

  • A computer running Windows, OSX or Linux
  • A very basic understanding of Docker

What am I going to get from this course?

  • 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

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

What you get with this course?

Not for you? No problem.
30 day money back guarantee.

Forever yours.
Lifetime access.

Learn on the go.
Desktop, iOS and Android.

Get rewarded.
Certificate of completion.


Section 1: Welcome to the Course

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

Dealing with Files
Dealing with Issues
Welcome to the Course - Quiz
1 question
Section 2: Amazon ECS Overview

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


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

Amazon ECS Overview - Quiz
3 questions
Section 3: Preparation for the Hands on Labs

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


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


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


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


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


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


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


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.

Preparation for the Hands on Labs - Quiz
3 questions
Section 4: Deep Dive with Amazon ECS
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.


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


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


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.


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


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


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.

Deep Dive with Amazon ECS - Quiz
4 questions
Section 5: Developing the Ruby on Rails Application

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


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


Learn how to Dockerize an existing Ruby on Rails application.


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


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


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.


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.

Developing the Ruby on Rails Application - Quiz
4 questions
Section 6: Preparing to Deploy Everything on AWS

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.


Learn how to set up and manage an S3 bucket.


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


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


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


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


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.

Preparing to Deploy Everything on AWS - Quiz
4 questions
Section 7: Estimating AWS Costs Based on Facts

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


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


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


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

Estimating AWS Costs Based on Facts - Quiz
2 questions
Section 8: Deploying Everything with Amazon ECS

Create the production cluster in this hands on lab.


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


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


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


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


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


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


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.

Deploying Everything with Amazon ECS - Quiz
4 questions
Section 9: Domain Names and SSL

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


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


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


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


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

Domain Names and SSL - Quiz
3 questions
Section 10: Where to Go Next?

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


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

Students Who Viewed This Course Also Viewed

  • Loading
  • Loading
  • Loading

Instructor Biography

Nick Janetakis, 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.

Ready to start learning?
Take This Course