KEMBAR78
Batch 10 Syllabus | PDF | Software Repository | Python (Programming Language)
0% found this document useful (0 votes)
43 views35 pages

Batch 10 Syllabus

Uploaded by

chennaammireddy
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
43 views35 pages

Batch 10 Syllabus

Uploaded by

chennaammireddy
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 35

ZERO TO HERO

BATCH-10 | RECORDED
Whatsapp: 8115430392
Email: office@devopsshack.com
SUCCESS STORIES

SR
Associate Vice
40 LPA President @ NatWest 29 LPA
Simranjeet Paran Santosh

15 LPA & 13 LPA

3.5X Hike

Cracked in USA
3 Offers

Whatsapp: 8115430392 | Email: office@devopsshack.com


Projects in DevOps BootCamp
Project-1 | Kubernetes Multi-Tier Capstone Mega Project

Project-2 | Helm Chart Multi-Tier Mega Project

Project-3 | GitOps With ArgoCD

Project-4 | Blue-Green Deployment

Project-5 | 11 Microservices Project Deployment

Project-6 | Dotnet Monitoring Project

Project-7 | Python Monitoring Project

Project-8 | Multi-Tier NodeJS + MySQL Project

Project-9 | Multi-Tier DotNET + MongoDB Project

Project-10 | Multi-Tier Python + Postgres Project

Project-11 | Monitoring Projects with Kubernetes, Prometheus, Grafana

Project-12 | Terraform & Ansible Corporate Project

Project-13 | HashiCorp Vault Project

Project-14 | App Deployment To Tomcat Server

Project-15 | Azure DevOps Project | Multitier NodeJS+ DataBase Project Deploy To


Webapp Using Classic Pipeline & Yaml Pipeline]

Project-16 | Azure DevOps Project | Multitier Java Project Deploy To AKS

Project-17 | Azure DevOps Project | Deploy 11-Microservice Based Application To Prod &
Dev

Project-18 | Virtual Browser Project

Project-19 | Shell Scripting Project

Project-20 | Gitlab CICD Project & GitHub Actions Project


Module 1: Introduction to DevOps & DevSecOps

1. Introduction to DevOps and DevSecOps


What is DevOps?
What is DevSecOps?
Differences between DevOps and DevSecOps
Benefits of implementing DevOps and DevSecOps
Evolution of DevOps (from traditional SDLC to DevOps)

2. Real-Time Corporate DevOps Workflow with Flow Diagram


Explanation of the DevOps lifecycle (CI/CD pipeline)
Overview of tools used at each stage (e.g., Git, Jenkins, Docker,
Kubernetes)
End-to-end process flow with practical examples

3. DevOps Team Structure


Different roles in a DevOps team (DevOps Engineer, Release
Manager, Security Engineer, etc.)
Responsibilities of each role
Collaboration between development, operations, and security teams

4. Day-to-Day DevOps Activities


Common daily tasks for DevOps engineers
Incident management and monitoring
Continuous integration, deployment, and delivery activities
Infrastructure management and automation

5. Deployment Strategies
Blue-Green Deployment
Rolling Deployment
Canary Deployment
Recreate Deployment
& More
Best practices for deployment
Module 2: Linux & Shell Scripting
1.Introduction to Linux
What is Linux?
Overview and Key Features
Linux Architecture
Linux File System Hierarchy & Key Directories

2. Virtual Machines (VMs)


Structure, Components, and Ports in VMs
Creating and Connecting to a VM via SSH
Managing Ports

3. Essential Linux Commands


File management commands (cp, mv, rm, etc.)
Viewing and editing files (cat, less, nano, vim)
Process management (ps, top, kill, etc.)
Disk usage commands (df, du)
Advanced file searching (find, grep, awk, sed)

4. Package Management
Using package managers like apt, yum
Understanding dependencies and repositories
Configuring custom repositories

5. File/Folder Permissions
Understanding read, write, execute permissions
Using chmod, chown, chgrp
Special permissions (setuid, setgid, sticky bit)

6. User & Group Management


Adding User/Groups Using basic & advanced ways
Modifying User/Groups Using basic & advanced ways
Deleting Users/Groups Using basic & advanced ways
Module 2: Linux & Shell Scripting

