Scaling Docker on AWS
4.6 (381 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.
3,391 students enrolled
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.6 (381 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.
3,391 students enrolled
Created by Nick Janetakis
Last updated 7/2017
English
Current price: $20 Original price: $25 Discount: 20% off
30-Day Money-Back Guarantee
Includes:
  • 6 hours on-demand video
  • 57 Supplemental Resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
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
Requirements
  • A computer running Windows, OSX or Linux
  • A very basic understanding of Docker
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.

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
Curriculum For This Course
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
01:10

Dealing with Issues
01:43

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?
02:42

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

How Does It Compare with Other Services?
02:27

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

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

Setting up an Initial Course Folder
00:45

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
10:59

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

Getting Set up on AWS
08:55

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
08:30

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
01:45

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
08:19

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

Creating a Security Group
07:29

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
05:31

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

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

Clusters
04:14

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

Container Agent
08:31

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

Container Instances
09:46

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

Task Definitions
11:46

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

Scheduler
07:16

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

Scheduling Services
09:28

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

Starting Tasks
05:40

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

Private Docker Registry (ECR)
10:44

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

ECS CLI
01:42

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

Tearing down Our Cluster
03:30

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

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

Generating a New Rails Project
06:24

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

Setting up a Strong Foundation
09:46

Learn how to Dockerize an existing Ruby on Rails application.

Dockerizing Your Rails Application
07:32

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

Running the Application Locally
06:46

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
05:18

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
12:17

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
04:39

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

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
17:08

Learn how to set up and manage an S3 bucket.

Setting up an S3 Bucket
01:26

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

Setting up RDS for Postgres
09:44

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

Setting up ElastiCache for Redis
06:34

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
16:35

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

Visualizing the Application's Architecture
02:41

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
16:27

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
Introduction
00:48

Create the production cluster in this hands on lab.

Creating the Production Cluster
03:06

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

Creating the Private Registry Repositories
05:53

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

Spinning up Multiple Container Instances
03:50

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

Registering the Task Definitions
15:54

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

Scheduling Services
10:29

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

Pushing Application Changes without Downtime
08:37

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
09:03

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
09:11

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

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
03:34

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

Creating Free SSL Certificates with Amazon ACM
05:08

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

Updating the Security Group to Handle SSL
01:20

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

Updating the ELB to Handle SSL
03:27

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

Updating nginx to Handle SSL
06:39

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
01:17

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

Learn More about AWS
01:48
About the Instructor
Nick Janetakis
4.3 Average rating
1,962 Reviews
12,429 Students
3 Courses
Developer / Docker Captain / Teacher

Hi, I'm Nick and I've been a self taught software developer for about 20 years.

I'm also a Docker Captain, which means that Docker personally reached out to me to join their team as a trusted content provider and community leader.

Over the years I've worked as a consultant doing contract work for various clients while also hacking away on my own projects because it's what I love to do.

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.