Learn DevOps: Docker, Kubernetes, Terraform and Azure DevOps
DevOps for Absolute Beginners: Azure DevOps, Docker, Kubernetes, Jenkins, Terraform, Ansible - AWS, Azure & Google Cloud
229 lessons
Easy to follow lectures and videos covering subject details.
21 hours
This course includes hours of video material. Watch on-demand, anytime, anywhere.
Certificate of Completion
You will earn a Certificate of Completion at the end of this course.
Course curriculum
- Getting Started - Master DevOps - Docker, Kubernetes, Terraform & Azure DevOps08:02
- Github Repository for the course00:03
- DevOps and Evolution of Software Development04:12
- Before DevOps - Evolution to Agile05:11
- DevOps - An Overview04:44
- DevOps, Docker and Containerization02:17
- Step 01 - Docker and DevOps - Installation and Introduction06:13
- Step 02 - Your First DevOps Use case with Docker07:54
- Quick Tip for Windows 10 : Use 192.168.99.100 in URL instead of localhost00:12
- Step 03 - Important Docker Concepts - Registry, Repository, Tag, Image and Conta07:24
- Step 04 - Playing with Docker Images - Java, JavaScript and Python06:56
- Commands Executed in this Section01:52
- Step 05 - Playing with Docker - Detached Mode and Logs05:10
- Step 06 - Playing with Docker Images and Containers05:00
- Step 07 - Understanding Docker Architecture - Docker Client, Docker Engine06:44
- Step 08 - Understanding Docker Popularity - My 3 Top Reasons05:20
- Step 09 - Learning Docker Images - Commands11:16
- Step 10 - Learning Docker Containers - Commands09:22
- Do you want to help us?00:10
- Step 11 - Learning Docker Commands - system and stats10:46
- Step 12 - 01 - Import Docker Projects into Visual Studio Code01:27
- Quick Tip for Windows 10 : Enable "Expose Demon without TLS option"00:18
- Step 12 - 02 - Building Docker Images for Python Application08:51
- Step 13 - Understanding creation of Docker Images in Depth04:02
- Step 14 - Pushing Python App Docker Image to Docker Hub05:24
- Step 15 - Building and Pushing Docker Image for Node JavaScript App07:55
- Step 16 - Building and Pushing Docker Image for Java Application08:17
- Step 17 - Building Efficient Docker Images - Improving Layer Caching07:55
- Step 18 - Understanding ENTRYPOINT vs CMD06:09
- Step 19 - Docker and Microservices - Quick Start03:57
- Step 20 - Introduction to Microservices - CE and CC03:55
- Running Microservices on Mac M1 or ARM processors00:13
- Step 21 - Running Microservices as Docker Containers06:28
- Step 22 - Using Docker Link to Connect Microservices06:09
- Step 23 - Using Custom Networking to Connect Microservices07:23
- Step 24 - Using Docker Compose to Simplify Microservices Launch07:36
- Step 25 - Understanding Docker Compose further05:38
- Step 01 - Getting Started with Docker, Kubernetes and Google Kubernetes Engine10:57
- Step 02 - Creating Google Cloud Account V202:21
- Step 03 - Creating Kubernetes Cluster with Google Kubernete Engine (GKE)05:45
- Step 04 - Review Kubernetes Cluster and Learn Few Fun Facts about Kubernetes04:11
- Step 05 - Deploy Your First Docker Container to Kubernetes Cluster11:39
- Commands Executed in this Section01:42
- Step 06 - Quick Look at Kubernetes Concepts - Pods, Replica Sets and Deployment04:58
- Step 07 - Understanding Pods in Kubernetes06:34
- Delete Kubernetes Clusters When You are NOT USING THEM00:06
- Step 08 - Understanding ReplicaSets in Kubernetes08:40
- Step 09 - Understanding Deployment in Kubernetes13:51
- Step 10 - Quick Review of Kubernetes Concepts - Pods, Replica Sets & Deployment03:22
- Step 11 - Understanding Services in Kubernetes07:56
- Step 12 - Quick Review of GKE on Google Cloud Console03:15
- Step 13 - Understanding Kubernetes Architecture - Master Node and Nodes08:13
- Step 14 - Understand Google Cloud Regions and Zones03:42
- Step 15 - Installing GCloud05:15
- Step 16 - Installing Kubectl02:44
- Step 17 - Understand Kubernetes Rollouts06:56
- Step 18 - Generate Kubernetes YAML Configuration for Deployment and Service06:24
- Step 19 - Understand and Improve Kubernetes YAML Configuration05:41
- Step 20 - Using Kubernetes YAML Configuration to Create Resources03:55
- Step 21 - Understanding Kubernetes YAML Configuration - Labels and Selectors07:36
- Step 22 - Quick Fix to reduce release downtime with minReadySeconds05:00
- Step 23 - Understanding Replica Sets in Depth - Using Kubernetes YAML Config07:51
- Step 24 - Configure Multiple Kubernetes Deployments with One Service08:30
- Step 25 - Playing with Kubernetes Commands - Top Node and Pod06:54
- Step 26 - Delete Hello World Deployments01:21
- Step 27 - Quick Introduction to Microservices - CE and CC08:24
- Step 28 - Deploy Microservice Docker Containers to Kubernetes03:23
- Step 29 - Understand Environment Variables created by Kubernetes for Services03:36
- Step 30 - Microservices and Kubernetes Service Discovery - Part 103:59
- Step 31 - Microservices and Kubernetes Service Discovery - Part 2 DNS04:58
- Step 32 - Microservices Centralized Configuration with Kubernetes ConfigMaps09:06
- Step 33 - Simplify Microservices with Kubernetes Ingress - Part 106:34
- Step 34 - Simplify Microservices with Kubernetes Ingress - Part 204:05
- Step 35 - Delete Kubernetes Clusters01:22
- Getting Started with Infrastructure as Code04:12
- Getting Started with Terraform03:44
- Step 01 - Creating and Initializing First Terraform Project06:37
- Step 02 - Create AWS IAM User Access Key and Secret02:08
- Step 03 - Configure Terraform Environment Variables for AWS Access Keys02:54
- Terraform Update : Terraform Version 0.13 and greater00:07
- Commands Executed in this Section00:29
- Step 04 - Creating AWS S3 Buckets with Terraform08:57
- Terraform Update: Enable S3 Versioning00:07
- Step 05 - Playing with Terraform State - Desired, Known and Actual10:49
- Backup of Terraform Configuration00:08
- Step 06 - Playing with Terraform Console05:48
- Step 07 - Creating AWS IAM User with Terraform06:02
- Terraform Update - Use double quotes around target00:09
- Step 08 - Updating AWS IAM User Name with Terraform02:46
- Step 09 - Understanding Terraform tfstate files in depth05:37
- Step 10 - gitignore Terraform tfstate files03:24
- Step 11 - Refactoring Terraform files - Variables, Main and Outputs05:15
- Step 12 - Creating Terraform Project for Multiple IAM Users06:57
- Step 13 - Playing with Terraform Commands - fmt, show and console05:27
- Step 14 - Recovering from Errors with Terraform03:04
- Step 15 - Understanding Variables in Terraform11:52
- Step 16 - Creating Terraform Project for Understanding List and Map07:55
- Step 17 - Adding Elements - Problem with Terraform Lists07:16
- Step 18 - Creating Terraform Project for Learning Terraform Maps13:19
- Step 19 - Quick Review of Terraform FAQ06:49
- Step 20 - Understanding Creation of EC2 Instances in AWS Console11:50
- Step 21 - Creating New Terraform Project for AWS EC2 Instances15:58
- Step 22 - Creating New EC2 Key Pair and Setting Up05:45
- Step 23 - Adding AWS EC2 Configuration to Terraform Configuration08:26
- Step 24 - Installing Http Server on EC2 with Terraform - Part 113:12
- Step 25 - 01 - Installing Http Server on EC2 with Terraform - Part 203:16
- Step 25 - 02 - Immutable Servers with Infrastructure as Code02:08
- Step 26 - Remove hardcoding of Default VPC with AWS Default VPC07:15
- Terraform Update: Retrieving Subnets in VPC00:11
- Step 27 - Remove hardcoding of subnets with Data Providers07:09
- AMI for EC2 instances00:05
- Step 28 - Remove hardcoding of AMI with Data Providers10:17
- Step 29 - Playing with Terraform Graph and Destroy EC2 Instances05:06
- Terraform Update: Getting All Subnet Ids00:05
- Step 30 - Creating New Terraform Project for AWS EC2 with Load Balancers09:25
- Step 31 - Create Security Group and Classic Load Balancer in Terraform08:28
- Step 32 - Review and Destroy AWS EC2 with Load Balancers02:03
- Step 33 - Creating Terraform Project for Storing Remote State in S305:56
- Terraform Update: Versioning and Encryption00:11
- Step 34 - Create Remote Backend Project for Creating S3 Buckets11:52
- Step 35 - Update User Project to use AWS S3 Remote Backend09:04
- Step 36 - Creating multiple environments using Terraform Workspaces07:09
- Step 37 - Creating multiple environments using Terraform Modules11:23
- Getting Started with Continuous Integration, Deployment and Delivery04:50
- Getting Started with Azure DevOps01:30
- COURSE UPDATE : Multi Stage Pipelines is automatically enabled00:05
- Step 01 - Getting Started with Azure DevOps - First Project03:40
- Azure Devops Update: [error]No hosted parallelism has been purchased or granted.00:30
- Step 02 - Setting up Git Repo for Azure DevOps Pipeline04:24
- Step 03 - Creating your first Azure DevOps Pipeline06:05
- Step 04 - Getting Started with Azure DevOps - Agents and Jobs - 108:18
- Step 05 - Getting Started with Azure DevOps - Agents and Jobs - 205:13
- Step 06 - Using dependsOn with Jobs03:40
- Backup of all the pipelines created in the course00:06
- Step 07 - Creating Azure DevOps Pipeline for Playing with Stages10:24
- Step 08 - Playing with Variables and dependsOn for Stages07:30
- Step 09 - Understanding Azure DevOps Pipeline Variables08:07
- Step 10 - Creating Azure DevOps Tasks for Copy Files and Publish Artifacts09:37
- Step 11 - Running Azure DevOps Jobs on Multiple Agents05:15
- Step 12 - Understanding Azure DevOps Deployment Jobs - Environments and Approval09:29
- Step 13 - Build and Push Docker Image in Azure DevOps - Part 107:32
- Step 14 - Build and Push Docker Image in Azure DevOps - Part 203:50
- Step 15 - Playing with Azure DevOps Releases13:42
- Getting Started with IAAC - Azure AKS with Azure DevOps, Terraform & Kubernetes01:31
- WARNING! BILLING ALERT! Terminate your AKS Cluster when you are done00:06
- Step 01 - Review Terraform Configuration for Azure Kubernetes Cluster Creation07:22
- Step 02 - Setting up Client ID, Secret and Public Key for Azure Kubernetes Clust05:06
- Step 03 - Creating Azure DevOps Pipeline for Azure Kubernetes Cluster IAAC14:49
- Step 04 - Performing Terraform apply to create Azure Kubernetes Cluster in Azure04:46
- Step 05 - 01 - Installing Azure CLI01:31
- Step 05 - 02 - Connecting to Azure Kubernetes Cluster using Azure CLI05:58
- Step 06 - Creating Azure DevOps Pipeline for Deploying Microservice to Azure AKS15:51
- Step 06 - Managing Pipelines & Github Repos for Kubernetes and Microservices02:36
- Step 07 - Creating V2 and Enable Build and Push of Docker Image - Part 103:28
- Step 08 - Creating V2 and Enable Build and Push of Docker Image - Part 206:53
- Step 09 - Performing Terraform destroy to delete Azure Kubernetes Cluster in Azu03:51
- Step 10 - Quick Review of Terraform destroy04:57
- Step 00 - IAAC for AWS EKS with Azure DevOps, Terraform and Kubernetes02:21
- Step 01 - Review Terraform Configuration for AWS EKS Cluster Creation06:21
- Step 02 - Setup AWS S3 Buckets and Subnet Configuration06:19
- Step 03 - Enable AWS Tools in Azure DevOps and Create Azure DevOps Pipeline07:08
- Step 04 - Performing Terraform apply to create AWS EKS Cluster in Azure DevOps03:20
- Step 05 - Retry Terraform apply for Creating Cluster Binding03:05
- Step 06 - 01 - Installing AWS CLI01:56
- Step 06 - 02 - Configure AWS CLI and Setup Kubernetes Connection using Service A08:42
- Step 07 - Creating Azure DevOps Pipeline for Deploying Microservice to AWS EKS11:22
- Step 08 - Creating V3 and Enable Build and Push of Docker Image - Part 109:27
- Step 09 - Creating V3 and Enable Build and Push of Docker Image - Part 204:54
- Step 10 - Performing Terraform destroy to delete AWS EKS Cluster in Azure DevOps02:08
- Step 11 - Performing Terraform destroy to delete AWS EKS Cluster in Azure DevOps02:12
- Step 01 - Getting Started with Azure DevOps with Demo Generator02:45
- Step 02 - Overview of Azure DevOps - Boards, Wiki, Repos and Pipelines09:03
- Step 03 - Exploring Azure DevOps Boards - Epics, Features and User Stories06:24
- Step 04 - Azure DevOps - Boards View vs Backlogs View04:24
- Step 05 - Understanding Sprints in Azure DevOps06:41
- Step 06 - Creating Azure DevOps Queries02:25
- Step 07 - Playing with Azure DevOps Repos02:46
- Step 08 - Quick Review of Azure DevOps Pipelines05:21
- Step 09 - Quick Review of Azure DevOps01:01
- Getting Started with Jenkins01:08
- Jenkins with Docker - Installation Update00:04
- Step 01 - Introduction and Launching Jenkins as Docker Container06:53
- Step 02 - Initializing Jenkins Plugins and Creating Github Repo05:12
- Step 03 - Setting up Docker and Maven in Jenkins and First Pipeline Run06:25
- Step 04 - Understanding Scripted Pipelines in Jenkins05:16
- Step 05 - Understanding Declarative Pipelines in Jenkins - Stages08:27
- Step 06 - Using Docker Images as Jenkins Pipeline Agents08:00
- Step 07 - Review Pipeline Syntax and Understanding Variables07:05
- Step 08 - Configuring Jenkins Pipeline Path with Docker and Maven Tools04:39
- Step 09 - Running Unit Tests and Integration Tests in Jenkins Pipelines - 107:23
- Step 10 - Running Unit Tests and Integration Tests in Jenkins Pipelines - 203:45
- Step 11 - Build and Push Docker Image in Jenkins Pipelines - 107:41
- Step 12 - Build and Push Docker Image in Jenkins Pipelines - 203:30
- Getting Started with Ansible04:13
- Step 01 - Creating EC2 Instances for Ansible - Manually and with Terraform11:32
- Step 02 - Setting Ansible Project with cfg and ansible hosts07:26
- Step 03 - Playing with Ansible Commands05:45
- Github Repo - Commands and Backup of Ansible Playbooks00:35
- Step 04 - Playing with Ansible Host File and Custom Groups08:10
- Step 05 - Creating an Ansible Playbook for Ping06:11
- Step 06 - Understanding Ansible Terminology - Control Node, Managed Nodes, Inven05:49
- Step 07 - Creating New Ansible Playbook for Executing Shell Commands04:48
- Step 08 - Playing with Ansible Variables06:00
- Step 09 - Creating New Ansible Playbook for Understanding Ansible Facts08:18
- Step 10 - Creating New Ansible Playbook for Installing Apache and Serving HTML05:26
- Step 11 - Reuse and Executing Multiple Ansible Playbooks04:55
- Step 12 - Understanding Conditionals and Loops with Ansible09:25
- Step 13 - 01 - Getting Ready for EC2 Dynamic Inventory with Ansible01:50
- Step 13 - 02 - Configuring EC2 Dynamic Inventory with Ansible12:35
- Step 14 - Creating AWS EC2 Instances with Ansible09:56
- Step 15 - Providing Declarative Configuration with Ansible09:06
- Step 16 - Deleting all AWS EC2 Instances01:13
- Step 01 - Installing VS Code03:38
- Step 02 - Download and Setup Projects in Visual Studio Code04:20
- Step 01 - Introduction to Microservices03:56
- Step 02 - Advantages of Microservices02:44
- Step 01 - Code Review - Microservices06:48
- Step 01 - Creating an AWS Root Account05:35
- Step 02 - Creating an IAM User for your AWS Account09:23
- Step 03 - Its Your Responsibility to Monitor Billing on Cloud-5 Recommendations06:16
- Step 04 - Monitor AWS Billing - Setting Billing Alerts05:10
- Step 01 - Creating an Azure Account04:05
- Step 02 - Exploring Cloud Best Practices - Minimize Costs05:47
- Step 01 - DevOps - Break down the wall03:13
- Step 02 - DevOps Perspectives - CAMS02:09
- Step 03 - DevOps Best Practices03:45
- Step 04 - DevOps Perspectives - Continuous DevOps03:07
- Step 05 - DevOps Maturity Assessment - Questions to ask06:55
- Bonus Lecture00:18
Online Courses
Learning DevOps doesn't have to be hard. Here is our curated list of recommended online courses that will guide you step-by-step in the learning process.
Learn moreBooks
Are you an avid book reader? Do you prefer paperback, or maybe Kindle version? Take a look at our curated list of DevOps related books and take your
YouTube videos
The number of high-quality and free DevOps video tutorials is growing fast. Check this curated list of recommended videos - there is no excuse to stop learning.
Learn more