7. Process Management
Viewing Process [Static/Dynamic]
Running Process in Foreground Or Background
Kill/Stop A running Process
Forcefully Killing A Process
Setting Up Priority of a Process
Managing Process

8. Associate a New Elastic IP with An Existing Instance


Creating an EC2 Machine & giving it a permanent IP

9. Curl VS Wget Demo


curl, wget Usage with demo
Diff between the two

10. Directory Structure

11. Shell Script Website Monitor Project


A project create using shell script to monitor a website.

12. 10 Real-Time Shell Scripts with Demo


Module 2: Linux & Shell Scripting

7. Linux Networking
Networking in Linux
Network Interface
Network Model [OCI Model]
Routing
IP Addresses
Subnetting
Common Networking Commands
-ifconfig / ip
-netstat
-ping
-traceroute
-nslookup / dig

8. Linux Troubleshooting
Errors & Solutions with Examples

9. Shell Scripting Hands-on


Variables
Reading user input
Conditionals
Case statements
Loop
Functions
String manipulation
Arrays
Command line arguments
Error handling
Regular expressions
Pipeline & redirection
Debugging
Subshell & process control
Environment and configurations
Module 3: Git

1. Introduction to Git
What is Git and why use version control?
Key differences between Git, GitHub, GitLab, and
Bitbucket
Installation and initial setup of Git

2. Version Control & Git Basics


Types of version control systems (Centralized vs.
Distributed)
Creating a new repository (local and remote)
Understanding working directory, staging area, and
repository
Basic Git workflow: Add, Commit, Push, Pull

3. Essential Git Concepts


Daily usage & common Git commands
Cloning a repository
Creating branches
Committing changes
Pulling updates from the remote repository
Pushing changes to the remote repository
Module 3: Git

4. Git Branch Management


View Local & Remote Branches
Create Branches & Push to Remote
Delete Local & Remote Branches

5. Git Diff
Compare branches using diff command
Compare files using diff command
Compare commits using diff command

6. Git Merge & Rebase


Merge With Demo
Rebase With Demo
Which one to Use

7. Stash & Pop


Understanding Stash & Pop
Hands-On Example on Stash & Pop
Stash multiple files & pop specific file

8. Cherry-Pick
Understanding Cherry Pick
Implementing Git Cherry Pick
Module 3: Git

9. Tags
Understanding Tags in Github
Creating Tags in Git Repo

10. Git Squash With Demo


Combining commits Using Git Squash

11. Merge Conflicts


Understanding & Resolving Merge Conflicts
3 different Scenarios Of Conflicts & How to resolve them

12. Git Revert


Understanding & Implementing revert with Demo

13. Git Reset


Understanding & Implementing reset with Demo
Hard Reset
Soft Reset
Mixed Reset
Module 3: Git

14. Git Errors & Resolutions


Resolving merge conflicts
Handling detached HEAD state
Fixing "Git pull failed" errors
Undoing mistakes (e.g., using reset, revert, checkout)
Troubleshooting push/pull errors

15. Corporate Branching Strategy


Common branching strategies
Feature, release, and hotfix branches
Corporate Branching Strategy

16. INterveiw prep DOcuments


Comprehenisve Guide
Interview Q&A
Errors & Troubleshooting
Scenario Based
Module 4: Build Tools
1. Build Tools & Project Structure
Introduction to build tools (e.g., Maven, NPM, etc.)
Best practices for organizing project structure
Understanding build lifecycles, dependencies &
important files

2. Maven Hands-on
Understanding pom.xml structure
Adding dependencies and plugins
Building and packaging the project (mvn install, mvn
package)
Running unit tests with Maven (mvn test)

3. NPM Hands-on
Introduction to package.json
Installing, updating, and removing packages
Running scripts (npm run)
Managing dependencies (dependencies vs.
devDependencies)
Module 4: Build Tools

4. Building Multi-Tier Projects

Dotnet + MongoDB Project


Connecting and interacting with MongoDB
Building and running the project

NodeJS + MySQL Project


Connecting and interacting with MySQL
Deploying the project

Python + Postgres Project


Connecting and interacting with PostgreSQL
Building and deploying the project

5. Tomcat Server & Deploying Projects


