Overview
DevOps covers a wide range of topics, which can make it hard to know where to start. This post organizes what to learn in each phase, based on the order things are actually used in production.
Rather than completing each phase perfectly before moving on, it’s more effective to grasp the essentials and progress to the next stage.
1. Foundations — Linux, Networking, Git, Shell
Details
The starting point for DevOps is understanding server environments.
Linux
- Process, CPU, memory, disk management
- File permissions, ownership
- systemd service management
- Log analysis (journalctl, tail, grep)
Networking
- IP, subnets, DNS fundamentals
- HTTP, TCP/UDP, port concepts
- Firewalls (iptables, security groups)
- Proxies, load balancers basics
Git
- Branching strategies (Git Flow, trunk-based)
- merge vs rebase
- Conflict resolution
- Tags and releases
Shell Script
- Automating repetitive tasks
- Conditionals, loops, functions
- set -e, error handling
- 10-50 line operational scripts
Move through this phase quickly, with the goal of being able to SSH into a server and check its status when an incident occurs.
2. Containers and CI/CD (Continuous Integration / Continuous Delivery)
Details
The transition from deploying directly to servers to container-based deployments.
Docker
- Image building and Dockerfile authoring
- Layer caching, multi-stage builds
- Docker Compose for local development environments
- Pushing images to registries (Docker Hub, ECR, etc.)
CI/CD (Continuous Integration / Continuous Delivery)
- Choose one of: GitHub Actions, GitLab CI, Jenkins
- Pipeline structure: build → test → deploy
- Environment variables, secrets management
- Branch-based deployment strategies (dev, staging, production)
Python scripting
- Writing deployment automation scripts
- API calls (requests, boto3)
- Log parsing, data processing
- Building simple CLI tools
The most effective approach at this phase is to containerize a personal project with Docker and build a pipeline that auto-deploys on push.
3. Cloud and IaC (Infrastructure as Code)
Details
Moving from managing servers directly to managing cloud infrastructure as code.
Cloud (AWS-focused)
- EC2 (virtual servers), VPC (virtual network), subnets, security groups
- S3 (object storage), IAM (access management), RDS (managed database)
- ELB — ALB (HTTP load balancer) / NLB (TCP load balancer), Route 53 (DNS)
- CloudWatch basic monitoring
Terraform
- HCL (HashiCorp Configuration Language) syntax, providers, resources
- State management and remote backends
- Building reusable structures with modules
- plan → apply → destroy workflow
Ansible
- Server configuration automation (package installation, file deployment, service management)
- Playbook and role structure
- Applying to multiple servers simultaneously
- Combining Terraform for infrastructure + Ansible for configuration
This is where differentiation begins. Preparing for certifications like AWS Solutions Architect Associate alongside this phase helps your resume.
4. Orchestration and Monitoring
Details
Running containers at scale and observing system state.
Kubernetes
- Pod, Service, Deployment, ReplicaSet
- ConfigMap, Secret
- Ingress, network policies
- Resource management (requests, limits)
- kubectl usage and debugging
Helm
- Understanding Chart structure
- Environment-specific configuration with values.yaml
- Using and customizing public Charts
Monitoring
- Prometheus: metric collection, PromQL
- Grafana: dashboard creation, alert configuration
- Metric design: deciding what to measure
Logging
- ELK Stack (Elasticsearch: search engine, Logstash: log collection/transformation, Kibana: visualization) or Loki
- Centralized log collection
- Log-based alerting
At this phase, building a project that deploys an app to K8s with monitoring and alerting connected makes a strong portfolio piece.
5. Advanced — Go, Security, SRE, GitOps
Details
Going deeper beyond the fundamentals.
Go
- Docker, Kubernetes, Terraform, Prometheus are all written in Go
- Building CLI tools
- K8s Operator, custom exporter development
- Single binary deployment advantage
Security
- Secrets management (Vault, AWS Secrets Manager)
- Network policies, RBAC (Role-Based Access Control)
- Container image vulnerability scanning
- Supply chain security
SRE (Site Reliability Engineering)
- SLO (Service Level Objective) / SLI (Service Level Indicator) definition and error budgets
- Incident response processes
- Postmortem writing
- Chaos Engineering (fault injection testing)
GitOps
- ArgoCD or Flux
- Git as single source of truth
- Declarative deployment and auto-sync
- Rollback strategies
This phase takes you from junior to mid-level and beyond as a DevOps/SRE engineer.
Study Approach
Building one project per phase is the most effective method.
| Phase | Project example |
|---|---|
| Phase 1 | Write a server health check shell script |
| Phase 2 | Dockerize a personal app and auto-deploy with GitHub Actions |
| Phase 3 | Provision VPC + EC2 + RDS on AWS with Terraform |
| Phase 4 | Deploy app to K8s + Prometheus/Grafana monitoring |
| Phase 5 | Build a GitOps pipeline with ArgoCD |
Rather than understanding everything perfectly before moving on, building things hands-on and filling gaps as you encounter them is the realistic approach.
Summary
DevOps is less about deep-diving into a single tool and more about the ability to connect multiple tools into a working flow. Start from Linux, then connect containers, CI/CD, cloud, and orchestration one by one.