π οΈ DevOps & Tooling
Shipping and operating software. 50 topics, from beginner to advanced.
DevOps combines software development and IT operations so teams can build, test, release and run software quickly and reliably. The topics cover version control, continuous integration and delivery, containers, infrastructure as code and monitoring. The goal is small, frequent, reversible changes instead of risky large releases.
Who this area is for
Developers who want to ship and run their own software, system administrators moving to automation, and anyone who keeps services online.
Real-world use cases
- Running automated tests on every commit with a continuous integration pipeline.
- Packaging an application and its dependencies into a container image.
- Describing servers and networks in code so environments can be rebuilt on demand.
- Automatically running tests and deploying a service each time code is merged.
- Setting a cost alarm so that a forgotten cloud resource does not run up a large bill.
Topics in DevOps & Tooling
Beginner (17)
- Command Line Basics β Navigating and operating the system via text commands.
- Linux File System Layout β Standard directories and their purposes.
- File Permissions β Read, write and execute rights for users and groups.
- Text Editors and IDEs β Tools for writing and navigating code.
- Package Managers β Tools installing and updating software dependencies.
- Environment Variables β Named values configuring processes.
- Git Basics β Distributed version control with commits.
- Branching and Merging β Parallel lines of development and combining them.
- Pull Requests β Proposals to merge changes with discussion and review.
- Resolving Merge Conflicts β Reconciling overlapping edits.
- Git Internals β Objects, refs and the commit graph.
- Shell Scripting β Automating tasks with command scripts.
- Pipes and Redirection β Connecting program outputs and inputs in shells.
- grep, sed and awk β Classic text-processing tools.
- Cron Jobs β Scheduled recurring tasks.
- SSH Keys β Key-based remote login.
- Build Systems β Tools like Make that automate compiling.
Intermediate (17)
- Dependency Management β Controlling external library versions.
- Semantic Versioning β Version numbers conveying compatibility meaning.
- Continuous Integration β Automatically building and testing every change.
- Continuous Delivery β Keeping software always releasable via automated pipelines.
- Deployment Strategies β Blue-green, canary and rolling releases.
- Docker Images and Layers β Immutable layered filesystems for containers.
- Docker Compose β Defining multi-container apps in a file.
- Kubernetes Objects β Pods, deployments and services.
- Helm and Kustomize β Templating and customizing Kubernetes manifests.
- Terraform β Declarative multi-cloud infrastructure provisioning.
- Configuration Management β Tools like Ansible keeping servers consistent.
- Monitoring and Alerting β Watching metrics and notifying on problems.
- Logging Pipelines β Collecting and searching logs centrally.
- Prometheus and Grafana β Metrics collection and dashboards.
- Tracing with OpenTelemetry β Vendor-neutral instrumentation for traces.
- Incident Response β Handling outages and learning from them.
- Postmortems β Blameless reviews after incidents.
Advanced (16)
- SLIs, SLOs and SLAs β Measures and targets for service reliability.
- Capacity Planning β Forecasting resources needed for demand.
- Cost Optimization β Reducing cloud and infrastructure spend.
- Secrets Management β Storing credentials securely for applications.
- GitOps β Using Git as the source of truth for deployments.
- Feature Flags β Toggling features at runtime without redeploying.
- Trunk-Based Development β Frequent merges to a single main branch.
- Monorepos β Single repository hosting many projects.
- Reproducible Builds β Builds that yield identical outputs from identical sources.
- Linux Performance Tools β top, strace and perf for diagnosing systems.
- Networking Tools β curl, tcpdump and dig for debugging connectivity.
- Platform Engineering β Building internal platforms that enable developer self-service.
- Policy as Code β Enforcing rules through machine-checked policies.
- Disaster Recovery β Plans and tooling to restore service after catastrophe.
- DevSecOps β Integrating security throughout the delivery pipeline.
- Developer Productivity β Practices and metrics improving engineering flow.
How to study DevOps & Tooling
Practice on a machine you control. Write a shell script, put it under version control, then run it through a pipeline that tests and deploys it. Every concept becomes clearer when you watch a change move from a commit to a running service.
Frequently asked questions
What is continuous integration?
Do I need containers to practice DevOps?
What is infrastructure as code?
Is DevOps a job title or a practice?
Do I need to learn Kubernetes first?
Open the interactive DevOps & Tooling area Take the DevOps & Tooling quiz
Other areas
- π» Programming Fundamentals
- π§± Data Structures
- βοΈ Algorithms
- π Computer Architecture & Logic
- π₯οΈ Operating Systems
- π Computer Networks
- ποΈ Databases
- ποΈ Software Engineering
- πΈοΈ Web Development
- π Security & Cryptography
- β Theory & Discrete Math
- 𧬠Languages & Compilers
- π€ AI & Machine Learning
- βοΈ Distributed Systems & Cloud
- π¨ Graphics, Vision & Media
- π Math for Computing
- π Concurrency & Parallelism
- π± Mobile, Embedded & IoT
- π Emerging & Frontier Topics