Innovation... driven by intelligence and logic

Course Structure: Linux Systems and DevOps Engineering...

Course Structure: Linux Systems and DevOps Engineering

Module 1: Foundations of DevOps & Advanced Git

Advanced Data Structures 
Time & Space ComplexityAmortized Analysis
Trees & Graphs

Introduction to DevOps:

What is DevOps? History, principles (CALMS), and culture.
The DevOps toolchain and lifecycle.
Transitioning from traditional IT to a DevOps model.

Shell Scripting using Bash

Writing Scripts, Shell Scripting Functions, Scripting for System and Network Administrators
Programs and Project integration using make, makefile

→ Python for DevOps & Automation

Basic Language for writing complex automation scripts,
Lambda/Cloud Functions, and interacting with cloud APIs.

→ SCCS (Advanced):

Source Code Control System.
Architecture, Concurrency, File-by-file control, Scope, History storage, Branching.
Interleaved deltas, Exclusive locking.
Version identification, Keyword expansion.

→ Apache Subversion (SVN)

Update, Commit
Centralized Model, Working Copy, Revisions.
Trunk, Branches, and Tags, Atomic Commits

→ Git (Advanced):

Review of core Git commands.
Advanced Branching Strategies: GitFlow, GitHub Flow, GitLab Flow.
CI/CD Workflows: The role of Git in automated pipelines.
Git hooks and managing large repositories.

Module 2: Containerization with Docker

Docker Fundamentals:

Containers vs. virtual machines.
Docker Engine: Architecture and components.
Images & Containers: Building images with Dockerfiles, managing containers.
Docker Networking: Bridge, host, and user-defined networks.
Docker Volumes: Persistent storage for containers.

Docker in Practice:

Multi-stage builds for smaller images.
Docker Compose: Defining and running multi-container applications.
Introduction to Orchestration: The need for a container orchestrator.

Module 3: Orchestration with Kubernetes (K8s)

Kubernetes Core Concepts:

Cluster Architecture: Master and worker nodes.
Basic Primitives: Pods, Deployments, Services, and Namespaces.
ReplicaSets and scaling applications.
ConfigMaps & Secrets for configuration management.
Ingress for external access.

Advanced Kubernetes:

Persistent Volumes & Claims for stateful applications.
Helm: Packaging and managing Kubernetes applications.
Troubleshooting: Log analysis, pod and service debugging.

Module 4: CI/CD Pipelines & Automation

CI/CD Philosophy:

The importance of continuous integration, delivery, and deployment.
Best practices for building automated pipelines.

CI/CD with GitHub Actions/GitLab CI:

GitHub Actions: Creating and managing workflows, jobs, and steps.
GitLab CI: Using the .gitlab-ci.yml file, runners, and stages.
Integrating security scanning (SAST/DAST) into pipelines.

Project: Deploying a Microservices App on Kubernetes Cluster

Trainees will use Git to manage code for a multi-service application.
They will write Dockerfiles for each service.
They will create a CI/CD pipeline using either GitHub Actions or GitLab CI.
The pipeline will automatically build Docker images, push them to a container registry, and deploy the application to a local Kubernetes cluster.
They will use Kubernetes YAML manifests to define deployments and services.

Module 5: Cloud & Infrastructure as Code (IaC)

→ Advanced Networking
Service Mesh (Istio/Linkerd)
For microservices, a service mesh handles advanced traffic management (Canary, Blue/Green), security, and observability.

Cloud Fundamentals (AWS/GCP):

Introduction to AWS (EC2, S3, VPC, IAM) or GCP (Compute Engine, Cloud Storage, VPC).
Shared Responsibility Model in the cloud.
Linux instances in the cloud and security groups.

Infrastructure as Code (IaC) with Terraform:

Why IaC? Benefits and principles.
Terraform Basics: State file, providers, resources.
Writing HCL (HashiCorp Configuration Language) to provision infrastructure.
Managing cloud resources using Terraform.

Container Orchestration on Cloud:

Amazon EKS (Elastic Kubernetes Service) or Google GKE (Google Kubernetes Engine).
Deploying a production-grade Kubernetes cluster on a major cloud provider.
Integrating the cluster with other cloud services.

Module 6: Reliability, Monitoring, Observability & Advanced Topics

System Reliability

SRE Principles: Concepts like SLOs, SLAs, SLIs, Error Budgets, and Postmortems are the backbone of modern operations and bridge the gap between DevOps and SRE.

→ Monitoring & Observability:

Distinction between monitoring, logging, and tracing.
Prometheus & Grafana: Setting up a monitoring stack for Kubernetes.
ELK Stack (Elasticsearch, Logstash, Kibana) for centralized logging.

Security in DevOps (DevSecOps):

Vulnerability Scanning & Policy
Integration of tools like Trivy (for image scanning) or basic security checks in the CI/CD pipeline is non-negotiable for modern DevOps.
Shifting security left.
Integrating security into the CI/CD pipeline.

Configuration Management (Intro to Ansible):

 Ansible/Puppet/Chef (In-depth)
Managing Virtual Machines, Patching, and pre/post-deployment tasks outside of Kubernetes.
 Automating system configuration tasks.
Simple playbooks for server setup.
→ Cost Management
FinOps in the Cloud: Understanding cloud cost optimization, identifying unused resources, and rightsizing instances is a critical, high-value skill for any cloud role.
→ Troubleshooting Tools
→ Linux Utility Deep Dive: Leveraging the trainees' Linux background to master advanced tools like strace, lsof, tcpdump, and advanced netstat/ss for deep system/container debugging.

Final Project: Cloud Deployment with Monitoring & Auto-scaling

Project Goal: To create a production-like environment for a web application.

Steps:

1. Use Terraform to provision a VPC, subnets, and an EKS/GKE cluster in AWS/GCP.
2. Containerize the application and set up a CI/CD pipeline to build and push images to a cloud registry.
3. Deploy the application to the cloud Kubernetes cluster using Kubernetes manifests.
4. Set up Prometheus and Grafana to monitor the cluster and application metrics.
6. Bonus: Add a simple health check or a canary deployment to the CI/CD pipeline.

__Back to Course__

 
Go to Top ^