Installing and configuring Apache Tomcat
Deploying WAR files to Tomcat
Automating deployment with scripts or CI/CD
Module 5: CI/CD Tools
CI/CD Tools Overview
Understanding CI/CD Tools
What is CI/CD?
Overview of popular CI/CD tools (Jenkins,
GitHub Actions, GitLab CI/CD)
What are the Best CI/CD Tools?
Comparison of various CI/CD tools

Jenkins
1. Jenkins Setup, Configurations, Plugins
Installing and configuring Jenkins
Installing essential plugins

2. Jenkins Jobs
Creating different types of jobs:
Freestyle jobs
Pipeline jobs
Multibranch pipeline jobs

3. Upstream & Downstream Jobs


Configuring job dependencies
Triggering upstream and downstream jobs

4. User Management
Managing user roles and permissions
Implementing role-based access control

5. Shared Libraries
Creating and using shared libraries for pipelines
Structuring reusable code for Jenkins
Module 5: CI/CD Tools

6. Parameters in Jenkins
Using parameters in Jenkins jobs
Building parameterized pipelines

7. Webhooks for Auto Triggering Pipeline Jobs


Configuring webhooks for auto-triggering jobs
Setting up multibranch pipeline triggers

8. Integrations
Integrating Jenkins with:
SonarQube (code quality analysis)
Nexus (artifact repository)
Docker (containerization)
Kubernetes (orchestration)
Security tools

9. Jenkins Mail Notifications


Configuring email notifications
Sending alerts for build failures and successes

10. Jenkins Backups


Backup and restore Jenkins configurations

11. Jenkins Errors & Troubleshooting


Resolving common Jenkins errors
Troubleshooting build and deployment issues
Module 5: CI/CD Tools

12. Post Actions


Adding post action in cicd Pipelines

13. Variables in Jenkins


Understanding & adding different types of variables in jenkins

14. Scenario based Jenkins Implementations


Implementing Different Scenarios In Jenkins

15. RBAC In Jenkins For User Management


Local LDAP Setup In Jenkins
Setting up RBAC using LDAP in Jenkins

16. Docker Containers As Jenkins Slave


Setting up Docker Cloud for slave
Creating Docker containers as Jenkins Agents

17. Integrating HashiCorp Vault in Jenkins


Setup Hashicorp Vault Server
Integrating Hashicorp Vault with Jenkins

18. Full Stack CI/CD Pipelines


Building 10+ full stack CI/CD projects with Jenkins
Module 5: CI/CD Tools

GitHub Actions
1. Complete Setup
Setting up GitHub Actions for projects
Setup Runners using a VM
Configuring workflows & Write the YAML Pipeline

2. Full Stack CI/CD Pipelines [Project-1]


Building complete CI/CD pipelines using GitHub Actions

3. Full Stack CI/CD Pipelines [Project-2]


Building complete CI/CD pipelines using GitHub Actions

GitLab CI/CD
1. Complete Setup
Configuring GitLab CI/CD for projects
Setup Runners using a VM
Understanding .gitlab-ci.yml & Write the YAML Pipeline

2. Full Stack CI/CD Pipelines


Building complete CI/CD pipeline using GitLab CI/CD
Module 6: SonarQube

1.Setting up SonarQube Locally, With Docker & In Kubernetes


Installing and configuring SonarQube locally With SSL
Setting up SonarQube using Docker
Deploying SonarQube in Kubernetes

3. Understanding Profiles & Rules


Configuring quality profiles
Best practices for maintaining code quality

4. Advanced Third-Party Plugin Installation


Installing third-party plugins
Enhancing SonarQube with additional capabilities

5. Branch Analysis (Developer Edition Feature for Free)


Analyzing different branches of a project
Understanding branch-specific code quality insights

6. Integrating with CI/CD Tools


Integrating SonarQube with Jenkins
Integrating with GitHub Actions and GitLab CI/CD

7. Generating and Exporting Reports in SonarQube (PDF, CSV,


HTML)
Creating code quality reports
Exporting reports in various formats (PDF, CSV, HTML)
Module 6: SonarQube

8. Configure SonarQube Webhook


Configure Sonarqube Webhook for Quality Gate Check

9. SonarQube Analysis with Maven (Code Coverage Enabled)


Performing SonarQube analysis on a Maven project
Analyzing code quality for maven projects
Enabling and measuring code coverage

