Learn everything you need to build a complete, production-ready pipeline and infrastructure on AWS with Docker.
Finish with a resuable Blueprint for all future professional projects.
Development Environment For Teams with Docker
Portable, reusable, and no collision with locally installed versions!
Continuous Deployment Pipeline
Update our code -> push to Github -> have it deploy across our infrastructure.
Service Oriented Architecture
Keeping our services (apps) separated for scalable deploys and sane development. Starring Node and React (although any application stack can be used!).
Fault Tolerant, Load Balanced and AutoScaling Infrastructure on AWS
Everyone says "you won't need it yet," but you want it. And know you'll need it.
3.5+ Hours of CloudFormation!
We explore the infamous "infrastructure as code" service by building a production template from scratch.
Twitch Inspired Presentation
We'll work along side each other and complete everything together!
after you enroll
2 Course Details
after you enroll
3 Getting Your Local Machine Ready
after you enroll
2017 Ready. Kept Up-to-Date. Planned Additions. Instructor Discussion & Support.
"The course is absurdly good, props to you sir. I consume a decent amount of resources and this course definitely stands out. I'm using pieces of this course to study for an up coming interview for an SRE (Site Reliability Engineer) - provisioning job. Keep the goodness coming!"
- Sterling Houghton, Applications Engineer (Nike)
"The moment I saw your course I knew it was going to be a big help. I'm a developer who wears many hats, and especially over the past year or more I've been getting into DevOps and managing my AWS environment. I've consumed several other AWS resources/courses, but they are usually tailored to a single AWS service at a time. I appreciate you taking the time to put some opinions together to bring several AWS services together. It's easy to follow along."
- Alexander Bihary, Senior Software Engineer (Webcollage)
"I have enjoyed the course very much so far and look forward to continuing it. I am teaching a web module to our final years, so I will be using a lot of knowledge gained from your course for that. I find your style and pace clear and easy to follow."
- Dr. Torbjorn Dahl, Associate Head for Computing, School of Computing, Electronics and Mathematics (University of Plymouth, UK)
The Entire Course Cirriculum - IN DEPTH:
Sections 1, 2, and 3
- Introduction of the course from a high level
- Prerequisites and knowledge level suggestions
- Set up of our local machine for development
- Creating and secure set up of our AWS Account
- Configuration of the AWS CLI
Section 4 - VPCs and Security
- High level Overview of AWS Virtual Private Clouds (VPCs)
- In-depth conceptual exploration of AWS VPCs
- Overview of basic networking concepts required by VPCs
- A Production Approach to VPC creation and Subnetting
- Set up of a full, production-grade VPC
- Creation of a Bastion Server for future secure logins
- Overview of AWS Identity and Access Management
Section 5 - Creating the Development Environment and API
- Intro to the Docker based development environment
- Creating Docker Images used for local development
- Leveraging Docker Compose for full-stack development with separated services
- Creation of a basic authenticated and authorized API with Node.js
- Walkthrough and Mindset of Test Driven Development with Node.js
- Set up of all modern testing and coverage tools for Node.js
- Version controlling the Code AND the Docker Images
Section 5.5 - AWS EC2 Container Service (ECS) Overview
- For those in my ECS Course, this is the same thing - so you can skip it :)
- Overview of Docker in context of AWS
- AWS ECS from a 50000 ft view
- Conceptual Deep Dive of the major ECS components (Clusters, Services, Tasks, Task Definitions)
- Understanding the supporting components of ECS (Application Load Balancers, Launch Configs, AutoScaling Groups)
Section 6 - Creating AWS Resources for the API
- Prepping the application from Section 5 for deploy
- Setting up the IAM resources and Security Groups
- Launching an AWS Relational Database Service (RDS) instance
- Creating the Elastic Application Load Balancer
- Making the ECS Cluster and Container Instances with a Launch Configuration and AutoScaling Group
Section 7 - First Time API Launch into AWS
- Building a production Docker image for our Section 5 application and pushing it up
- Setting up an ECS Task Definition for our production Docker Image
- Launching an ECS Service for our Seciton 5 application's production Docker Image
Section 8 - Continuous Deployment and Integration of API Service
- First time set up and explanation of continuous deployment
- Setting up an account on CircleCI
- Creating an independent user and deploy scripts for CircleCI
- Creating a script to update the ECS Task Definition and Service
- Writing a build script to deploy updates directly to ECS
- Note: CircleCI is free, and fits the need of setting up a first time CI/CD pipeline. We use AWS CodePipeline and CodeBuild in Section 13.
Section 9 - AutoScaling our API Service and Infrastructure
- In-depth overview on AutoScaling both ECS Services and EC2 Instances
- Setting up AutoScaling for our ECS Services
- Setting up AutoScaling for our Launch Configuration and AutoScaling Group (EC2 Instances)
Section 10 - First Infrastructure and API Launch Overview
- Recap of everything we built in Part 1
- Summary of what you can do with it right now
Section 11 - Setting up the Web Application
- Overview of deploying an existing application
- Setting up the React Project
- Creating a Test Environment with all the modern tools for React
- Snapshot testing with Jest and React
- Unit Testing with Jest, Enzyme and React
- Building an NGINX based React Docker Image for deploy
Section 12 - Building the Full Infrastructure with CloudFormation
- Overview of CloudFormation
- Exploration of the CloudFormation Basics and Essentials
- Writing all of our IAM roles and resources
- Working with Custom Parameters and Intrinsic Functions
- Creating Security Groups in CloudFormation
- Configuring an Application Load Balancer
- Creating a Launch Configuration and Autoscaling Group
- Creating an ECS Service and Task Definition
- Setting up AutoScaling for ECS Services
- Setting up AutoScaling for Launch Configuration and AutoScaling Group
- ... all of the above in context of CloudFormation
Section 13 - Continuous Deployment with AWS CodePipeline and CodeBuild
- That's right, we set up another CI/CD pipeline, but this time fully in AWS
- Setting up all IAM resources for CodePipeline and CodeBuild
- Building a custom CodeBuild Docker image
- Pushing up and Protecting our custom CodeBuild Docker image
- Creating build files and scripts for our Section 11 application
- Creating the CodePipeline and CodeBuild and testing it out!
- Section 14 - Setting up SSL on our Application Load Balancers with Route53 and AWS Certificate Manager (August 2017)
- Section 15 - Deploying Varying Services to One ECS Cluster with Different Host Names (September 2017)
- Section 16 - Running commands simultaneously on all EC2 Instances with EC2 Systems Manager (October 2017)
Along side all of the practical implementation, we'll also deeply explore the topics conceptually and technically. What's the point of having a list of steps you don't understand? That you can't extend to your needs?
The goal here is to give you a full blueprint that you can use for your own purposes. So that you can stop piecing together Frankenstein stacks by piecing together parts of one tutorial and parts of another. And then having all of it just barely work.
Oh, and one more thing. I promise we'll never say "You wouldn't do this in production."
Check out the 4 minute overview video for an intro to the course!
AWS Solutions Architect, Former TechStars HackStar, Lead Engineer @Fieldboom, and Headmaster at Awsdevops.io!
I run a blog full of free tech guides on all things development, devops and cloud computing called Tech Guides and Thoughts.
If the course isn't expanding your cloud knowledge, contact us within the first 30 days and you'll get a full refund.
Frequently Asked Questions
Is this course kept up to date?
Yes absolutely. Every time there's a major update to anything related to the stack - the course will be updated within a few weeks to reflect the changes!
When does the course start and finish?
The course starts now and never ends! It is a completely self-paced online course - you decide when you start and when you finish.
How long do I have access to the course?
How does lifetime access sound? After enrolling, you have unlimited access to this course for as long as you like - across any and all devices you own.
What if I am unhappy with the course?
We would never want you to be unhappy! If you are unsatisfied with your purchase, contact us in the first 30 days and we will give you a full refund.
Will the instructor help me out?
Absolutely. Every video has a comment section where both students AND the instructor can converse and clear up confusion. It's also a place we can extend knowledge as well!
You'll also get access to my course email that I'll answer and check everyday!
"Zero to Production with services, a team and the Cloud. How do you get there?"
This is what I set out to solve after a long, frustrated journey toiling through crappy guides, docs, and patchwork tutorials. It's like everyone was trying to keep this stuff a secret or something. Materials were either:
- incoherent, entertaining-as-a-rock
- official documentation
- for AWS Certifications
...None, which pulled me into actually understanding why and how to build a professional infrastructure for modern service applications.
So, like many other cloud professionals out there, I just went to work and figured it out on my own through actual usage. And it was pretty painful. The feedback loop is so long with infrastructure, that learning quickly is often impossible (wait for deploy with new configuration ... check for success).
This is distilling what I've learned over the years into a full blueprint. My hopes are that you can learn in hours what took me ... well, a very long time. That you'll take this, extend it, and put it to great use.
Now this isn't some "get certified" or glossary course. This is "how would I actually do this stuff if someone hired me, or if I wanted to build a new application?" and WHY.
-J Cole Morrison