DevOps 72 Hours Training Outline
DevOps 72 Hours Training Outline
Topics Hours
Introduction 3
VCS 5
Yaml 3
AWS/Azure 12
Servers 4
Scripting 5
Docker 12
Kubernetes 12
CI/CD 5
Helm 3
IAC 3
Ansible 2
Monitoring & Logging 2
Case Study 1
Introduction
IT Infrastructure
Waterfall Model
Agile Methodologies
Introduction to DevOps
DevOps Road Map
YAML
What is YAML language
YAML Basic Syntax
Data types: Integers, Bool, Arrays, Dictionaries, Null, Set, Strings
Multiline Strings
Anchors and Extensions
YAML Placeholders
Docker Compose & Kubernetes YAML examples
Cloud Computing
AWS
Introduction to AWS
AWS Compute Services (EC2, Lambda)
Storage Service (S3)
VPC (Subnets, Route Table, NAT, VPN)
AWS CloudFront
Auto-Scaling & Load Balancer
ECR
ECS Fargate
Elastic Beanstalk
Route53
ACM
API Gateway
Azure
Azure Fundamentals
Compute Services (App Services, Function Apps, VMs, CDN)
Storage Services (Storage Account, Databases, etc.)
Azure Container Registry
Container Instance
VPN Setup
Automation Account
Servers
Apache
IIS
Nginx
What is Nginx?
How to Install Nginx?
Deploying a Web Application on Nginx
Virtual Hosting
Attach Domain to Website
SSL termination with AWS ELB
Http to Https Redirection with AWS ELB
Scripting
Bash
PowerShell
Introduction
Syntax
Examples
Python
Introduction
Syntax
Variables
Datatypes
Conditionals
Loops
Arrays
Functions
Classes/Objects
Inheritance
Scripting
Examples
Containerization “Docker”
What is Docker?
What is a Container?
Docker vs Virtual Machine
Docker Architecture
Docker Installation
Main Docker Commands
Dockerfile
Dockerfile Examples
Docker Image Layers
Running Multiple Services in a Container
Container Linking
Docker Volume
Docker attach vs Docker exec
Docker Port Mapping (Expose vs Publish)
Docker Compose
Docker Compose vs Dockerfile
Docker Compose Examples
Creating Private Registry and Pushing Image
Deploying Container App to Lambda, ECS, BeanStalk.
Deploying Container App to Azure Container Instance, App Service, Functions Apps
Orchestration “Kubernetes”
What is K8s
Main K8s Components
K8s Architecture
K8s YAML Configuration File
AKS Cluster Creation
EKS Cluster Creation
K8s Fundamental Resources Examples
Deploying Microservice Application
Auto scaling
Namespaces
Config Map
Secrets
Persistent Volumes
Access DB on Cloud from K8s
Deploying Nginx Ingress Controller
Ingress with External DNS
Context Path Based Routing through Ingress
URL Based Routing through Ingress
CI/CD
Jenkins
Introduction
What is Continuous Integration?
What is Continuous Deployment?
What is Jenkins?
Jenkins Installation, Setup and Demo
Jenkins Master-Slave architecture
Jenkins GUI Overview
Create Jenkins Free Style Project
Jenkins Pipelines Through Script
Jenkins Pipelines Through Jenkins File
Build & Push Docker Image to AWS ECR with Jenkins Pipeline
Azure DevOps
Introduction
Azure Boards
Azure Repos
Build and Release Pipelines
Deploying Containerized Application through CI/CD
Deploying Application through CI/CD on K8s
Deploying Application through CI/CD on K8s with Helm
Creating whole Infrastructure with Terraform and managing it through CI/CD Pipelines.
AWS DevOps
Introduction
AWS DevOps Components
Deploying Containerized App on Beanstalk through AWS CI/CD
Helm
Helm Introduction
Installing Helm
Helm Charts
Helm Templates
Using predefined charts
Creating new helm charts
Pull and push helm charts through CI/CD
IaC “Terraform”
Introduction
Terraform Architecture
Workflow
State File
Examples
Variables
Conditioning in Terraform
Iterations in Terraform
Operators in Terraform
Data Source in Terraform
Terraform Functions
Terraform Modules
Terraform Workspace
Introduction
What is Prometheus?
Why Prometheus?
Continuous Monitoring with Prometheus
Prometheus Architecture
Prometheus Metrics and its Metrics
Prometheus Installation and Demo
Grafana
Introduction
Continuous Monitoring in DevOps
Introduction to Grafana
Monitoring with Grafana