10. SonarQube Analysis with NodeJS Project (Code Coverage


Enabled)
Performing SonarQube analysis on a NodeJS project
Analyzing code quality for NodeJS projects
Enabling and measuring code coverage

11. SonarQube Analysis with Python Project (Code Coverage


Enabled)
Performing SonarQube analysis on a Python project
Analyzing code quality for Python projects
Enabling and measuring code coverage
Module 7: Security Tools

1. Security Tools Overview


Introduction to security in DevOps (DevSecOps)
Importance of security scanning and vulnerability assessment
Overview of popular security tools

2. Trivy Setup & File System Scanning


Installing and configuring Trivy
Scanning Docker images, file systems, and repositories
Automating vulnerability scanning with Trivy

3. OWASP Dependency Check Setup & Usage


Installing OWASP Dependency Check
Analyzing dependencies for known vulnerabilities
Generating and interpreting security reports

4. Tools like Prowler, Dockle, OWASP ZAP


Prowler: AWS security best practices scanner
Dockle: Docker image security linting tool
OWASP ZAP: Web application vulnerability scanner

5. Security Tools Integrations With CI/CD


Integrating security scans with Jenkins, GitHub Actions, and GitLab
CI/CD
Automating security checks as part of the CI/CD pipeline

6. SBOM (Software Bill of Materials) Hands-On Usage


Understanding SBOM and its importance
Generating SBOMs
Module 7: Security Tools

1. Checkov
Checkov Security Tool for IAC config files

2. Gitleaks
Gitleaks to find if there is any sensitive data like
secrets, passwords, api keys exist in
github/source code

7. HashiCorp Vault
Setting up HashiCorp Vault
Secrets management (storing and retrieving
secrets securely)
Integrating Vault with applications and CI/CD
pipelines
Module 8: Nexus Artifact Management

1. What are Artifacts? How to Store them in Nexus?


Understanding artifacts (binaries, libraries, packages)
Role of artifact repositories in DevOps
Storing and managing artifacts using Nexus

2. Setup Nexus Locally & via Docker


Installing and configuring Nexus locally
Setting up Nexus using Docker
Accessing and managing Nexus via the web UI

3. Understanding Nexus Structure


Overview of Nexus components
Understanding repositories, groups, and hosted vs. proxy repositories

4. Nexus Cleanup Tasks


Configuring cleanup policies for old artifacts
Automating cleanup tasks using scheduled jobs
Best practices for maintaining repository health

5. Configuring Repositories, Artifacts


Creating and managing hosted, proxy, and group repositories
Managing artifact versions and retention policies
Setting up access controls for repositories

6. Publishing Maven & NodeJS Artifacts via CI/CD Pipeline


Configuring Maven to publish artifacts to Nexus
Publishing NodeJS packages to Nexus
Automating artifact publishing via Jenkins, GitHub Actions, or GitLab CI/CD
7. Setup Private Docker Registry
Configuring Nexus as a private Docker registry
Pushing and pulling Docker images from Nexus
Module 9: Docker
Containerization Deep Dive
1. Virtualization vs Containerization
Differences between virtualization and containerization
Advantages and use cases of containers over VMs

2. Docker Architecture
Understanding Docker components (Docker Client, Docker Daemon, Docker
Registry)
Role of Docker images, containers, and volumes

3. Understanding Docker Image, Dockerfile, Docker Container


What is a Docker image?
Creating Dockerfiles
Understanding and managing Docker containers

4. Install & Setup Docker With Proper Permissions


Installing Docker
Configuring Docker with proper permissions (e.g., adding users to the docker
group)

5. Writing Optimized Dockerfiles


Best practices for writing Dockerfiles
Minimizing image size and build times

6. ADD vs COPY & ENTRYPOINT vs CMD


Differences between ADD and COPY
Understanding ENTRYPOINT vs CMD and their use cases

7. Most Used Docker Commands


Essential Docker commands (docker run, docker ps, docker logs, docker exec, etc.)
Managing containers, images, networks, and volumes

8. Building Docker Images & Creating Containers


Building Docker images using Dockerfiles
Running containers from images
Module 9: Docker
1. Private Docker Registry
Setting up and using a private Docker registry (e.g.,
Nexus, Docker Hub)
Pushing and pulling images from the registry

