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 Complexity, Amortized 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 ^