|
6 | 6 | - Azure Devops - https://github.com/in28minutes/azure-devops-kubernetes-terraform-pipeline |
7 | 7 | - Jenkins - https://github.com/in28minutes/jenkin-devops-microservice |
8 | 8 |
|
| 9 | +## Course Introduction |
| 10 | + |
| 11 | +200+ Videos. 20+ Hours. 6 DevOps Tools - Docker, Kubernetes, Azure Devops, Jenkins, Terraform, and Ansible. 3 Different Clouds - AWS, Azure and Google Cloud. |
| 12 | + |
| 13 | +Do you need more reasons for enrolling for this amazing course on DevOps? |
| 14 | + |
| 15 | +Do you have ZERO experience with DevOps with Docker, Kubernetes, Azure Devops, Jenkins, Terraform, Ansible, AWS, Azure and Google Cloud? No Problem. |
| 16 | + |
| 17 | +Do you have ZERO experience with DevOps Containers and Container Orchestration with Docker and Kubernetes? No Problem. |
| 18 | + |
| 19 | +Do you have ZERO experience with Continuous Integration or Continuous Delivery in DevOps with Azure Devops and Jenkins? No Problem. |
| 20 | + |
| 21 | +Do you have ZERO experience with the Cloud? No Problem. |
| 22 | + |
| 23 | +Are you ready to learn DevOps with Docker, Kubernetes, Terraform, Ansible, Jenkins and Azure Devops in multiple clouds - AWS, Azure and Google Cloud? |
| 24 | + |
| 25 | +Do you want to join 300,000+ learners having Amazing Learning Experiences with in28Minutes? |
| 26 | + |
| 27 | +Buckle up and Get ready for this wonderful ride on DevOps, Microservices and the Cloud. |
| 28 | + |
| 29 | +Look No Further! |
| 30 | + |
| 31 | +## Course Overview |
| 32 | + |
| 33 | +DevOps is all about People, Process and Tools. In this course, you will understand the basics of DevOps and learn to do DevOps with Docker, Kubernetes, Ansible, Terraform, Azure DevOps and Jenkins. You will learn to implement DevOps with Continuous Integration, Continuous Delivery and Infrastructure as Code. You will play with 3 different clouds - AWS, Azure and Google Cloud. |
| 34 | + |
| 35 | +You will do DevOps with Docker to create and run Docker images for: |
| 36 | +- Hello World Applications - Python, JavaScript and Java |
| 37 | +- Microservices - Currency Exchange and Currency Conversion |
| 38 | + |
| 39 | +You will learn the basics of Kubernetes on the Google Kubernetes Engine implementing Service Discovery, Centralized Configuration and Load Balancing for Microservices. You will do DevOps with Kubernetes using Terraform (Infrastructure as Code) and Azure DevOps (Continuous Delivery) on multiple cloud platforms (AWS and Azure) |
| 40 | + |
| 41 | +You will learn the basics of Continuous Integration and Continuous Delivery and implement them using Jenkins and Azure DevOps. You will learn to Create Kubernetes Clusters and Deploy Microservices to Kubernetes using Azure DevOps Pipelines on the Cloud with AWS EKS and Azure AKS. |
| 42 | + |
| 43 | +You will learn the basics of Terraform and Ansible and implement Infrastructure as Code. You will provision a number of AWS Resources - EC2 Instances and Load Balancers - using Terraform and configure them with Ansible. You will learn to provision Kubernetes Clusters in AWS and Azure using Terraform. You would learn to run Terraform Configuration in Azure DevOps Pipelines. |
| 44 | + |
| 45 | +This course would be a perfect first step as an introduction to DevOps. |
| 46 | + |
| 47 | + |
| 48 | +## What you'll learn |
| 49 | +- You will Learn the Fundamentals of DevOps and Kubernetes from Zero, no previous experience required |
| 50 | +- You will learn the Basic Kubernetes Concepts - Pods, Replica Sets and Deployment |
| 51 | +- You will learn the Basics of Docker - Images, Repository and Containers |
| 52 | +- You will learn the important Kubernetes and Docker commands |
| 53 | +- You will understand Docker and Kubernetes Architecture |
| 54 | +- You will learn to use Kubernetes to Manage Your Clusters |
| 55 | +- You will learn the basics of Microservices |
| 56 | +- You will use Kubernetes Declaratively with YAML Configuration |
| 57 | +- You will learn to expose your Kubernetes Deployments with Services and Ingress |
| 58 | +- You will play with Docker, Docker Compose and Kubernetes |
| 59 | +- You will implement Service Discovery, Centralized Configuration and Load Balancing for microservices deployed in Kubernetes |
| 60 | +- You will implement different Auto Scaling approaches with Kubernetes |
| 61 | +- You will use Google Stackdriver for Tracing, Error Reporting and Logging |
| 62 | +- You will integrate Spring Boot Microservices on Kubernetes with Istio |
| 63 | +- You will perform Blue Green Deployments and Canary Deployments with Istio |
| 64 | +- You will integrate Kiali, Graphana and Prometheus with Istio and Kubernetes |
| 65 | +- You will implement Distributed Tracing for Spring Boot Microsevices with Istio and Jaegar |
| 66 | +- You will use Helm to Automate Microservices Deployment on Kubernetes |
| 67 | +- You will Join 300,000 Learners having AMAZING LEARNING Experiences with in28Minutes |
| 68 | + |
| 69 | +## Requirements |
| 70 | +- You have an attitude to learn while having fun :) |
| 71 | +- You have some programming experience with Java, Spring and Spring Boot |
| 72 | +- You DO NOT need to have any experience with Kubernetes or Docker |
| 73 | +- We will help you install Eclipse, Git client and Docker Desktop |
| 74 | + |
| 75 | +## Who is this course for |
| 76 | +- You are a Java Spring Boot developer getting started with the Cloud |
| 77 | +- You want to deploy your Java applications with Kubernetes |
| 78 | +- You want to deploy your Spring Boot applications with Kubernetes |
| 79 | +- You are a Java Developer and You are curious about Kubernetes |
| 80 | +- You want to learn to play with Docker, Kubernetes and Spring Boot Microservices |
| 81 | + |
9 | 82 | ## Step By Step Details |
10 | 83 |
|
11 | | -### Docker and DevOps |
| 84 | +### Promo |
| 85 | +- 00 - Step 00 - Master Devops - Docker, Kubernetes, Terraform and Azure Devops - Promo |
| 86 | + |
| 87 | +### Quick Overview of DevOps |
| 88 | +- Step 01 - Master Devops - Docker, Kubernetes, Terraform and Azure Devops - 01 - Intro |
| 89 | +- Step 02 - DevOps and Evolution of Software Development |
| 90 | +- Step 03 - Evolution to Agile |
| 91 | +- Step 04 - DevOps - An Overview |
| 92 | + |
| 93 | +### Start DevOps with Docker |
| 94 | +- Step 00 00 - DevOps and Containerization |
12 | 95 | - Step 01 - Docker and DevOps - Installation and Introduction |
13 | 96 | - Step 02 - Your First Docker Usecase |
14 | 97 | - Step 03 - Important Docker Concepts - Registry, Repository, Tag, Image and Container |
|
20 | 103 | - Step 09 - Learning Docker Images - Commands |
21 | 104 | - Step 10 - Learning Docker Containers - Commands |
22 | 105 | - Step 11 - Learning Docker Commands - system and stats |
23 | | -- Step 12 - Building Docker Images for Python Application |
| 106 | +- Step 12 - 01 - Import Docker Projects into Visual Studio Code |
| 107 | +- Step 12 - 02 - Building Docker Images for Python Application |
24 | 108 | - Step 13 - Understanding creation of Docker Images in Depth |
25 | 109 | - Step 14 - Pushing Python App Docker Image to Docker Hub |
26 | 110 | - Step 15 - Building and Pushing Docker Image for Node JavaScript App |
|
35 | 119 | - Step 24 - Using Docker Compose to Simplify Microservices Launch |
36 | 120 | - Step 25 - Understanding Docker Compose further |
37 | 121 |
|
38 | | -### Kubernetes and DevOps |
| 122 | +### DevOps with Kubernetes on Google Kubernetes Engine |
39 | 123 | - Step 01 - Getting Started with Docker, Kubernetes and Google Kubernetes Engine |
40 | 124 | - Step 02 - Creating Google Cloud Account |
41 | 125 | - Step 03 - Creating Kubernetes Cluster with Google Kubernete Engine (GKE) |
|
51 | 135 | - Step 13 - Understanding Kubernetes Architecture - Master Node and Nodes |
52 | 136 | - Step 14 - Understand Google Cloud Regions and Zones |
53 | 137 | - Step 15 - Installing GCloud |
54 | | -- Step 16 - Installing Kubectl |
| 138 | +- Step 16 - Installing Kubectl |
55 | 139 | - Step 17 - Understand Kubernetes Rollouts |
56 | 140 | - Step 18 - Generate Kubernetes YAML Configuration for Deployment and Service |
57 | 141 | - Step 19 - Understand and Improve Kubernetes YAML Configuration |
|
72 | 156 | - Step 34 - Simplify Microservices with Kubernetes Ingress - Part 2 |
73 | 157 | - Step 35 - Delete Kubernetes Clusters |
74 | 158 |
|
75 | | -### Terraform |
| 159 | +### Getting Started with Terraform |
| 160 | +- Step 00 00 - Getting Started with Infrastructure as Code |
| 161 | +- Step 00 01 - Getting Started with Terraform |
76 | 162 | - Step 01 - Creating and Initializing First Terraform Project |
77 | 163 | - Step 02 - Create AWS IAM User Access Key and Secret |
78 | 164 | - Step 03 - Configure Terraform Environment Variables for AWS Access Keys |
|
90 | 176 | - Step 15 - Understanding Variables in Terraform |
91 | 177 | - Step 16 - Creating Terraform Project for Understanding List and Map |
92 | 178 | - Step 17 - Adding Elements - Problem with Terraform Lists |
93 | | -- Step 18 - Creating Terraform Project for Learning Terraform Maps |
| 179 | +- Step 18 - Creating Terraform Project for Learning Terraform Maps |
94 | 180 | - Step 19 - Quick Review of Terraform FAQ |
95 | 181 | - Step 20 - Understanding Creation of EC2 Instances in AWS Console |
96 | 182 | - Step 21 - Creating New Terraform Project for AWS EC2 Instances |
97 | 183 | - Step 22 - Creating New EC2 Key Pair and Setting Up |
98 | 184 | - Step 23 - Adding AWS EC2 Configuration to Terraform Configuration |
99 | 185 | - Step 24 - Installing Http Server on EC2 with Terraform - Part 1 |
100 | | -- Step 25 - Installing Http Server on EC2 with Terraform - Part 2 |
| 186 | +- Step 25 - 01 - Installing Http Server on EC2 with Terraform - Part 2 |
| 187 | +- Step 25 - 02 - Immutable Servers with Infrastructure as Code |
101 | 188 | - Step 26 - Remove hardcoding of Default VPC with AWS Default VPC |
102 | 189 | - Step 27 - Remove hardcoding of subnets with Data Providers |
103 | 190 | - Step 28 - Remove hardcoding of AMI with Data Providers |
104 | 191 | - Step 29 - Playing with Terraform Graph and Destroy EC2 Instances |
105 | 192 | - Step 30 - Creating New Terraform Project for AWS EC2 with Load Balancers |
106 | 193 | - Step 31 - Create Security Group and Classic Load Balancer in Terraform |
107 | 194 | - Step 32 - Review and Destroy AWS EC2 with Load Balancers |
108 | | -- Step 33 - Creating Terraform Project for Storing Remote State in S3 |
| 195 | +- Step 33 - Creating Terraform Project for Storing Remote State in S3 |
109 | 196 | - Step 34 - Create Remote Backend Project for Creating S3 Buckets |
110 | 197 | - Step 35 - Update User Project to use AWS S3 Remote Backend |
111 | 198 | - Step 36 - Creating multiple environments using Terraform Workspaces |
112 | 199 | - Step 37 - Creating multiple environments using Terraform Modules |
113 | 200 |
|
114 | | -### Ansible |
115 | | -- Step 01 - Creating EC2 Instances for Ansible - Manually and with Terraform |
116 | | -- Step 02 - Setting Ansible Project with cfg and ansible hosts |
117 | | -- Step 03 - Playing with Ansible Commands |
118 | | -- Step 04 - Playing with Ansible Host File and Custom Groups |
119 | | -- Step 05 - Creating an Ansible Playbook for Ping |
120 | | -- Step 06 - Understanding Ansible Terminology - Control Node, Managed Nodes, Inventory |
121 | | -- Step 07 - Creating New Ansible Playbook for Executing Shell Commands |
122 | | -- Step 08 - Playing with Ansible Variables |
123 | | -- Step 09 - Creating New Ansible Playbook for Understanding Ansible Facts |
124 | | -- Step 10 - Creating New Ansible Playbook for Installing Apache and Serving HTML |
125 | | -- Step 11 - Reuse and Executing Multiple Ansible Playbooks |
126 | | -- Step 12 - Understanding Conditionals and Loops with Ansible |
127 | | -- Step 13 - Configuring EC2 Dynamic Inventory with Ansible |
128 | | -- Step 14 - Creating AWS EC2 Instances with Ansible |
129 | | -- Step 15 - Providing Declarative Configuration with Ansible |
130 | | -- Step 16 - Deleting all AWS EC2 Instances |
131 | | - |
132 | | -### Azure DevOps - Pipelines |
| 201 | +### Learn Azure DevOps - Continuous Integration, Deployment and Delivery |
| 202 | +- Step 00 00 - Getting Started with Continuous Integration, Deployment and Delivery |
| 203 | +- Step 00 01 - Getting Started with Azure DevOps |
133 | 204 | - Step 01 - Getting Started with Azure DevOps - First Project |
134 | 205 | - Step 02 - Setting up Git Repo for Azure DevOps Pipeline |
135 | 206 | - Step 03 - Creating your first Azure DevOps Pipeline |
136 | 207 | - Step 04 - Getting Started with Azure DevOps - Agents and Jobs - 1 |
137 | 208 | - Step 05 - Getting Started with Azure DevOps - Agents and Jobs - 2 |
138 | 209 | - Step 06 - Using dependsOn with Jobs |
139 | | -- Step 07 - Creating Azure DevOps Pipeline for Playing with Stages |
| 210 | +- Step 07 - Creating Azure DevOps Pipeline for Playing with Stages |
140 | 211 | - Step 08 - Playing with Variables and dependsOn for Stages |
141 | 212 | - Step 09 - Understanding Azure DevOps Pipeline Variables |
142 | 213 | - Step 10 - Creating Azure DevOps Tasks for Copy Files and Publish Artifacts |
|
146 | 217 | - Step 14 - Build and Push Docker Image in Azure DevOps - Part 2 |
147 | 218 | - Step 15 - Playing with Azure DevOps Releases |
148 | 219 |
|
149 | | -### CI, CD, IAAC with Kubernetes on Azure with Azure DevOps - Pipelines |
| 220 | +### CI, CD and IAAC on Azure AKS Kubernetes Clusters with Docker, Azure DevOps and Terraform |
| 221 | +- Step 00 - Geting Started with IAAC for Azure AKS with Azure DevOps, Terraform and Kubernetes |
150 | 222 | - Step 01 - Review Terraform Configuration for Azure Kubernetes Cluster Creation |
151 | 223 | - Step 02 - Setting up Client ID, Secret and Public Key for Azure Kubernetes Cluster Creation |
152 | | -- Step 03 - Creating Azure DevOps Pipeline for Azure Kubernetes Cluster IAAC |
| 224 | +- Step 03 - Creating Azure DevOps Pipeline for Azure Kubernetes Cluster IAAC |
153 | 225 | - Step 04 - Performing Terraform apply to create Azure Kubernetes Cluster in Azure DevOps |
154 | | -- Step 05 - Connecting to Azure Kubernetes Cluster using Azure CLI |
155 | | -- Step 06 - Creating Azure DevOps Pipeline for Deploying Microservice to Azure Kubernetes |
| 226 | +- Step 05 - 01 - Installing Azure CLI |
| 227 | +- Step 05 - 02 - Connecting to Azure Kubernetes Cluster using Azure CLI |
| 228 | +- Step 06 - 01 - Creating Azure DevOps Pipeline for Deploying Microservice to Azure Kubernetes |
| 229 | +- Step 06 - 02 - Managing Pipelines and Github Repositories for Kubernetes and Microservices |
156 | 230 | - Step 07 - Creating V2 and Enable Build and Push of Docker Image - Part 1 |
157 | 231 | - Step 08 - Creating V2 and Enable Build and Push of Docker Image - Part 2 |
158 | 232 | - Step 09 - Performing Terraform destroy to delete Azure Kubernetes Cluster in Azure DevOps |
159 | 233 | - Step 10 - Quick Review of Terraform destroy |
160 | 234 |
|
161 | | -### CI, CD, IAAC with Kubernetes on AWS with Azure DevOps - Pipelines |
| 235 | +### CI, CD and IAAC on AWS EKS Kubernetes Clusters with Docker, Azure DevOps and Terraform |
| 236 | +- Step 00 - Geting Started with IAAC for AWS EKS with Azure DevOps, Terraform and Kubernetes |
162 | 237 | - Step 01 - Review Terraform Configuration for AWS EKS Cluster Creation |
163 | 238 | - Step 02 - Setup AWS S3 Buckets and Subnet Configuration |
164 | 239 | - Step 03 - Enable AWS Tools in Azure DevOps and Create Azure DevOps Pipeline |
165 | 240 | - Step 04 - Performing Terraform apply to create AWS EKS Cluster in Azure DevOps |
166 | 241 | - Step 05 - Retry Terraform apply for Creating Cluster Binding |
167 | | -- Step 06 - Configure AWS CLI and Setup Kubernetes Connection using Service Account |
| 242 | +- Step 06 - 01 - Installing AWS CLI |
| 243 | +- Step 06 - 02 - Configure AWS CLI and Setup Kubernetes Connection using Service Account |
168 | 244 | - Step 07 - Creating Azure DevOps Pipeline for Deploying Microservice to AWS EKS |
169 | 245 | - Step 08 - Creating V3 and Enable Build and Push of Docker Image - Part 1 |
170 | 246 | - Step 09 - Creating V3 and Enable Build and Push of Docker Image - Part 2 |
171 | 247 | - Step 10 - Performing Terraform destroy to delete AWS EKS Cluster in Azure DevOps - 1 |
172 | 248 | - Step 11 - Performing Terraform destroy to delete AWS EKS Cluster in Azure DevOps - 2 |
173 | 249 |
|
174 | | -### Azure DevOps - Management Tools |
| 250 | +### Learn Azure DevOps with Boards and Backlogs |
175 | 251 | - Step 01 - Getting Started with Azure DevOps with Demo Generator |
176 | 252 | - Step 02 - Overview of Azure DevOps - Boards, Wiki, Repos and Pipelines |
177 | 253 | - Step 03 - Exploring Azure DevOps Boards - Epics, Features and User Stories |
|
182 | 258 | - Step 08 - Quick Review of Azure DevOps Pipelines |
183 | 259 | - Step 09 - Quick Review of Azure DevOps |
184 | 260 |
|
185 | | -### CI/CD with Jenkins |
| 261 | +### Learn Continuous Integration with Jenkins |
| 262 | +- Step 00 01 - Getting Started with Jenkins |
186 | 263 | - Step 01 - Introduction and Launching Jenkins as Docker Container |
187 | 264 | - Step 02 - Initializing Jenkins Plugins and Creating Github Repo |
188 | 265 | - Step 03 - Setting up Docker and Maven in Jenkins and First Pipeline Run |
|
196 | 273 | - Step 11 - Build and Push Docker Image in Jenkins Pipelines - 1 |
197 | 274 | - Step 12 - Build and Push Docker Image in Jenkins Pipelines - 2 |
198 | 275 |
|
| 276 | +### Getting Started with Ansible |
| 277 | +- Step 00 01 - Getting Started with Ansible |
| 278 | +- Step 01 - Creating EC2 Instances for Ansible - Manually and with Terraform |
| 279 | +- Step 02 - Setting Ansible Project with cfg and ansible hosts |
| 280 | +- Step 03 - Playing with Ansible Commands |
| 281 | +- Step 04 - Playing with Ansible Host File and Custom Groups |
| 282 | +- Step 05 - Creating an Ansible Playbook for Ping |
| 283 | +- Step 06 - Understanding Ansible Terminology - Control Node, Managed Nodes, Inventory |
| 284 | +- Step 07 - Creating New Ansible Playbook for Executing Shell Commands |
| 285 | +- Step 08 - Playing with Ansible Variables |
| 286 | +- Step 09 - Creating New Ansible Playbook for Understanding Ansible Facts |
| 287 | +- Step 10 - Creating New Ansible Playbook for Installing Apache and Serving HTML |
| 288 | +- Step 11 - Reuse and Executing Multiple Ansible Playbooks |
| 289 | +- Step 12 - Understanding Conditionals and Loops with Ansible |
| 290 | +- Step 13 - 01 - Getting Ready for EC2 Dynamic Inventory with Ansible |
| 291 | +- Step 13 - 02 - Configuring EC2 Dynamic Inventory with Ansible |
| 292 | +- Step 14 - Creating AWS EC2 Instances with Ansible |
| 293 | +- Step 15 - Providing Declarative Configuration with Ansible |
| 294 | +- Step 16 - Deleting all AWS EC2 Instances |
| 295 | + |
| 296 | +### Appendix - Installing Visual Studio Code |
| 297 | +- Step 01 - Installing VS Code |
| 298 | +- Step 02 - Download and Setup Projects in Visual Studio Code |
| 299 | + |
| 300 | +### Appendix - Introduction to Microservices |
| 301 | +- Step 01 - Introduction to Microservices |
| 302 | +- Step 02 - Advantages of Microservices |
| 303 | + |
| 304 | +### Appendix - Exploring Microservice Projects |
| 305 | +- Step 01 - Code Review - Microservices |
| 306 | + |
| 307 | +### Appendix - Getting Started with AWS |
| 308 | +- Step 01 - Creating an AWS Root Account |
| 309 | +- Step 02 - Creating an IAM User for your AWS Account |
| 310 | +- Step 03 - Its Your Responsibility to Monitor Billing on the Cloud - 5 Recommendations |
| 311 | +- Step 04 - Monitor AWS Billing - Setting Billing Alerts |
| 312 | + |
| 313 | +### Appendix - Getting Started with Azure |
| 314 | +- Step 01 - Creating an Azure Account |
| 315 | +- Step 02 - Exploring Cloud Best Practices - Minimize Costs |
| 316 | + |
| 317 | +### Appendix - DevOps Best Practices and Perspectives |
| 318 | +- Step 01 - DevOps - Break down the wall |
| 319 | +- Step 02 - DevOps Perspectives - CAMS |
| 320 | +- Step 03 - DevOps Best Practices |
| 321 | +- Step 04 - DevOps Perspectives - Continuous DevOps |
| 322 | +- Step 05 - DevOps Maturity Assessment - Questions to ask |
| 323 | + |
| 324 | +#### Required Tools |
| 325 | +- Visual Studio Code |
| 326 | +- Docker |
| 327 | +- Docker Compose |
| 328 | +- AWS Account |
| 329 | +- AWS CLI |
| 330 | +- Azure Account |
| 331 | +- Azure CLI |
| 332 | +- Google Cloud Account |
| 333 | +- Terraform |
| 334 | +- Ansible |
| 335 | + |
199 | 336 | ## Next Steps |
200 | 337 |
|
201 | 338 | ## Diagrams |
|
0 commit comments