2. Multi-Stage Dockerfiles
Building multi-stage Dockerfiles for optimized image
sizes
Practical examples with multi-tier applications

3. Docker Errors & Troubleshooting


Common Docker errors and solutions
Debugging container issues

4. Docker Compose with Project


Introduction to Docker Compose
Building and deploying multi-container applications
using Docker Compose

5. Docker Networking & Volumes


Understanding Docker networking
Working with Docker volumes for persistent storage

6. Scenario Based Docker Implementations


Implementing different scenarios in Docker
Module 9: Docker
Projects
1. Docker Project: Java based monitoring Project
Containerizing a Java-based application using Docker

2. Docker Project: DotNET based monitoring Project


Containerizing a DotNET-based application using Docker

3. Docker Project: NodeJS based monitoring Project


Containerizing a NodeJS-based application using Docker

4. Docker Project: Python based monitoring Project


Containerizing a Python-based application using Docker

5. Docker Project: Multi-Tier Java + MySql Project


Containerizing a Java-based application using Docker

6. Docker Project: Multi-Tier Dotnet + MongoDB Project


Building and containerizing a multi-tier Dotnet + MongoDB application

7. Docker Project: Multi-Tier NodeJS + MySQL Project


Building and containerizing a multi-tier NodeJS + MySQL application

8. Docker Project: Multi-Tier Python + Postgres Project


Building and containerizing a multi-tier Python + PostgreSQL
application
9. Docker Project: Virtual Browser
Building and containerizing a Virtual Browser

10. Docker Project: Virtual Browser


Building and containerizing a Virtual Browser
Module 10:Kubernetes

1. DetailedKubernetes Architecture
Understanding Kubernetes architecture (Master, Nodes, Control Plane)
Key concepts: API Server, Controller Manager, Scheduler, Kubelet

2. Deployments, Pods, Services, Secrets, ConfigMaps, Persistent


Volumes, Storage Class
Understanding and working with Deployments, ReplicaSets, and Pods
Using Services to expose applications
Managing Secrets and ConfigMaps
Using Persistent Volumes (PVs) and Persistent Volume Claims (PVCs)
Working with Storage Classes for dynamic provisioning

3. Service Types & Usage


Understanding different service types (ClusterIP, NodePort, LoadBalancer,
ExternalName)
Choosing the right service type for different use cases

4. Kubernetes Local Setup Using Kubeadm & ContainerD


Setting up a local Kubernetes cluster using kubeadm
Configuring ContainerD as the container runtime
Deploying a project on it

5. Kubernetes Networking
Understanding Kubernetes networking model
Network policies
Communications in K8

6. RBAC (Role-Based Access Control) in Kubernetes


Understanding RBAC concepts
Creating roles, role bindings, and cluster roles
Implementing least privilege principles

7. Highly Available K8s Cluster Setup Locally


Setting up a highly available Kubernetes cluster
Configuring load balancing for HA
Module 10:Kubernetes

8. Horizontal & Vertical Auto-Scaling & Rollback in K8s


Configuring horizontal pod autoscaling (HPA)
Implementing vertical pod autoscaling (VPA)
Performing rollbacks to previous deployments

9. Kubernetes Errors & Troubleshooting


Common Kubernetes errors and their solutions
Using kubectl logs and kubectl describe for debugging

10. Ingress Setup for App Deployed in K8s


Setting up Ingress controllers
Configuring Ingress rules for application routing

11. Custom Domain Mapping for App Deployed in K8s


Mapping custom domains to Kubernetes services
Configuring DNS records

12. SSL Certificate Setup for App Deployed in K8s


Setting up SSL certificates using Let’s Encrypt or other tools

13. HashiCorp Vault Dev & Production Setup


Setting up HashiCorp Vault in a Kubernetes environment
Configuring secrets management for applications

14. Helm Chart Complete Tutorial with Demo


Understanding Helm and its use cases
Creating and deploying applications using Helm charts

15. ArgoCD Tutorial with Hands-On Project


Setting up ArgoCD
GitOps implementation With ArgoCD
Module 10:Kubernetes

16. Stateful Sets in Kubernetes (With Demo)


Understanding Stateful sets in K8
Setting up MySql as a statefulset
Deploying a project with DB as statefulset

17. Service Mesh With Istio


