DevOps Deployment Automation with Terraform, AWS and Docker

10h 59m 9s
English
Paid

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

Read more about the course

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)

Watch Online

This is a demo lesson (10:00 remaining)

You can watch up to 10 minutes for free. Subscribe to unlock all 98 lessons in this course and access 10,000+ hours of premium content across all courses.

View Pricing

Watch Online DevOps Deployment Automation with Terraform, AWS and Docker

0:00
/
#1: Course requirements

All Course Lessons (98)

#Lesson TitleDurationAccess
1
Course requirements Demo
02:02
2
What is DevOps Automation?
03:48
3
Technologies
06:32
4
Architecture overview
03:04
5
Recipe Application
01:08
6
AWS cost estimation
05:26
7
Disclaimer
02:17
8
How to get help
04:28
9
Install and test dependencies
06:00
10
Setup GitLab Account and SSH Authentication
04:03
11
Introduction to AWS setup
01:36
12
Setup AWS Account
03:02
13
Give IAM users access to billing information
01:27
14
Setup AWS IAM account
09:29
15
Set MFA on IAM account
05:37
16
Setup AWS-vault
08:59
17
Create budget in AWS
04:51
18
Introduction to NGINX proxy
03:26
19
Create project for NGINX proxy
00:57
20
Configure NGINX proxy GitLab project
08:32
21
Setup AWS for NGINX proxy
07:29
22
Set repository variables
04:58
23
Create NGINX config files
11:20
24
Create NGINX Dockerfile
12:41
25
Setup GitLab CI/CD pipeline build job
08:06
26
Setup GitLab CI/CD pipeline push jobs
14:25
27
Test proxy pipeline
13:10
28
Introduction to preparing project for deployment
01:58
29
Create new project on GitLab
02:44
30
Configure GitLab project
00:59
31
Add uWSGI server to project
08:50
32
Update Dockerfile to run entrypoint
08:11
33
Configure static and media files in app settings
02:52
34
Setup environment variable configuration
08:17
35
Test proxy deployment locally
09:46
36
Introduction to setting up Terraform
01:48
37
Get AWS ready for Terraform
06:49
38
Configure Terraform
10:36
39
Setup Docker Compose for running Terraform
06:40
40
Initialize Terraform
06:22
41
Create bastion EC2 instance
22:08
42
Create Terraform workspace
02:43
43
Create resource prefix
10:34
44
Add tags
09:51
45
Introduction to setting up GitLab CI-CD
03:39
46
Create skeleton CI/CD config
21:21
47
Test workflow
10:54
48
Add automated code checks
05:44
49
Setup Terraform linting
15:43
50
Create CI user in AWS
13:10
51
Add build job
08:45
52
Add Terraform plan jobs
06:52
53
Add Terraform apply jobs
04:33
54
Add Terraform destroy jobs
03:11
55
Test full workflow
08:29
56
Network overview
02:06
57
Create VPC
06:41
58
Create public subnets
16:51
59
Create private subnets
16:29
60
Introduction to database
00:51
61
Update CI user policy
03:31
62
Add RDS instance
17:45
63
Set CI variables for database
08:03
64
Introduction to updating bastion
01:30
65
Update CI user and add SSH key
04:30
66
Create user data script
05:30
67
Create bastion instance profile
07:28
68
Update bastion subnet and SSH key
03:45
69
Add security group
10:16
70
Add output for bastion address
05:06
71
Introduction to ECS
02:19
72
Add permissions to CI user
02:03
73
Create cluster
02:40
74
Create task role
09:50
75
Create log group
01:34
76
Create container definition template
09:29
77
Create task definition
16:13
78
Create and deploy service
10:04
79
Inspect ECS task logs
04:21
80
Introduction to using bastion
00:36
81
Create an API superuser
08:10
82
Test ECS service
01:57
83
Introduction to creating load balancer
01:18
84
Add permissions to CI IAM policy
01:44
85
Add load balancer
14:49
86
Update ALLOWED_HOSTS setting and test
06:48
87
Overview of media uploads
01:16
88
Add S3 permissions to CI IAM policy
01:10
89
Create S3 bucket for images
06:39
90
Give ECS task permissions for S3
06:14
91
Update app to use S3 backend for images
12:21
92
Overview of DNS
01:04
93
Register domain
01:42
94
Add IAM permissions for CI user
01:50
95
Add DNS to Terraform
19:28
96
Update load balancer and ECS to use new domain
12:32
97
Test final app
07:13
98
Thank you!
01:01

Unlock unlimited learning

Get instant access to all 97 lessons in this course, plus thousands of other premium courses. One subscription, unlimited knowledge.

Learn more about subscription

Comments

0 comments

Want to join the conversation?

Sign in to comment

Similar courses

Complete Terraform Course - Beginner to Advanced

Complete Terraform Course - Beginner to Advanced

Sources: udemy, Techworld with Nana
Learn Terraform with hands-on demos by automating AWS infrastructure. You will learn all the concepts with practical examples by automating the AWS infrastructu
6 hours 24 minutes 44 seconds
AWS Certified Solutions Architect - Associate (SAA-C03)

AWS Certified Solutions Architect - Associate (SAA-C03)

Sources: Adrian Cantrill
The AWS Certified Solutions Architect is one of the most valuable and in-demand cloud certifications available. It covers all of the core AWS services and is a fantastic entry p...
70 hours 6 minutes 47 seconds
CS50's Web Programming with Python and JavaScript

CS50's Web Programming with Python and JavaScript

Sources: HarvardX (Harvard University)
Topics include database design, scalability, security, and user experience. Through hands-on projects, you'll learn to write and use APIs, create interactive UI
14 hours 3 minutes 25 seconds
Python and Django Full Stack Web Developer Bootcamp

Python and Django Full Stack Web Developer Bootcamp

Sources: udemy
Welcome to the Python and Django Full Stack Web Developer Bootcamp! In this course we cover everything you need to know to build a website using Python, Django,
31 hours 54 minutes 39 seconds
Complete linear algebra: theory and implementation

Complete linear algebra: theory and implementation

Sources: udemy
You need to learn linear algebra! Linear algebra is perhaps the most important branch of mathematics for computational sciences, including machine learning, AI, data science, st...
32 hours 53 minutes 26 seconds