Week 1 - Automation Using Shell Scripting & RedHat Linux
Administration
Session 1:
Shell Scripting
o Basics of Shell Scripting
o Real-Time Scenarios in Shell Scripting
Session 2:
Red Hat Linux Administration
o Introduction to Red Hat Linux
o File System Management
o User and Group Administration
o Package Management with Yum
o System Services and Systems
o Networking Configuration
o Networking Concepts - SNAT, DNAT, IP, Netmask
o Security and Permissions
o System Performance Monitoring
o Storage Management
o Backup and Restore
Week 2 - Cloud Services & AWS Fundamentals
Session 3:
Overview of AWS Global Infrastructure
Detailed Overview of Elastic Compute Cloud (EC2)
Setting Up Your First EC2 Instance
In-Depth Guide to EC2 Instance Configuration
Exploring EC2 Options in Detail
Connecting to Cloud Instances
Session 4:
Security Group Handling and Management
Introduction to Amazon S3
Auto Scaling and Load Balancing
Understanding Cloud Formation and CloudWatch
Exploring Simple Notification Service (SNS) and Simple Queue Service (SQS)
Overview of Relational Database Service (RDS) and Identity and Access Management
(IAM)
Project-Based Learning: ECS and ECR
Serverless Architecture
Utilizing CloudWatch for Monitoring and Setting Billing Alarms
Week 3 - Source Code Management & Networking Concepts
Session 5:
Difference between CVCS and DVCS
Importance of Git
Installation of Git
Git three-stage Architecture
Detailed explanation of Repository, Commit, Tags, Snapshots, Push-Pull Mechanism,
and Branching Strategy
Working with Git stash and Git pop
Resolve Merge conflicts in Git
Git Revert and Reset (Reset vs Revert)
Git rebase
Working with git Squash
Git cherry pick
What is Git fork?
Session 6:
Git Integration on VScode, Git Authentication with Github via SSH and HTTPS Protocol
Github Introduction, Creating Repositories, PR’s
Networking Concepts in Detail
o How Systems Communicate
o LAN/WAN
o Switch, Router IP
o IP address and its types
o OSI Model
o Subnetting
o DNS Basics
o Switching + Routing
Week 4 - Package Management (Docker) Using Real-Time
Scenarios & Understanding SonarQube
Session 7:
Conceptual Concepts of Dockers
o What is Virtualization before deep dive into Containerization
o O.S level virtualization
o Docker vs Virtual Machine
o What is Docker and its History
o Docker Architecture
o Advantages and limitations of Docker
o Components of Docker (Docker Daemon, Docker Client, Docker Host)
o Docker Image
o Docker lifecycle
o Docker Image TAR and Unarchive, Docker container states, Docker Networking
o (Create and Manage), Dockerfile and CD flow
o CD Tools with Docker (Integrating CD tools like Jenkins and Github action using
projects)
o Docker Networking
o Docker Security Introduction
o Docker volume
Session 8:
SonarQube, Quality Gates, and Profiles:
o Understanding SonarQube's Role in Code Quality Assessment
o Implementing Quality Gates to Ensure Code Quality Standards
o Configuring and Managing SonarQube Profiles for Code Analysis
Week 5 - Minor Project Week
Session 9:
Design and implement a minor DevOps project involving shell scripting and RedHat
Linux Administration:
o Develop a script to automate user and group administration on a RedHat Linux
system.
o Create a shell script to add, delete, and list users and groups.
o Implement file system management tasks using shell scripting, such as creating
directories, setting permissions, and managing disk usage.
o Write a script to monitor system performance (CPU, memory usage) and
generate periodic reports.
Session 10:
Continue the project and integrate the use of Git and Docker:
o Initialize a Git repository for the project, commit the shell scripts, and push them
to a GitHub repository.
o Create a Dockerfile to containerize the shell scripting application.
o Build and run the Docker container, ensuring the shell scripts can be executed
within the container environment.
o Document the project setup, usage instructions, and any issues encountered
during the implementation
Week 6 - Continuous Integration and Continuous Delivery
Session 11:
Understanding aggregate functions (SUM, AVG, COUNT)
Continuous Integration/Continuous Deployment (CI/CD) Workflow Overview
o Understanding JenkinsFile: Exploring Jenkins Jobs, Jenkins Pipeline, and
Jenkins File
o Build Triggers in Jenkins: SCM Polling, GITScm Polling, Build Periodically -
Uncovering the What, Why, and How
o Groovy File Creation: Conceptualizing and Crafting Groovy Scripts for Jenkins
o Integrating GitHub with Jenkins: Establishing Webhooks for Seamless
Collaboration
Session 12:
Grasping Merge Request Concepts in the CI/CD Process
Jenkins Master-Slave Configuration: Optimizing Resource Utilization in CI/CD
o Triggering Pipelines Directly from JenkinsFile: Streamlining Automation
o GitLab Branching Strategy: Best Practices for Code Collaboration and Version
Control
o Hands-On Experience: Building a Jenkins CI Pipeline with Groovy,
Incorporating Various Stages
o Configuring Docker Engineer as the Jenkins Slave - Jenkins Dynamic Slave
Configuration
o Jenkins Plugins - Docker, Git, Maven, and other commonly used plugins
Integrating Kubernetes with Jenkins
Week 7 - Deep Dive Kubernetes
Session 13:
Introduction to Kubernetes
o Defining Kubernetes and its Role in Container Orchestration
o Exploring the Features and History of Kubernetes
Kubernetes Architecture
o In-Depth Analysis of Kubernetes Architecture
o Understanding Node Components, Manifest File Components, and Service
Components
o Overview of Node and Pod Fundamentals
o Role of Master Node and Components of the Control Plane
o Installing and Configuring kubectl and minikube
Session 14:
Kubernetes Basics
o Kubernetes Commands: Navigating and Interacting with Kubernetes
o Creation and Deletion of Pods
o Managing Kubernetes YAML Configurations
o Higher-Level Kubernetes Objects and Object Management
o Labels and Selectors in Kubernetes
o Kubernetes Networking, Services, and NodePort
o Understanding Namespaces in Kubernetes
o Multi Container Pod Setup
o Pods Design pattern - Sidecar, Ambassador
Week 8 - Working with Applications in Kubernetes
Session 15:
Installing Kubernetes on AWS
Deploying Microservices Applications to Kubernetes Cluster
ConfigMap and Secret Usage in Kubernetes
Exploring Volumes in Kubernetes
Persistent Volume and LivenessProbe in Kubernetes
Replication, Auto-Healing, and Deployment in Kubernetes
Session 16:
Advanced Kubernetes Topics
o Helm And Istio Service mesh
o Role-Based Access Control (RBAC) and Service Accounts
o Helm and Istio Integration in Kubernetes
o Kubernetes Interview Questions
o Differences Between Monolithic and Microservices Architecture
o HPA, Ingress, Taint, and toleration
Week 9 - Ansible
Session 17:
Defining Ansible and Understanding the Need for Configuration Management
o In-Depth Exploration of Ansible Architecture
o Analyzing the Architecture of Ansible for Efficient Configuration Management.
o Detailed Steps for Installing and Setting Up Ansible.
o Exploring Essential Components such as Ansible Roles, Ansible Collections,
Ad-hoc Commands, and Playbooks Setup.
Session 18:
Automation with Ansible Playbooks
o Creating Playbooks for Automation.
o Building Playbooks to Copy Files with Special Variables.
o Utilizing Ansible Handlers and Notifiers for Effective Automation.
o Implementing Playbooks for Downloading Artifacts and Unzipping Files.
Advanced Automation Scenarios with Ansible
o Leveraging Ansible Tags for Targeted Deployment to Servers.
o Automating the Installation of Apache and Configuring the Corresponding
Configuration Files
o Configure Multi-node k8s cluster with Ansible
o Manage Variable and Ansible Facts
Week 10 - Infrastructure As Code using Terraform
Session 19:
Introduction to Infrastructure as Code (IaC)
Getting Started with Terraform
Terraform Basics: Variables, Resources, Attributes, and Dependencies
Terraform State Management
Session 20:
Advanced Terraform Concepts: for-each and module
Terraform Project Development
AWS Infrastructure Security with Terraform
CIDR Setup Example with /16
Subnet Configuration with Terraform
Terraform State Locking
Terraform Modules
Week 11 - Monitoring And Logging
Session 1:
Installation Of Grafana
Database Installation MySQL
Grafana Setup with My SQL
Session 2:
Installation of Prometheus
Setting Up Prometheus on Kubernetes cluster
Monitoring K8 Cluster with Prometheus
Alerts in Grafana
Grafana Plugins
Week 12 - Major Projects - Mentor and Self Guided
Session 1:
Mentor Guided Project: Design and implement a robust DevOps project involving the
deployment of Amazon Elastic Container Service (ECS) on EC2 instances,
incorporating CloudWatch for monitoring, and integrating load balancers for optimal
application scaling
Mentor Guided Project: Amazon EKS, incorporating the Nginx Ingress Controller for
efficient traffic routing, and integrating Cert-Manager for SSL certificate management.
Session 2:
Self Guided Projects:
o GitHub action to add a node as a self-hosted runner and run a specific docker
image and expose it to a particular port using Nginx
o System Monitoring Script via Shell Scripting - Write a script to monitor system
resources (CPU, memory, disk usage