Understanding Service Mesh
Implementing Service Mesh With ISTIO
Traffic Control inside K8 cluster using Service Mesh with ISTIO

18. ArgoCD
Understanding ArgoCD
CICD Using Jenkins+ ArgoCD
Module 10:Kubernetes

Projects [With EKS, Local K8]

Project-1 | Kubernetes Multi-Tier Mega Project


Project-2 | Helm Chart Multi-Tier Mega Project
Project-3 | GitOps with ArgoCD
Project-4 | Blue-Green Deployment [Project-1]
Project-4 | Blue-Green Deployment [Project-2]
Project-5 | 11 Microservices Project Deployment
Project-6 | GitHub Actions CICD (AKS)
Project-7 | Multi-Tier Project With Stateful set
Project-8 | A CAPSTONE PROJECT
Module 11: Azure DevOps

Understanding Azure DevOps & How It’s Different


from Traditional DevOps
Introduction to Azure DevOps
Key differences between Azure DevOps and
traditional DevOps approaches CI/CD Pipelines
Advantages of using Azure DevOps for cloud- 1. CI/CD Pipelines to Deploy to Azure Kubernetes
native projects Service (AKS)
Deploying applications to AKS using classic
Setting Up Azure Organisation build and release pipelines
Creating and configuring an Azure DevOps Deploying applications using YAML-based
organization pipelines
Managing teams, projects, and permissions
2. Java Project Deploy to Webapps
Core Services Deploying a Java project to Azure Web Apps
1.Azure Repos using Classic Pipeline
Version control using Git in Azure Repos Deploying a Java project using YAML-based
Managing repositories and pull requests Pipeline
2.Azure Pipelines
Overview of Azure Pipelines for CI/CD 3. Multitier Java Project Deploy to AKS
Classic build and release pipelines Deploying a multi-tier Java project to AKS
YAML-based pipelines using Classic Pipeline
3.Azure Artifacts Deploying a multi-tier Java project using
Using Azure Artifacts for package YAML-based Pipeline
management
Storing and managing packages 4. Multitier NodeJS + Database Project Deploy to
4.Azure Kubernetes Service (AKS) Webapp
Overview of AKS and its use cases Deploying a multi-tier NodeJS + Database
Deploying and managing containers in AKS project using Classic Pipeline
5.Azure Container Registry (ACR) Deploying a multi-tier NodeJS + Database
Setting up ACR to store container images project using YAML-based Pipeline
Pushing and pulling images to/from ACR

Creating Service Principal for Authentication in


Pipelines
What is a Service Principal?
Creating a Service Principal in Azure
Using Service Principal for authentication in
Azure DevOps pipelines
Module 12: Infrastructure as
Code (IaC)

Terraform Deep Dive


1. Infrastructure as Code Introduction
Understanding the concept of Infrastructure as Code (IaC)
Benefits of using IaC for infrastructure provisioning and
management

2. Understanding Terraform from Scratch


Introduction to Terraform and its use cases
Key concepts: Providers, Resources, and State

3. Terraform Setup
Installing Terraform
Setting up Terraform CLI and initial configuration

4. Terraform Credentials for AWS


Configuring AWS credentials for Terraform
Using environment variables for authentication

5. Writing & Understanding Terraform Code


Creating and structuring Terraform code
Key files:
-main.tf (main configuration)
-variables.tf (defining input variables)
-outputs.tf (defining outputs)
-tfstate files (state management)
-tfvars files (variable values)

6. Terraform Data Sources


Using data sources to automatically fetch resource information
Practical examples of using data sources (e.g., fetching VM
details)
Module 12: Infrastructure as
Code (IaC)

7. Terraform Import
Managing resources not created by Terraform using terraform import
Practical examples of importing existing infrastructure

8. Terraform Provisioners
Using provisioners for remote actions on infrastructure
Examples with remote-exec and local-exec

9. Terraform State Management with S3-Bucket


Configuring Terraform state backend using AWS S3
Enabling state locking using DynamoDB

10. Terraform Modules


Creating and using Terraform modules
Structuring reusable infrastructure code

11. Terraform Modules Multi-Environment Project


Setting up projects for multiple environments (dev, staging, production)
Best practices for managing environment-specific configurations

12. Terraform Workspaces


Using workspaces for managing multiple environments
Practical use cases of Terraform workspaces

