Flow
of
DevOps
Contents
●DevOps Overview
●Linux OS
●Shell Scripting
●GIT & GitHub
●AWS & Nginx
●Maven
●Tomcat
●SonarQube
●Nexus
●Jacoco
●Jenkins
●Docker
●ECS & ECR
●Kubernetes (Minikube)
●Helm
●EKS
●Terraform
●Ansible
●Prometheus
●Grafana
●Projects
Flow of AWS
Introduction to IT Resources
● IT Resources
● Types of IT Resources
● Problems with Traditional IT Resources
Introduction to Cloud Computing
● What is Cloud Computing
● Types of Cloud Computing
● Advantages of Cloud Computing
● Top Cloud Service Providers
Introduction to AWS
● AWS
● History of AWS
● Features of AWS
● Economic Models
● Different Ways to use AWS
● AWS Global Infrastructure (Regions, Availability Zones , Edge
Locations, Regional Edge Locations)
● Explain AWS Management Console
EC2 (Elastic Compute Cloud)
● Introduction to EC2
● Components in EC2
● Sizing & configuration Options in EC2
● Types of Instances
● Features of EC2
● Pricing for EC2
● Hands On Creation of EC2 Instance (Linux)
● AMI (Amazon Machine Images)
● Creation of Windows Instances
● EBS (Elastic Block Store) Volumes & Creations
● EC2 Auto Scaling
● Elastic Load Balancing (ELB)
S3 (Simple Storage Service)
● Drawbacks of EBS volumes
● Introduction to S3
● Use Cases of S3
● S3 Buckets
● S3 Objects
● Bucket Creation
● Static Web Hosting
● Storage Classes
● Accessing S3 using EC2 (includes IAM service)
CloudFront
● Introduction to CloudFront
● Creating Distributions
IAM(Identity & Access Management)
● Introduction to IAM
● Components in IAM- Roles, Permission Policies, Users & Groups
● Creation of Role & Permission Policies , Users & Groups
● IAM Users, Groups
VPC(Virtual Private Cloud)
● Introduction to VPC
● Why we need VPC
● Components in VPC
● IP Address - IPv4 & IPv6
● Security Groups
● Elastic IP
● ACL
● Hands on VPC Creation
Lambda
● Introduction to Lambda
● Difference between EC2 & Lambda
● Features of Lambda
● Pricing in Lambda
● Structure of Lambda
● Types of Event Source
● Creation of Functions
● Author from Scratch (4 scripts)
● Author from Scratch (Get S3 Objects)
● Blueprint (Canary, Get S3 Objects)
SNS(Simple Notification Service)
● Introduction to SNS
● Creation of Topics
● Creation Of Subscriptions
● Using SNS with S3 as Event Source
CloudWatch
● Introduction to CloudWatch
● Components of CloudWatch
● Explain Metrics
● Create Dashboards ( at least 2 dashboards)
● Create Alarms for EC2
DynamoDB
● Introduction to DynamoDB
● Creating tables and inserting data
Amazon RDS
● Intro to AWS Databases
● Relational vs Non-Relational
● Amazon RDS
● Hands-on practice
Amazon CLI
● Intro to CLI
● Explain Commands
● Hands-on practice
AWS account & Billing
● AWS Billing
● AWS Payments
● AWS Free tier Status
Flow of GIT
VCS (Version Control System)
● Example for VCS
● Types of VCS & Explanation
GIT (Global Information Tracker)
● Introduction to GIT
● History of GIT
● Features of GIT
● Working Stages of GIT
● Workflow of GIT
● Basic Commands & Hands On
GitHub
● Introduction to GitHub
● Account Creation
● Push & Pull into Remote Repository
● GitHub Token
Branching
● Introduction to Branching
● Types of Branching
● Branching Commands & hands On
Merging
● Merging Commands
● Hands On
● Merge Conflict
● Resolving Merge Conflicts
Undoing Changes & Extra Commands
● Undoing Changes
● Additional Commands
Additional Commands
● Collaboration
● Branching
● Stash
● Tag
● .gitignore
● README File
● Forking
● Rebase & Squash
Flow of LINUX
Software
● What is Software
● Types of Software
Installation
● Installing Oracle Virtual Box
● Setting up Ubuntu (Jammy Jellyfish)
Linux
● Introduction to Linux OS
● History of LinuxOS
● Flavours/ Distribution of LinuxOS
● Features of LinuxOS
● Architecture of LinuxOS
● Difference between LinuxOS & Windows OS
● Basic Commands on Linux
File Systems Hierarchy
● Linux filesystem hierarchy
● Types of File systems
File Management
● Types of path
● Commands in File Management
User Management
● Types of User
● Commands in user management
Group Management
● Commands in Group Management
File permissions
● Commands in File permissions
● Permissions using alphabet series
● Permissions using number series
File Compressions
● Types of Compression
System Commands
● top, du, df, ps, kill, systemctl, uname -a
Additional Commands
● grep, pgerp, find, locate, head & tail, wc, cut, awk, pipeline
Package Manager
● Yum, apt
Networking Commands
● Ifconfig, ping, ss -tuln, netstat, curl, wget, etc
Flow of Shell
Recap of Architecture Of Linux
Shell
● What is Shell?
● Types of Shell
Shell Scripting
● What is Shell Scripting?
● Features
● Commands to check shell
● Creation of shell script file
Input & Output Commands
● echo
● read.
Variables
● Declaring variable
● Utilising the value of a variable “$”.
Operator & Its Types
● Arithmetic Operators
● Relational Operators
● Logical Operators
● String Operators
● File Operators
Conditional Statements
● if
● if-else
● elif
● nested condition
Looping Statements
● For loop
● While loop
● Until loop
Functions
● Creation of functions
Scripts
● User management scripts
● Backup & Restore scripts
● Monitoring the CPU usage
● Creating Jobs
● Service management script
● Automating Installation & Updation
Flow of Maven
Recap of Traditional Approach
Build
● What is Build?
● Build Process:- Processes involved in developing the builds
● Why we need build tools
● Examples of Build Tools
Introduction to Maven
● What is Maven?
● History of Maven
● Features of Maven
● What is Pom.xml ?
● Plugins & dependencies (Jacoco, JUnit, TestNG)
Types of Repositories
● Local Repository
● Central Repository
● Remote Repository(Nexus)
Maven Phases
● Explain phases( with the commands)
Maven Lifecycles
● Clean Lifecycle
● Default Lifecycle
● Site Lifecycle
Additional Topics
● Configure settings.xml for integrating with nexus
● Copying dependencies from maven repository
Code Quality Inspection & Analysis
● SonarQube
Web Servers
● Nginx
● Tomcat
Flow of Jenkins
Traditional Build & Release Process
Introduction to Jenkins
● What is Jenkins
● What is CI, CD & CD
● History of Jenkins
● Features of Jenkins
● CI/CD Tools
Installation & Setup
Explain Jenkins Dashboard
Jobs & its Types
● What is a Job & its types ?
● Freestyle Jobs
● Pipeline Jobs & its Types
● Maven Project
Role Based Authorization
● What is Plugin
● Role Based Strategy Plugin
● How to enable Role Based Authorization
Build Triggers
● Build Periodically
● Poll SCM
● Github webhook
● Pre and Post build
Notifications
● Email notification
CI/CD Implementation
● Creating CI/CD pipeline by integrating GIT,Maven ,Nexus, SonarQube,
and Tomcat
JenkinsFile
● What is Jenkinsfile
● Creation of Jenkinsfile
Master Slave Architecture
● What is master-slave architecture? Explain with diagram
● Creation and setup of master slave architecture
Flow of Docker
Application Architecture
● Monolithic
● Microservices
● 3-tier Architecture
Introduction to Containers
● What are containers?
● Containers vs Virtual Machines
Introduction to Docker
● Tools available for containerization.
● History of Docker
● Features of Docker
● Architecture of Docker
● Components of Docker
● Installation of Docker
Introduction to Docker Hub
● Create Account in Docker hub
Docker File
● What is Dockerfile?
● Creation of Dockerfile
Basic Commands in Docker
● Dockerfile to Docker Image
● List Docker Images
● Docker Image to Docker Container
● List Docker Containers
● Stop & Delete Container
● Delete Docker images
● Push & Pull the Docker Images from Docker hub
● Copying files from host to container and vice versa
Advanced Concepts
● Multi stage Docker
● Docker Volume
● Docker Networking
● Intro to YAML
● Docker Compose
● AWS ECS & ECR
Flow of KUBERNETES
Problems with Containers
Container Orchestration
● What is container orchestration
● Container Orchestration tools
Kubernetes
● What is Kubernetes?
● History & Features of Kubernetes
● Kubernetes Architecture
● Components of Kubernetes Cluster
● Kubernetes Objects
● Stateful VS Stateless Applications
YAML in Kubernetes
● What is YAML?
● Components of YAML
● Creation of pod using YAML
Kubernetes Namespaces
● What is namespaces?
● Creation of namespaces
ConfigMaps & Secrets
● Store and manage environment variables
● Secure sensitive data with Secrets
ReplicaSet
● What is replicaset?
● Creation of replicaset
Deployment
● What is deployment?
● Creating Deployment
Kubernetes Services
● What is Kubernetes services?
● Types of Kubernetes Services
○ ClusterIP Service
○ NodePort Service
○ LoadBalancer Service
● Creating service.yml
● Ingress Controllers
Persistent Storage & Volume
● Types of Kubernetes Volumes
● PV & PVC
Installation & SetUp
● Minikube
● EKS ( Elastic Kubernetes Service)
● Understand kubectl CLI commands
Advanced Kubernetes Concepts
● Helm Charts
● Deploying application using Helm
● Jenkins & Kubernetes Integration
Flow of TERRAFORM
Introduction
● Introduction to Infrastructure as a code
● Why we need Infrastructure as a Code
Terraform
● What is Terraform?
● Terraform Architecture
● History
● Lifecycle ( init, plan, apply, destroy )
● Installation
● Basic terraform commands
● Providers - AWS, Azure,GCP
● Variables and output
● Terraform state management
● Terraform modules
Flow of Ansible
Introduction
● What is Configuration Management
● Uses of Configuration Management
● Introduction to Ansible
● Installation Process
● Creation of inventory file
● Introduction to Ad-Hoc commands
● Ansible Playbook
● Ansible variables
● Ansible module
Flow of Prometheus
Prometheus
● Why Prometheus
● Prometheus Architecture
● Installation & Configuration
● PromQL
● Exporters
● Service Discovery
● Alerting with Alert Manager
● Monitoring Kubernetes with Prometheus
Flow of Grafana
Grafana
● What is grafana?
● Installation & Configuration
● Connecting grafana with Prometheus
● Creating dashboards
● Grafana Alerts & Notifications
● Data Sources
● Kubernetes monitoring with Grafana
Flow of AZURE
Azure Account
● Introduction to Azure Account
● Hierarchy of Azure
● Introduction to Management Groups
● Creation of Management Groups
● Introduction to Azure Subscription
● Types of Azure Subscription
● Introduction to Resource Groups
● Creation of Resource Groups
● Introduction to Resources/Services
Introduction to IT Resources
● IT Resources
● Types of IT Resources
● Problems with Traditional IT Resources
Introduction to Cloud Computing
● What is Cloud Computing
● Types of Cloud Computing
● Advantages of Cloud Computing
● Top Cloud Service Providers
Introduction to Azure
● Azure
● History of Azure
● Features of Azure
● Economic Models
● AWS Global Infrastructure (Geography,Regions, Availability Zones
,Data Center, Availability Sets,Edge Locations,)
● Explain AWS Management Console
VM (Virtual Machine)
● Introduction to VM
● Sizing & configuration Options in EC2
● Types of Sizes
● Features of VM
● Pricing for VM
● Hands On Creation of EC2 Instance (Linux)
● Different Connection methods
● Capture (Images)
● Creation of Windows Instances
● Disks
Storage Account
● Introduction to Storage Account.
● Creation of Storage Account
● Introduction to Blob storage
● Creation of Containers
● Uploading of Objects
● Enabling Object versioning
● Static Web Hosting
Entra ID and IAM
● Introduction to Entra ID and IAM
● Introduction to Users and Groups
● Creating Users
● Creating Groups
● Giving policies to the groups on services
● Adding Groups to the service.
● Adding Bulk users.
Vnet (Virtual Network)
● Introduction to Vnet
● Why we need Vnet
● Creation of Vnet
● Network Security Groups
● Network Interface
● Vnet Public and Private connection
● NAT gateway
● Vnet Peering
Azure SQL
● Introduction to Azure SQL
● Azure Deployment model
● Creation of Azure SQL Database
● Connection of Database with other Database Engine
CosmosDB
● Introduction to CosmosDB
● Creation of CosmosDB
● Creating Tables
● Adding Key-Values
Azure Monitor
● Introduction to Azure Monitor
● Components of Azure Monitor
● Different types of Metrics
● Creating alert for VM
Azure CLI
● Introduction to CLI
● Explain Commands
Billings and Cost Management
● Managing Bills
● Azure Free Tier
PROJECTS
1.Hosting a WebApp using Nginx , AWS ELB & ASG.
2.Creating CI/CD Pipeline by integrating GIT, Maven,
Jenkins, SonarQube, Nexus, Tomcat
3.Deploying an Application in Kubernetes Cluster &
configuring DNS.
4.Creating & Configuring Infrastructure using Terraform
& Ansible
5.Creating dashboard using Prometheus & Grafana