Table of Contents
1. Fundamentals / Essentials
• DevOps Basics
• SDLC
• Git
• Build Tools
2. Linux & Shell
3. AWS Cloud (Required Services)
4. YAML
5. Jenkins
6. Docker
7. Kubernetes
8. Terraform
9. Monitoring
1. Fundamentals / Essentials
DevOps Basics
• What is DevOps
• Key principles
• Evolution of DevOps
SDLC
• SDLC
• Phases of SDLC
• Types of SDLC
• Waterfall model
• SDLC vs DevOps
• DevOps and Agile
Git
• Version Control Intro
• Git vs GitHub
• Commands:
• git config
• git init
• git clone
• git status
• git add
• git commit
• git log
• git branch
• git checkout
• git merge
• git pull
• git push
Build Tools
• What is DevOps
• Key principles
• Evolution of DevOps
• SDLC
• Phases of SDLC
• Types of SDLC
• Waterfall model
2. Linux & Shell (2 Days)
SDLC vs DevOps
DevOps and Agile
• BIOS
• Boot Loader
• Kernel
• Init
• Systemd
Commands
• touch
• echo
• cat
• cp
• vi
• nano
• vim
• mv
• rm
• ls
• rm text*
• history
• clear
• pwd
• rm -rf
File and Directory Operations
• mkdir
• cd
• rmdir
File Permissions
• chmod
• chown
• who
Hidden Files
• Creation
• View hidden files details
User Management
• sudo useradd username
• sudo passwd username
• su -username
• compgen -u
• exit
Essential Commands
• du
• df
• top
• nproc
• free
• ps -ef
Text Processing Commands
• grep
• awk
Network Commands
• ping
• ifconfig
• ip
• netstat
• traceroute
• nslookup
• dig
• route
• curl
• wget
• hostname
Scripting
• Shell Scripts (.sh)
• Shell vs. Bash vs. Dash
• Shebang line purpose
Variable
• Intro
• Dynamic Variables
• Read-only Variables
• Unset Variables
Arrays
• Intro
• Indexing
• Accessing
Basic Arithmetic Operations
• Assignment
• Addition
• Subtraction
• Multiplication
• Division
• Modulus
Conditional Statements
• What is Conditional Statements?
• Usage
• if
• elif
• else
Looping Statements
• What is Looping Statements?
• Usage
• for
• while
• Break Statement
• Continue Statement
Functions
• What is Function?
• Functions usage
• Functions Definition
• Function Calling
Cron Jobs
• What is Cron Job?
• Scheduling with crontab
3. AWS Cloud (Required Services)
1. Introduction to AWS
• Overview of AWS and its Global Infrastructure
• Key AWS Terminologies
• Understanding Regions and Availability Zones
2. Identity and Access Management (IAM)
• Creating and Managing Users and Groups
• IAM Policies and Permissions
• IAM Roles
3. Amazon EC2 (Elastic Compute Cloud)
• Launching and Managing EC2 Instances
• EC2 Instance Types and Pricing Models
• Security Groups and Key Pairs
• EC2 User Data and Metadata
• Auto Scaling Groups (ASG)
• Elastic Load Balancing (ELB)
4. Amazon S3 (Simple Storage Service)
• Creating and Managing S3 Buckets
• S3 Storage Classes and Lifecycle Policies
• S3 Versioning
• S3 Bucket Policies and Access Control Lists (ACLs)
• Hosting Static Websites on S3
5. AWS Route 53
• DNS Management Basics
• Creating and Managing Hosted Zones
• Configuring DNS Records (A, CNAME, MX, etc.)
6. Overview of Other Required Services
• AWS VPC
• AWS CloudFormation
• AWS CloudWatch
• AWS CodePipeline
• AWS CodeCommit
• Amazon ECR (Elastic Container Registry)
• Amazon ECS (Elastic Container Service)
• Amazon EKS (Elastic Kubernetes Service)
4. YAML
1. Introduction to YAML
• What is YAML?
• Common uses of YAML in DevOps
• Importance of YAML
2. Serialization
o Definition
o Common Uses of Serialization
▪ Data Storage
▪ Data Transmission
▪ Inter-process Communication
▪ Caching
3. YAML vs. JSON
• Syntax Comparison
• Superset of JSON
4. Key Concepts in YAML
• Key-Value Pairs
• Comments in YAML
• Objects
• Lists
• Booleans
• Multi-Line Strings
• Environment Variables
5. Advanced YAML Features
• YAML Structure
• Multi-Document Files
• Data types
▪ String
▪ Number (Integer, Float)
▪ Boolean
▪ Null
▪ Array
▪ Map
• Block vs. Inline styles
6. YAML Validation
• Syntax and Format Validation
• Tools for Validation
▪ Online Validators
▪ Command Line Tools (e.g., yamllint)
▪ IDE Validators (e.g., Visual Studio, Eclipse)
7. YAML in DevOps Tools
• Ansible Playbook
• Docker Compose
• K8 Manifest files
• Prometheus Config File
8. Disadvantages of YAML
5. Jenkins
1. Introduction to Jenkins
• What is Jenkins?
• Key features of Jenkins
• Continuous Integration/Continuous Delivery (CI/CD) concepts
• Overview of Jenkins architecture
• Jenkins installation and setup
2. Jenkins Interface Overview
• Dashboard tour
• Key sections: New Item, Manage Jenkins
• Jenkins job types
• Credentials setup
3. Configuring Jenkins Jobs
• Creating and configuring a job
• Build triggers and schedules
• Configure build steps
4. Jenkins Plugins
• Introduction to Jenkins plugins
• Installing and managing plugins
• Popular plugins (e.g., Git, Maven, Pipeline)
5. Source Code Management Integration
• Integrating with Git
• Poll SCM vs. webhook triggers
6. Jenkins Pipeline Basics
• Introduction to Jenkins Pipelines
• Declarative vs. Scripted pipelines
• Writing a basic Jenkinsfile
• Pipeline stages and steps
• Running pipelines in Jenkins
7. Troubleshooting Jenkins
• Common Jenkins issues and solutions
• Viewing and interpreting Jenkins logs
• Handling failed builds
6. Introduction to Docker
What is Docker?
• Benefits of containerization
• Docker vs. Virtual Machines
• Docker architecture: Docker engine, images, containers
• Key Docker terminologies (image, container, Docker Hub)
Installing Docker
• System requirements
• Installing Docker on Linux/Windows/Mac
• Post-installation setup
• Docker Command Line Interface
• Basic Docker commands (docker run, docker ps, docker stop, docker rm)
• Managing Docker images (docker pull, docker images, docker rmi)
• Working with Docker containers (docker start, docker exec, docker logs)
Docker Containers
• Creating and running Docker containers
• Exposing ports and managing container IPs
• Docker container logs
Docker Hub
• Overview of Docker Hub
• Searching and pulling images from Docker Hub
• Pushing images to Docker Hub
• Port Conflicts
• Docker Compose
Introduction to Docker Compose
• Installing Docker Compose
• Writing a docker-compose.yml file
• Running and managing services with Docker Compose
Docker Volumes
• Introduction to Docker volumes
• Creating and managing Docker volumes
Docker Images
• What are Docker images?
• Creating Docker images
• Dockerfile basics
• Docker image layers
• Best practices for writing Dockerfiles
Types of Volumes
• Hosted volumes
• Anonymous volumes
• Named volumes
Docker Networking
• Overview of Docker networking
• Types of Docker networks (bridge, host, none)
• Connecting containers to networks
Troubleshooting Docker
• Common Docker issues and solutions
• Understanding and using Docker logs
• Debugging Docker containers
7. Introduction to Kubernetes
What is Kubernetes?
• Kubernetes architecture overview
• Kubernetes components: API server, etcd, scheduler, controller manager
Kubernetes Installation
• Setting up Kubernetes on local machines (Minikube, Kind)
• Installing Kubernetes on cloud providers (GKE, EKS, AKS)
• Installing kubectl CLI
• Understanding kubeconfig
Kubernetes Objects
• Pods: What are they?
• ReplicaSets: Ensuring pod availability
• Deployments: Declarative updates for pods and Replica Sets
• Services: Exposing applications as network services
• Namespaces: Isolating resources
• ConfigMaps: Managing configuration outside containers
• Secrets: Managing sensitive data
Volume
• Intro and types of Volumes
Kubernetes Troubleshooting
• Common Kubernetes issues and their resolutions
• Debugging with kubectl
• Troubleshooting application failures in Kubernetes
8. Introduction to Terraform
What is Infrastructure as Code (IaC)?
• Overview of Terraform and its benefits
• Declarative vs. Imperative approach
Installation
• Terraform Installation and setup
• Setup Terraform for AWS CLI
• Verifying installation
Key Concepts
• Providers, Resources, Modules
• Basic Terraform commands
• Basic Example
Terraform Configuration Files
• Understanding the structure of a .tf file
• Writing a basic Terraform configuration
• Variables and outputs
• State files and their importance
Providers in Terraform
• What are providers?
• Configuring providers (e.g., AWS, Azure, Google Cloud)
• Provider-specific resources and data sources
• Managing multiple providers
Terraform Variables
• Input variables: defining and using them
Output Values
• Defining output values
• How to use
State Management
o Understanding Terraform state
o Local vs. remote state
o State locking and consistency
o Terraform backend configuration (e.g., S3)
o State file management best practices
• Terraform Commands
o terraform init
o terraform plan
o terraform apply
o terraform destroy
o terraform validate
o terraform refresh
o terraform import
• Terraform Modules
o Introduction to modules
o Creating and using modules
o Organizing configurations with modules
o Module versioning and best practices
• Terraform Workspaces
• What are workspaces?
• Creating and switching between workspaces
• Use cases for workspaces (e.g., environment isolation)
• Provisioners in Terraform
• Overview of provisioners
• Using provisioners for post-deployment tasks (e.g., shell, file)
• Remote-exec and local-exec provisioners
• Provisioner best practices
• Multiple Resource Creation
• Count usage
9. Introduction to Monitoring
What is Monitoring?
• Importance of monitoring in DevOps
• Overview of Grafana and Prometheus
Prometheus Overview
• What is Prometheus?
• Prometheus architecture and components
• Key concepts: Metrics, Labels, Targets, Scrape, and Alerts
Installing Prometheus
• Installation on various platforms
• Configuring Prometheus for basic setup
• Prometheus configuration file structure (prometheus.yml)
Prometheus Data Collection
• Understanding Prometheus metrics and exporters
• Using built-in exporters (Node Exporter, cAdvisor, etc.)
• Writing custom exporters
• Configuring scraping targets and intervals
Grafana Overview
• What is Grafana ?
• Grafana architecture and components
• Use cases for Grafana
Installing Grafana
• Installation
• Initial Grafana setup and configuration
Building Grafana Dashboards
• Creating and customizing dashboards
• Using panels, rows, and variables
• panel and dashboards creations
• Importing and exporting dashboards
Visualizing Data in Grafana
• Using different visualization types (graphs, tables, heatmaps, etc.)
Alerting with Grafana
• Setting up alert rules and notifications
Grafana Prometheus integration
• integration between Grafana and Prometheus