Zero to Intermediate DevOps Training Program

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

Leave a Comment

MFH IT Solutions (Regd No -LIN : AP-03-46-003-03147775)

Consultation & project support organization.

Contact

MFH IT Solutions (Regd)
NAD Kotha Road, Opp Bashyam School, Butchurajupalem, Jaya Prakash Nagar Visakhapatnam, Andhra Pradesh – 530027