Udemy
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
Development
Web Development Data Science Mobile Development Programming Languages Game Development Database Design & Development Software Testing Software Engineering Development Tools No-Code Development
Business
Entrepreneurship Communications Management Sales Business Strategy Operations Project Management Business Law Business Analytics & Intelligence Human Resources Industry E-Commerce Media Real Estate Other Business
Finance & Accounting
Accounting & Bookkeeping Compliance Cryptocurrency & Blockchain Economics Finance Finance Cert & Exam Prep Financial Modeling & Analysis Investing & Trading Money Management Tools Taxes Other Finance & Accounting
IT & Software
IT Certification Network & Security Hardware Operating Systems Other IT & Software
Office Productivity
Microsoft Apple Google SAP Oracle Other Office Productivity
Personal Development
Personal Transformation Personal Productivity Leadership Career Development Parenting & Relationships Happiness Esoteric Practices Religion & Spirituality Personal Brand Building Creativity Influence Self Esteem & Confidence Stress Management Memory & Study Skills Motivation Other Personal Development
Design
Web Design Graphic Design & Illustration Design Tools User Experience Design Game Design Design Thinking 3D & Animation Fashion Design Architectural Design Interior Design Other Design
Marketing
Digital Marketing Search Engine Optimization Social Media Marketing Branding Marketing Fundamentals Marketing Analytics & Automation Public Relations Advertising Video & Mobile Marketing Content Marketing Growth Hacking Affiliate Marketing Product Marketing Other Marketing
Lifestyle
Arts & Crafts Beauty & Makeup Esoteric Practices Food & Beverage Gaming Home Improvement Pet Care & Training Travel Other Lifestyle
Photography & Video
Digital Photography Photography Portrait Photography Photography Tools Commercial Photography Video Design Other Photography & Video
Health & Fitness
Fitness General Health Sports Nutrition Yoga Mental Health Dieting Self Defense Safety & First Aid Dance Meditation Other Health & Fitness
Music
Instruments Music Production Music Fundamentals Vocal Music Techniques Music Software Other Music
Teaching & Academics
Engineering Humanities Math Science Online Education Social Science Language Teacher Training Test Prep Other Teaching & Academics
AWS Certification Microsoft Certification AWS Certified Solutions Architect - Associate AWS Certified Cloud Practitioner CompTIA A+ Cisco CCNA Amazon AWS AWS Certified Developer - Associate CompTIA Security+
Photoshop Graphic Design Adobe Illustrator Drawing Digital Painting InDesign Character Design Canva Figure Drawing
Life Coach Training Neuro-Linguistic Programming Mindfulness Personal Development Personal Transformation Meditation Life Purpose Coaching Neuroscience
Web Development JavaScript React CSS Angular PHP WordPress Node.Js Python
Google Flutter Android Development iOS Development Swift React Native Dart Programming Language Mobile Development Kotlin SwiftUI
Digital Marketing Google Ads (Adwords) Social Media Marketing Google Ads (AdWords) Certification Marketing Strategy Internet Marketing YouTube Marketing Email Marketing Retargeting
SQL Microsoft Power BI Tableau Business Analysis Business Intelligence MySQL Data Analysis Data Modeling Big Data
Business Fundamentals Entrepreneurship Fundamentals Business Strategy Online Business Business Plan Startup Freelancing Blogging Home Business
Unity Game Development Fundamentals Unreal Engine C# 3D Game Development C++ 2D Game Development Unreal Engine Blueprints Blender
30-Day Money-Back Guarantee

This course includes:

  • 11 hours on-demand video
  • 1 coding exercise
  • Full lifetime access
  • Access on mobile and TV
  • Assignments
IT & Software Network & Security Terraform

DevOps Deployment Automation with Terraform, AWS and Docker

Create production-grade scalable deployments with GitLab, EC2, ALB, ECS, ECR, VPC, S3 and Infrastructure as Code (IaC).
Highest Rated
Rating: 4.7 out of 54.7 (443 ratings)
3,929 students
Created by Mark Winterbottom, Brooke Rutherford
Last updated 5/2020
English
English [Auto]
30-Day Money-Back Guarantee

What you'll learn

  • Define Infrastructure as Code using Terraform to easily create and destroy environment
  • Design an architecture that is scalable, secure, resilient and facilitates zero downtime deployments
  • Setup professional development workflows based on GitLab Flow to automate processes and speed up deployments
  • Manage and administer an AWS account in accordance with best practices to mitigate the risk of it getting compromised

Requirements

  • Prior experience using Django and Docker
  • Familiar with AWS
  • A macOS or Windows 10 Professional machine that supports Docker Desktop (Linux should work but we cannot offer support due to various distributions)
  • Some budget and a payment method accepted by AWS
  • Patience, patience, patience

