Skip to content

JawherKl/devops-guide

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

235 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸš€ DevOps Guide

Repository Size Last Commit Issues Forks Stars Status License

DevOps Guide Banner

A hands-on, practitioner-focused guide to the full DevOps lifecycle β€” from Linux foundations and networking, to containers, CI/CD, cloud infrastructure, observability, and security.

πŸ“– Read the companion article on Medium


πŸ“‹ Table of Contents


🧭 About

DevOps Guide is a practical, community-driven repository that maps the full DevOps engineering path. Content is organized into focused topic folders β€” each with real configurations, working Dockerfiles, architecture diagrams, and annotated examples you can actually run.

The scope goes beyond the usual CI/CD-and-Docker tutorials: it covers Linux, networking, server management, programming languages used in DevOps, cloud providers, certification prep, and real-world case studies.

⚠️ Work in progress β€” the repository is actively evolving. Some topics have more depth than others. Stars, issues, and pull requests are all welcome.


πŸ“ Repository Structure

devops-guide/
β”œβ”€β”€ architecture/           # System design diagrams and reference architectures
β”œβ”€β”€ images/                 # Assets used across documentation
β”œβ”€β”€ topics/                 # Core content β€” one folder per DevOps domain
β”‚   β”œβ”€β”€ case-studies/       # Real-world scenarios and post-mortems
β”‚   β”œβ”€β”€ certification/      # Study guides for DevOps certifications (CKA, AWS, etc.)
β”‚   β”œβ”€β”€ ci-cd/              # Pipelines: GitHub Actions, Jenkins, GitLab CI/CD
β”‚   β”œβ”€β”€ cloud/              # AWS, Azure, GCP β€” provisioning, IAM, networking
β”‚   β”œβ”€β”€ containers/         # Docker β€” images, Compose, multi-stage builds
β”‚   β”œβ”€β”€ devsecops/          # Security-first DevOps: scanning, policies, SAST/DAST
β”‚   β”œβ”€β”€ infrastructure/     # IaC: Terraform, Ansible, CloudFormation
β”‚   β”œβ”€β”€ language/           # DevOps scripting: Python, Go, Bash
β”‚   β”œβ”€β”€ linux/              # Linux administration, shell, system internals
β”‚   β”œβ”€β”€ monitoring/         # Prometheus, Grafana, Zipkin, alerting, tracing
β”‚   β”œβ”€β”€ networking/         # DNS, TCP/IP, load balancing, proxies, firewalls
β”‚   β”œβ”€β”€ orchestration/      # Kubernetes, Helm, cluster management
β”‚   β”œβ”€β”€ security/           # Hardening, secrets management, CVE handling
β”‚   β”œβ”€β”€ server-management/  # Configuration, services, SSH, user management
β”‚   β”œβ”€β”€ tools/              # Productivity tools: make, jq, curl, yq, etc.
β”‚   └── version-control/    # Git workflows, branching strategies, hooks
β”œβ”€β”€ .gitignore
β”œβ”€β”€ LICENSE
└── README.md

πŸ“š Topics Covered

🐧 Linux

The foundation of every DevOps environment. Covers the filesystem hierarchy, process management, shell scripting, permissions, cron jobs, and system internals that every engineer should know.

🌐 Networking

Essential networking concepts for infrastructure work β€” TCP/IP, DNS resolution, HTTP/HTTPS, load balancing, reverse proxies (Nginx, HAProxy), firewalls, and VPNs.

πŸ–₯️ Server Management

Day-to-day server operations: SSH hardening, user and permission management, service management with systemd, package management, and configuration best practices.

πŸ”„ CI/CD

Continuous Integration and Deployment pipelines with GitHub Actions, Jenkins, and GitLab CI/CD. Includes real pipeline files targeting containerized applications, with stages for build, test, security scan, and deploy.

🐳 Containers

Docker from basics to advanced patterns β€” optimized image layering, multi-stage builds, Docker Compose for local dev and test environments, and image security best practices. The repository is 100% Dockerfile-based for fully runnable examples.

☸️ Orchestration

Kubernetes workloads and cluster management. Covers Deployments, Services, ConfigMaps, Secrets, resource limits, health probes, RBAC, and Helm chart authoring.

πŸ—οΈ Infrastructure (IaC)

Reproducible, version-controlled infrastructure using Terraform, Ansible, and AWS CloudFormation. Examples focus on idempotency, state management, and real cloud targets.

☁️ Cloud

Provider-specific guides for AWS, Azure, and GCP β€” IAM, VPC/networking, compute, storage, managed services, and cost awareness. Covers both CLI and IaC approaches side by side.

πŸ“Š Monitoring