13. EKS Creation with Terraform


Provisioning an AWS EKS (Elastic Kubernetes Service) cluster using Terraform
Configuring nodes, networking, and security groups

14. Terraform with Jenkins


Integrating Terraform with Jenkins pipelines
Automating infrastructure provisioning with CI/CD

15. Corporate Terraform Project


End-to-end project involving complex infrastructure provisioning using Terraform
Module 12: Infrastructure as
Code (IaC)
Ansible Deep Dive
1.Ansible Introduction
Overview of Ansible and its use cases
Agentless automation and configuration management

2. Ansible Modules
Understanding different types of Ansible modules
Examples of commonly used module

3. Ansible Plays & Playbooks


Writing Ansible playbooks for automation
Structuring plays and tasks

4. Ansible Collections
Using and creating Ansible collections
Managing reusable Ansible roles and modules

5. Ansible Roles
Creating and using Ansible roles for modular automation
Best practices for structuring roles

6. Ansible with Jenkins


Integrating Ansible with Jenkins pipelines
Automating configuration management with CI/CD

7. Ansible CI/CD Project


Building a real-world project using Ansible in CI/CD pipelines

8. Ansible Vault
Using Ansible Vault for encrypting sensitive data
Best practices for managing secrets with Ansible

9. Ansible with Terraform Project


Combining Terraform and Ansible for complete infrastructure automation
Practical project involving infrastructure provisioning and configuration

10. Ansible Static & Dynamic Inventory File


Module 13: Monitoring
1 3

2 4

Monitoring with Prometheus & Grafana

1. Prometheus, Node Exporter, Black Box Exporter, Grafana Local Setup & Monitoring
Introduction to monitoring and observability
Installing and configuring Prometheus
Setting up Node Exporter for system metrics
Using Black Box Exporter for external endpoint monitoring
Installing and configuring Grafana
Connecting Prometheus as a data source in Grafana
Creating custom dashboards and visualizations

2. Mail Notifications Based on Monitoring Project


Setting up alerting rules in Prometheus
Configuring Alertmanager for notifications
Sending alerts via email, Slack, or other integrations

3. Monitoring Tools Setup Using Docker


Running Prometheus, Node Exporter, Black Box Exporter, Alertmanager, and Grafana
using Docker
Managing monitoring stack with Docker Compose

4. Kubernetes Node Monitoring Project


Deploying Prometheus and Grafana in a Kubernetes cluster
Collecting and visualizing node-level metrics
Setting up alerts for CPU, memory, and disk usage

5. Application Monitoring in K8s Project


Monitoring application performance in Kubernetes
Using service discovery in Prometheus to scrape application metrics
Creating dashboards in Grafana for application-specific monitoring

6. Grafana + GitHub Mini Project


Integrating Grafana with GitHub for tracking repository activities
Visualizing GitHub metrics using Grafana dashboards
Module 14: Python For DevOps
Python Introduction
Why Python for DevOps?
Installing Python and setting up the environment
Writing and executing Python scripts

Datatypes, Variables & Best Practices in Python


Understanding Python datatypes (int, float, string, list, tuple, dict, set)
Variable declaration and best practices

Functions & Modules in Python


Defining and calling functions
Understanding function arguments (positional, keyword, default)
Creating and importing modules
Using built-in and third-party Python libraries

Control Statements & Loops in Python


if-else conditions
for and while loops
Loop control statements (break, continue, pass)

File Handling in Python


Reading and writing files (open(), read(), write())
Working with CSV and JSON files
File handling best practices

Python Socket Library


Understanding socket programming
Creating a simple client-server connection in Python

JSON Manipulation in Python


Parsing JSON data using Python
Creating and modifying JSON objects

Database Basics
Introduction to databases and SQL
Using Python with databases (PostgreSQL, MySQL)

Connecting to PostgreSQL
Setting up a PostgreSQL database
Connecting Python to PostgreSQL

Boto3 | AWS SDK for Python


Introduction to AWS SDK (boto3)
Automating AWS services

Docker SDK for Python


Introduction to the docker-py library
Automating Docker container management using Python
Running and managing containers programmatically

Kubernetes With Python


Using Python kubernetes-client SDK
Automating Kubernetes deployments using Python
Managing Kubernetes resources (pods, deployments, services)

You might also like