What Is DevOps?
What Is DevOps?
DevOps is the set of cultural practices, organizational patterns, and technical tooling that collapse the traditional wall between the teams that build software and the teams that run it in production. Understanding why that wall existed — and exactly what it costs — is the foundation of everything else in this course.
The Wall Between Dev and Ops
Before DevOps became mainstream, most engineering organizations were structured around a hard handoff model. Developers wrote code, threw it "over the wall" to an operations team, and waited. The ops team — responsible for system stability, uptime, and change control — received a tarball or an installer and had to make it work on infrastructure they owned and you did not.
This model created a powerful misalignment of incentives:
- Developers were rewarded for shipping features quickly. Velocity was their metric.
- Operations were rewarded for stability. Every change was a risk, and their on-call rotation paid the price when something broke at 3 AM.
- The result: dev pushed for speed, ops pushed back on change, and both teams blamed each other when the release failed.
What Changed: The DevOps Movement
The term "DevOps" was popularized around 2009 by Patrick Debois and others who organized the first DevOpsDays conference in Ghent. The movement drew from Agile, Lean manufacturing (Toyota Production System), and the work of Gene Kim, Jez Humble, and Patrick Debois — later codified in The Phoenix Project and Accelerate.
The core insight was simple: the wall is not a process problem, it is an organizational design problem. You cannot fix it with a better ticketing system. You fix it by changing who is responsible for outcomes.
The Cultural Shift
The cultural changes are harder to implement than the technical ones, but they are the ones that actually move the metrics:
- Shared ownership: Developers are on-call for their own services. They see the 3 AM pages. This immediately improves reliability — nobody writes sloppy code when they are the one who gets woken up.
- Blameless post-mortems: When incidents happen (and they always do), the organization investigates systems and processes, not individuals. Psychological safety enables honest root-cause analysis.
- Small, frequent releases: Instead of quarterly "big bang" deployments, teams ship dozens of times per day. Smaller changes are easier to test, easier to roll back, and carry less risk per deployment.
- Automation as a first-class citizen: If a human does it more than twice, it gets automated — from provisioning servers to running tests to promoting artifacts through environments.
The Technical Shift
Culture alone does not ship software. The cultural shift enables — and demands — specific technical practices:
- Version-controlled everything: Not just application code, but infrastructure definitions, configuration files, pipeline scripts, and database migrations. If it is not in git, it does not exist.
- Continuous Integration (CI): Every commit triggers an automated build and test suite. Broken builds block the pipeline and are fixed immediately — the canonical rule is "never go home on a red build."
- Continuous Delivery/Deployment (CD): Artifacts that pass CI are automatically promoted through staging and into production (or are one button-click away from production). The pipeline is the release process.
- Infrastructure as Code (IaC): Servers, networks, load balancers, and databases are defined in code (Terraform, Pulumi, CloudFormation) and provisioned programmatically, not by clicking through cloud consoles.
- Observability: Every service emits metrics, structured logs, and distributed traces. The team can ask arbitrary questions about production state without deploying new instrumentation.
What DevOps Is NOT
The term has been badly diluted. Understanding what DevOps is not prevents wasted effort:
- Not just a tool set: Buying Jenkins, Kubernetes, and Datadog does not make you DevOps. You can run all three and still have a wall, still do quarterly releases, still have a separate "DevOps team" that ops engineers report to while developers never touch production.
- Not a separate team called "DevOps": The most common anti-pattern. Creating a "DevOps team" that owns the pipeline for every other team just moves the wall — now it is between product engineers and the DevOps gatekeepers. Effective DevOps embeds the practices into every product team.
- Not exclusively about speed: The goal is sustainable velocity at high quality. The DORA research (covered in Lesson 5) shows elite teams deploy frequently AND have low change failure rates — speed and stability are complementary, not in tension.
Why This Matters at Scale
The research is unambiguous. The Accelerate book (Forsgren, Humble, Kim — based on six years of the DORA State of DevOps survey) found that high-performing engineering organizations deploy 973× more frequently than low-performing ones, with a mean time to restore of under one hour versus over six months for low performers. These are not marginal gains — they are order-of-magnitude differences that translate directly into competitive advantage.
Amazon deploys to production every 11.6 seconds on average. Netflix performs hundreds of deployments per day. These organizations do not do this because they have more engineers — they do it because they have eliminated the wall, automated the toil, and built a culture where every engineer is responsible for the full lifecycle of their software.
The Rest of This Tutorial
This first lesson establishes the "why." The remaining nine lessons in this tutorial build the complete mental model:
- Lesson 2 breaks down the CALMS framework — the structural lens for diagnosing any DevOps transformation.
- Lessons 3–5 cover the delivery lifecycle, how big tech ships, and the DORA metrics you will use to measure your own progress.
- Lessons 6–10 move into practical territory: infrastructure evolution, the toolchain landscape, career paths, the Twelve-Factor App, and mapping a real delivery pipeline.
By the end of this tutorial you will have both the vocabulary and the mental models to engage with the technical depth that follows in subsequent tutorials on Linux, CI/CD, containers, Kubernetes, and beyond.