Full observability stack: Prometheus metrics collection, Grafana dashboards, Zipkin distributed tracing, and alerting rules. Includes pre-built dashboard configs and trace analysis patterns for microservices.

πŸ” DevSecOps

Security integrated at every pipeline stage β€” container image scanning with Trivy, dependency auditing with Snyk, DAST with OWASP ZAP, and policy-as-code patterns.

πŸ”’ Security

Infrastructure and application hardening β€” secrets management, CVE triage workflows, TLS/PKI basics, and least-privilege access patterns.

πŸ› οΈ Tools

The everyday DevOps toolbox: make, jq, yq, curl, direnv, and other utilities that make workflows faster and more reproducible.

πŸ’» Language

Scripting and automation in Python, Go, Bash and JavaScript β€” the three most common languages in DevOps tooling and automation workflows.

🌿 Version Control

Git workflows (GitFlow, trunk-based development), commit conventions, branching strategies, git hooks, and pull request best practices for both infrastructure and application teams.

πŸ† Certification

Structured study material for popular DevOps certifications: CKA (Certified Kubernetes Administrator), AWS DevOps Professional, Terraform Associate, and more.

πŸ“‚ Case Studies

Real-world scenarios, architecture breakdowns, and post-mortems that illustrate how the tools and practices in this guide come together in production systems.


πŸš€ Getting Started

Prerequisites

  • Git
  • Docker & Docker Compose (for most hands-on examples)

Clone the repository

git clone https://github.com/JawherKl/devops-guide.git
cd devops-guide

Pick a topic and dive in

# Example: start with Linux foundations
cd topics/linux

# Example: run a container example
cd topics/containers

# Example: explore a CI/CD pipeline
cd topics/ci-cd

Each topic folder contains its own README.md with context, prerequisites, and step-by-step instructions.


πŸ› οΈ Tools & Technologies

Category Tools
CI/CD GitHub Actions, Jenkins, GitLab CI/CD, CircleCI
Containers Docker, Docker Compose
Orchestration Kubernetes, Helm
Infrastructure (IaC) Terraform, Ansible, AWS CloudFormation
Cloud AWS, Azure, Google Cloud
Monitoring & Tracing Prometheus, Grafana, Zipkin
Logging ELK Stack (Elasticsearch, Logstash, Kibana), Graylog
Security Trivy, Snyk, OWASP ZAP
Messaging & Caching Kafka, Redis
Deployment & Management ArgoCD, Portainer
Languages Python, Go, Bash
Version Control Git, GitHub

πŸ—ΊοΈ Roadmap

  • Repository structure and organization
  • Containers β€” Docker, Compose, multi-stage builds
  • CI/CD β€” GitHub Actions, Jenkins, GitLab
  • Orchestration β€” Kubernetes, Helm
  • Infrastructure as Code β€” Terraform, Ansible
  • Monitoring & Tracing β€” Prometheus, Grafana, Zipkin
  • DevSecOps β€” Trivy, Snyk, OWASP ZAP
  • Version Control β€” Git workflows and strategies
  • Linux β€” complete coverage of administration and internals
  • Networking β€” DNS, TCP/IP, proxies, firewalls
  • Cloud β€” deep dives for AWS, Azure, GCP
  • Language β€” Python, Go, Bash scripting guides
  • Server Management β€” SSH, systemd, user management
  • Tools β€” jq, make, yq, and daily-use utilities
  • Security β€” hardening, secrets management, CVE workflows
  • Certification study packs β€” CKA, AWS DevOps Pro, Terraform Associate
  • Case studies β€” real-world architecture and post-mortems
  • GitOps β€” ArgoCD / Flux
  • Service mesh β€” Istio / Linkerd
  • CONTRIBUTING.md and issue templates

🀝 Contributing

All contributions are welcome β€” new examples, fixes, additional topics, or improved explanations.

# 1. Fork the repository and clone locally
git clone https://github.com/JawherKl/devops-guide.git

# 2. Create a branch scoped to the topic you're working on
git checkout -b feat/linux-process-management

# 3. Add your content and commit with a descriptive message
git commit -m "feat(linux): add process management and signals guide"

# 4. Push and open a Pull Request
git push origin feat/linux-process-management

Please keep examples runnable, include a brief explanation of what each configuration does, and test locally before submitting.


πŸ“¬ Feedback & Discussions

Found an issue? Have a topic request? Open an issue or start a conversation in the Discussions tab.


πŸ“œ License

This repository is licensed under the MIT License.


🌟 Stargazers over time

Stargazers over time

About

This project serves as a comprehensive resource for anyone interested in learning and implementing DevOps tools, and workflows.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors