O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Scaling Docker for AWS

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

Table of Contents

  1. What This Course Covers 00:02:15
  2. Dealing with Files 00:01:10
  3. Dealing with Issues 00:01:43
  4. What is Amazon ECS? 00:02:43
  5. How Does It Compare with Other Services? 00:02:27
  6. Introduction 00:00:36
  7. Setting up an Initial Course Folder 00:00:45
  8. Installing Docker 00:11:00
  9. Getting Set up on AWS 00:08:56
  10. Installing and Configuring the AWS CLI 00:08:31
  11. Benefits of Using the AWS CLI 00:01:46
  12. Creating an SSH Keypair 00:08:20
  13. Creating a Security Group 00:07:30
  14. Creating ECS IAM Roles 00:05:32
  15. Breaking down Each ECS Component 00:02:19
  16. Clusters 00:04:15
  17. Container Agent 00:08:31
  18. Container Instances 00:09:46
  19. Task Definitions 00:11:46
  20. Scheduler 00:07:16
  21. Scheduling Services 00:09:29
  22. Starting Tasks 00:05:40
  23. Private Docker Registry (ECR) 00:10:45
  24. ECS CLI 00:01:43
  25. Tearing down Our Cluster 00:03:30
  26. Introduction 00:01:12
  27. Generating a New Rails Project 00:06:24
  28. Setting up a Strong Foundation 00:09:46
  29. Dockerizing Your Rails Application 00:07:33
  30. Running the Application Locally 00:06:46
  31. Working with the Application 00:05:18
  32. Building the Demo Application 00:12:18
  33. Other Web Frameworks and Custom Apps 00:04:39
  34. Introduction 00:01:15
  35. Using and Configuring nginx 00:17:08
  36. Setting up an S3 Bucket 00:01:26
  37. Setting up RDS for Postgres 00:09:44
  38. Setting up ElastiCache for Redis 00:06:35
  39. Setting up an Elastic Load Balancer 00:16:35
  40. Visualizing the Application's Architecture 00:02:41
  41. Profiling the Ruby on Rails Application 00:16:27
  42. Introduction 00:00:42
  43. Going over the Cost Spreadsheet 00:05:21
  44. Experimenting with Different Traffic Figures 00:03:13
  45. Comparing Costs to Other Cloud Providers 00:05:46
  46. Benefiting from Amazon's Free Tier 00:03:37
  47. Introduction 00:00:48
  48. Creating the Production Cluster 00:03:06
  49. Creating the Private Registry Repositories 00:05:54
  50. Spinning up Multiple Container Instances 00:03:51
  51. Registering the Task Definitions 00:15:54
  52. Scheduling Services 00:10:29
  53. Pushing Application Changes without Downtime 00:08:37
  54. Automating Your Deployments with a Script 00:09:04
  55. Exploring the AWS Console and Container Logs 00:09:11
  56. Introduction 00:00:30
  57. Wiring up the ELB Endpoint to a Domain Nam 00:03:34
  58. Creating Free SSL Certificates with Amazon ACM 00:05:08
  59. Updating the Security Group to Handle SSL 00:01:21
  60. Updating the ELB to Handle SSL 00:03:28
  61. Updating nginx to Handle SSL 00:06:39
  62. Congrats on Finishing the Course 00:01:17
  63. Learn More about AWS 00:01:48