Description

Welcome to the advanced course on how to set up a deployment automation that’s capable of handling millions of users!

In this course you will learn some of the most in-demand skills in the marketplace today by creating automated workflows to deploy and manage a scalable and secure infrastructure.

The demand for DevOps engineers is skyrocketing because few people have these skills and the value they add to a business’s bottom line is so high. Software development is expensive, and DevOps saves money by automating and streamlining the process. It also makes it easier to deploy more frequently, so you can catch issues early and improve the reliability of your product or service. Not to mention it saves hundreds of hours of manually administering servers and running deployments (like the good old days).

People in DevOps roles are some of the highest earners in the industry, are looking for work the least, and are the most sought after by companies. (Source: Stack Overflow Developer Survey 2019 and Indeed).

Needless to say, mastering the technologies and skills used for DevOps is a great return on investment.

Whether you’re a developer, system administrator, or tech entrepreneur - this course will give you the tools to advance your skills in some of the most in-demand DevOps technologies in the marketplace today.

In this course, you’ll be deploying a sample Django REST API to AWS using Terraform, GitLab, Docker and a suite of AWS technologies, including:

  • Elastic Container Registry (ECR)

  • Relational Database Service (RDS)

  • Elastic Container Service (ECS)

  • Application Load Balancer (ALB)

  • Elastic Cloud Compute (EC2)

  • Virtual Private Cloud (VPC)

  • Subnets

  • Gateways

  • Simple Storage Service (S3)

  • Route53

  • Identity and Access Management (IAM)

  • and AWS Certificate Manager (ACM)

This course was designed to deploy a Django application, but it will work for any web application that runs in Docker.

In this course, you will learn how to:

  • Define your infrastructure as code so you can easily create and destroy environments as you need them, keeping AWS costs low

  • Design an architecture that is scalable, secure, resilient and facilitates zero downtime deployments

  • Setup professional development workflows based on GitLab Flow to automate processes and speed up deployments

  • Properly manage and administer an AWS account in accordance with best practices to mitigate the risk of it getting compromised (and preventing AWS bill shock)

By the end of the course you will have implemented a fully functioning deployment process, comparable to what you might find at any major tech company.

This is an advanced course that requires previous experience with Django and Docker, and familiarity with AWS. It requires you to have a budget for AWS fees and an acceptable payment method. You must also have a computer that can run Docker desktop (sorry Windows Home users).

This is a high-stakes course, so we encourage you to check out our full Requirements video before enrolling. This video and many others are free to preview, so make sure you check them out to make sure this course is right for you.

This is a hands-on course, with a bit of theory and lots of opportunities to test your knowledge. The content is challenging but rewarding. Ready for it? Let’s dive in!

