Scaling Docker on AWS

Learn how to build and deploy a fault tolerant, scalable and load balanced Ruby on Rails application on AWS.

4.70 (948 reviews)
Udemy
platform
English
language
Web Development
category
instructor
7,795
students
6.5 hours
content
Jun 2023
last update
$49.99
regular price

What you will 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

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.

Content

Welcome to the Course

What Does This Course Cover?
Dealing with Files
Dealing with Issues
Welcome to the Course - Quiz

Amazon ECS Overview

What is Amazon ECS?
How Does It Compare with Other Services?
Amazon ECS Overview - Quiz

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
Preparation for the Hands on Labs - Quiz

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
Deep Dive with Amazon ECS - Quiz

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
Developing the Ruby on Rails Application - Quiz

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
Preparing to Deploy Everything on AWS - Quiz

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
Estimating AWS Costs Based on Facts - Quiz

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
Deploying Everything with Amazon ECS - Quiz

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
Domain Names and SSL - Quiz

Where to Go Next?

Congrats on Finishing the Course

Screenshots

Scaling Docker on AWS - Screenshot_01Scaling Docker on AWS - Screenshot_02Scaling Docker on AWS - Screenshot_03Scaling Docker on AWS - Screenshot_04

Reviews

Greg
June 19, 2023
This covered all the aws deployment topics I was hoping for. Simple enough for a beginner to follow, but in depth enough for your first production deployment. I appreciate that it was all CLI commands. I did have some frustrations with unsupported commands, package versions, and mac M1 support. I was able to find answers through other's questions. Any questions I asked received quick replies(really appreciate that!). But it would be nicer to update the video/pdfs with these updated instructions/commands or add more official notes about things working differently for architectures/versions.
Rakesh
December 28, 2022
very poor course don't purchase everything is on CLI it will be very hard to remember the commands its better to study a cloud guru website
Anonymized
September 21, 2017
Great practical introduction. The author of these videos could have saved a ton of time by simply copy/pasting the terminal commands, then explaining the options, rather than literally speaking/typing all the things.
Anonymized
September 13, 2017
This course covers several things. If you like to have knowledge on multiple things opt for this course like costing, stress testing, SSL Certs, Container based application deployment and change mgmt. I have one feedback for the instructor instead of talking about each command line can you say more about the Service concept and show if we kill one instance how automatically one more instance will be created.
Sergey
September 12, 2017
I have 40+ courses bought on Udemy, but this is first when I leave anything less than four stars. Nick treats students like idiots. He spells (slooowly) every letter in every command. Literally. Like 'docker dash dash [ti][ai] capital [ar]' and so on. For minutes. Every lecture he spends minutes to explain (for the twentieth time!) how to unzip(!) a file from course materials. A lot of time wasted that way. Most of this course has nothing to do with Docker or scaling. The whole section is dedicated to building an actual RoR app. Not just launching, actually developing with models, migrations, actions and all. A lot of stuff is about AWS, not AWS ECS. Nick shows how to create EC2 instances, S3 buckets, security groups, copy files etc. This might be helpful for some students, but I think this stuff is for another course. There are a lot of repetitions. Section 8 just repeats, again, what we've seen in earlier sections.
David
August 24, 2017
Good course that walks you through the AWS container system. There is also a generous amount of real world integration with AWS services like RDS, Elasticache and Elastic load balancer.
Christopher
August 11, 2017
I found it very thorough. Very detailed and paced in a manner that allowed me to follow along easily.
Matt
August 9, 2017
Good pace and enough detail to get newbies like me to host containerized apps on AWS. Includes PDFs with the command line syntax which is nice if you get sick of typing AWS CLI commandsover and over. One issue I had was that AWS set me up in us-west-2 so I had to improvise a bit with replacements strings, and also get the correct AMI ID from http://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_container_instance.html . Finally, for anyone else on Windows 10, you can use the built-in bash shell for SSH stuff, don't actually need PuTTY
Rick
August 3, 2017
It seems I spend more time struggling with Rails and downloading Ruby GEMS than learning ECS. The course started off so well. I wish there was more focus on ECS and/or Docker and less so on Ruby/Rails. (A completed Rails app or any app.) If it all ran fast, that would be different. But doing a dockercompose up with the Rails app is testing my patience. If you are a Ruby/Rails guy, I think you will love this course. I am about 50% through. At 25% through, I gave five stars. Maybe it will get better again. At this point, 3.5 stars. It got better so I moved it back up to 4.5 stars. Parts of the Ruby bits I never got working. Version issues. Since I don't have a ton (read any) interest in learning Rail ATM.... Anyway.. Good overview of ECS. 5 stars. :)
Anonymized
July 30, 2017
Very good course! The best I think author added aws cli commands for each operation! Thant's cool! Thanks.
Evgeny
July 25, 2017
Lot of high quality material. Too much time spend describing CLI commands. Those who also use CLI extensively know how to do it, those who not like me - will not get the habit to use CLI instead of console anyway.
Valentyn
June 29, 2017
Its great that course is focused on CLI. Still, it would be nice to give a hint where corresponding UI is located in AWS Console UI. I knew that this course is not matching for me 100% because i use .net core for backend. But it was not too hard to replace Ruby with .net core. Maybe its worth splitting RoR app into frontend as SPA on S3/CloudFront and backend that provides REST api only - looks like more modern approach these days and will help understand AWS even more. Also, too much specifics on nginx for course targeted more on docker in AWS. I just used "jwilder/nginx-proxy" docker image for reverse proxy - this allows to not get into all these nginx configs (much simpler). What would be nice to see in this course: - I believe its possible to use EC2 autoscaling groups for ECS - thats interesting. - Advanced moniroting/logging This course let me experiment a lot - and thats main benefit. Thank you.
William
June 24, 2017
Very good explanations and good part is pdf's are provided with commands which can be used later. Prompt reply the questions asked helped me to finish the course in just couple of days. It definitely helped me gain knowledge on ECS service of AWS. Thanks for putting this together.
Rafał
June 13, 2017
Great course !!! It has ehough theory to understand the topic and then switch immediately to hands-on labs. Very good content and teacher.
Anonymized
June 4, 2017
I learned a lot about docker containers and AWS from basic to high, which is good! The course is very clear and is to understand each and every terms and I can see improvement in my skills after doing this course. Thanks Nick!

Charts

Price

Scaling Docker on AWS - Price chart

Rating

Scaling Docker on AWS - Ratings chart

Enrollment distribution

Scaling Docker on AWS - Distribution chart

Related Topics

785388
udemy ID
3/7/2016
course created date
10/27/2022
course indexed date
Bot
course submited by