DevOps Fundamentals
What DevOps is, why it exists, and the core concepts you need to know.
What is DevOps?
DevOps is a set of practices that combines software development (Dev) and IT operations (Ops) with the goal of shortening the development lifecycle and delivering software continuously and reliably.
In practice, DevOps means: automating deployments, monitoring systems in production, treating infrastructure as code, and building a culture where developers are responsible for what they ship.
Core concepts
| Concept | What it means |
|---|---|
| CI/CD | Continuously integrate code changes and automatically deploy them |
| Infrastructure as Code | Define infrastructure in version-controlled files, not via GUIs |
| Observability | Know what your system is doing through logs, metrics, and traces |
| Immutable infrastructure | Never patch running servers — replace them |
| Shift left | Find problems earlier in the development cycle, not in production |
The DevOps toolchain
| Stage | Common tools |
|---|---|
| Source control | Git, GitHub, GitLab |
| CI/CD | GitHub Actions, GitLab CI, ArgoCD, Jenkins |
| Containers | Docker, containerd, Podman |
| Orchestration | Kubernetes, Nomad |
| Infrastructure as Code | Terraform, Pulumi, Ansible |
| Monitoring | Prometheus, Grafana, Datadog, New Relic |
| Logging | Loki, ELK stack, CloudWatch |
Start with TLD
The best way to understand DevOps tools is to use them in anger. Start with the Docker track to build container intuition, then move to Kubernetes.