Who this course is for:

  • Developers/System administrators looking to expand their knowledge into DevOps
  • Intermediate to advanced developers (or really keen beginners who don't mind jumping in the deep end to learn something exciting)
  • Junior DevOps developers looking to advance their skills

Featured review

Crimson Altima
Crimson Altima
327 courses
4 reviews
Rating: 5.0 out of 57 months ago
Mark is impressive, he speaks over every topic as if he knows the syntax off the top of his head. I'm sure no one memorizes all the terraform structuring, but Mark gives the appearance that he doesn't have to look it up every 5 seconds. Must be his lecture prepping skills. Glad I got someone to hold my hand through these waters.

Course content

16 sections • 98 lectures • 10h 57m total length

  • Preview02:01
  • Preview03:47
  • Preview06:31
  • Preview03:03
  • Preview01:07
  • Preview05:25
  • Preview02:16
  • Preview04:27

  • Install and test dependencies
    05:59
  • Setup GitLab Account and SSH Authentication
    04:02

  • Introduction to AWS setup
    01:35
  • Setup AWS Account
    03:01
  • Give IAM users access to billing information
    01:26
  • Setup AWS IAM account
    09:28
  • Set MFA on IAM account
    05:35
  • Setup AWS-vault
    08:58
  • Create budget in AWS
    04:50
  • AWS setup quiz
    3 questions

  • Introduction to NGINX proxy
    03:25
  • Create project for NGINX proxy
    00:56
  • Configure NGINX proxy GitLab project
    08:31
  • Setup AWS for NGINX proxy
    07:27
  • Set repository variables
    04:57
  • Create NGINX config files
    11:19
  • Create NGINX Dockerfile
    12:40
  • Setup GitLab CI/CD pipeline build job
    08:05
  • Setup GitLab CI/CD pipeline push jobs
    14:24
  • Test proxy pipeline
    13:09
  • NGINX proxy quiz
    4 questions

  • Introduction to preparing project for deployment
    01:57
  • Create new project on GitLab
    02:42
  • Configure GitLab project
    00:58
  • Add uWSGI server to project
    08:49
  • Update Dockerfile to run entrypoint
    08:10
  • Configure static and media files in app settings
    02:51
  • Setup environment variable configuration
    08:16
  • Test proxy deployment locally
    09:45
  • Preparing recipe app project for deployment coding exercise
    1 question

  • Introduction to setting up Terraform
    01:47
  • Get AWS ready for Terraform
    06:48
  • Configure Terraform
    10:35
  • Setup Docker Compose for running Terraform
    06:39
  • Initialize Terraform
    06:21
  • Create bastion EC2 instance
    22:07
  • Create Terraform workspace
    02:42
  • Create resource prefix
    10:33
  • Add tags
    09:50
  • Setup Terraform assignment
    1 question

  • Introduction to setting up GitLab CI-CD
    03:38
  • Create skeleton CI/CD config
    21:20
  • Test workflow
    10:53
  • Add automated code checks
    05:43
  • Setup Terraform linting
    15:41
  • Create CI user in AWS
    13:09
  • Add build job
    08:43
  • Add Terraform plan jobs
    06:51
  • Add Terraform apply jobs
    04:32
  • Add Terraform destroy jobs
    03:10
  • Test full workflow
    08:28
  • GitLab CI-CD setup quiz
    3 questions

  • Network overview
    02:05
  • Create VPC
    06:40
  • Create public subnets
    16:49
  • Create private subnets
    16:28
  • Configure network quiz
    3 questions

  • Introduction to database
    00:50
  • Update CI user policy
    03:30
  • Add RDS instance
    17:44
  • Set CI variables for database
    08:02
  • Database setup assignment
    1 question

  • Introduction to updating bastion
    01:29
  • Update CI user and add SSH key
    04:29
  • Create user data script
    05:29
  • Create bastion instance profile
    07:27
  • Update bastion subnet and SSH key
    03:44
  • Add security group
    10:15
  • Add output for bastion address
    05:05
  • Update bastion quiz
    3 questions

Instructors

Mark Winterbottom
Full-Stack Software Engineer
Mark Winterbottom
  • 4.6 Instructor Rating
  • 7,076 Reviews
  • 30,348 Students
  • 4 Courses

Hey, I’m Mark! I’m an award-winning full-stack software engineer with a passion for learning and teaching new technologies.

This passion started at 12-years-old when I taught myself how to make Windows batch scripts.  Little did I know that hacking around on my computer back then would turn into a life-long passion for programming.

I went on to complete a degree in Computer Systems Networking at Nottingham Trent University, and worked in various developer roles at multinational corporations and startups.  

I always believed that the final step to learning is teaching. And so I started a software development blog and consultancy firm called London App Developer.  My work has been featured in the Daily Mail, Mashable, TechCrunch, the Huffington Post, the Mirror and Gizmodo, and over 30,000 developers read my programming tutorials every month.

My goal for teaching on Udemy is to help developers make a better living through their code. Whether that’s by building new systems and tools to make the world a better place, or just to make their lives easier. If I can help them to increase their earning power, so they can better support their communities and loved ones, then even better. :)

My specialities are Python, Django, JavaScript, HTML5 and CSS3, but because I’m full-stack, I can work my way around most programming languages and frameworks.

I live in London, England with my wife and business partner, Brooke.

Brooke Rutherford
Brand & Marketing Communications
Brooke Rutherford
  • 4.6 Instructor Rating
  • 7,076 Reviews
  • 30,348 Students
  • 4 Courses

Hi! I'm Brooke. I'm a digital marketing professional with an expertise in social media, branding and content strategy. I'm also one half of a London-based software consultancy firm (and blog) called London App Developer. We make training guides and courses for the developer community. :)

After earning a MA in Communication from the University of Ottawa, I moved to London, England to start a career in journalism, PR and social media. After a short time in this city, I moved into education and technology, and the two have been a passion of mine ever since! 

I've worked for struggling start-ups and billion-dollar companies. My experience has been diverse. But each role and project has given me a unique perspective on how to connect and develop long-term, meaningful relationships with customers to drive sales and growth for brands and business.

Though not a developer by trade - I am in business/married to one! My role on Udemy right now is to help support the delivery of our first course called BUILD YOUR BACKEND USING PYTHON & DJANGO REST FRAMEWORK. We hope you enjoy it!

-Brooke

 

  • Udemy for Business
  • Teach on Udemy
  • Get the app
  • About us
  • Contact us
  • Careers
  • Blog
  • Help and Support
  • Affiliate
  • Terms
  • Privacy policy
  • Cookie settings
  • Sitemap
  • Featured courses
Udemy
© 2021 Udemy, Inc.