DevOps Peach

DevOps & CI/CD · DevOps Overview & CI/CD Pipeline · Lesson 1 of 4

What DevOps Is and Why It Matters

DevOps is a set of practices and a culture that removes the barrier between developers and operators to ship software faster, more often and more reliably — not a job title or a tool.

Practice interactively →

Modern software is changing on three axes at once:

Axis Old Modern
Architecture Monolith SOA → Microservices
Infrastructure Physical servers VMs → Cloud, containers, serverless
Delivery Waterfall Agile → DevOps

When the Dev team (wants fast change) and the Ops team (wants stability) work apart in silos, code is "thrown over the wall": slow releases, late bug discovery, blame games.

DevOps is a set of practices and culture where Dev and Ops share responsibility from code to production, aiming for: - shorter development cycles and more frequent deployments; - more reliable releases and fast recovery from incidents; - alignment with business goals and customer experience.

flowchart LR
  subgraph Before["Silo"]
    D1["Dev: change fast"] -- "throw code over the wall" --> O1["Ops: stay stable"]
  end
  subgraph After["DevOps"]
    T["One shared team<br/>automate, measure, share responsibility"]
  end
  Before --> After

Short history: around 2007–2008 the Agile community discussed the Dev–Ops gap; in 2009 came Flickr's "10+ Deploys a Day" talk and the first DevOpsDays event — the word "DevOps" comes from there. Companies like Amazon and Netflix deploy thousands of times a day thanks to automation and small, independent architectures.

Traps: - Treating DevOps as a job title ("hire one DevOps engineer and we're done") or a tool ("install Jenkins and we have DevOps"). Tools only help; changing culture and process is the core. - Confusing DevOps with Agile: Agile optimizes how software is developed; DevOps extends to operations and delivery.

One visible sign of a DevOps team: small, frequent commits, each going through the pipeline.

Command Meaning
git log --oneline -5 The last 5 commits, one line each

Core practices

Practice What it means
Version control for everything Code, pipelines, infrastructure, and configuration all live in Git
Continuous integration and delivery Every change is built, tested, and ready to release automatically
Infrastructure as Code Servers, networks, and clusters are created from reviewed files
Monitoring and observability Metrics, logs, and traces show how the system behaves in production
Small batches Many small changes instead of rare big releases, lowering the risk of each
Collaboration Shared goals, on-call duties, and post-mortems across Dev and Ops

The Three Ways

A popular description of DevOps thinking comes from The Phoenix Project and The DevOps Handbook:

  1. Flow: make work move quickly from development to production, by limiting work in progress and removing hand-offs.
  2. Feedback: make problems visible quickly, through tests, monitoring, and alerts, so they are fixed where they start.
  3. Continual learning and experimentation: build a culture where teams try improvements, learn from failures, and share knowledge.

What a DevOps engineer actually does

In job postings, "DevOps engineer" usually means someone who builds and maintains CI/CD pipelines, writes infrastructure code, runs containers and Kubernetes, sets up monitoring, and helps developers ship safely. The role exists to enable teams, not to take over all operations for them. The skills in this course (Linux, Git, scripting, cloud, containers, pipelines, monitoring) match that profile.

Related terms

Practice interactively →