What is DevOps?

One team builds, ships and runs the software. Automation keeps the loop fast and safe.

15 min read

You merge a pull request. Ten minutes later, real users see your change.

You did not copy files to a . You did not restart anything.

Something did that work for you. That something is DevOps.

Two teams and a wall

Before DevOps, most companies had two separate teams.

  • Developers wrote new features. Their goal was change.
  • Operations ran the servers. Their goal was stability. To them, every change was a risk.

When developers finished a feature, they gave the code to operations. People called this "throwing it over the wall". Operations then installed it by hand, often at night, about once a month.

Two teams with two goals, and a wall between them.
  1. Before DevOpstwo teams, one wall
  2. -Developers write code, then hand it over
  3. -Operations installs it by hand, at night
  4. -One big release each month
  5. -When it breaks, each team blames the other
  6. With DevOpsone team, one goal
  7. +The same team builds and runs the app
  8. +Robots build, test and ship each change
  9. +Many small releases each day
  10. +When it breaks, the team fixes it in minutes

A monthly release held hundreds of changes. When something broke, nobody knew which change caused it. The fix took days.

With one change in each release, a bug points straight at its cause.

So what is DevOps?

DevOps is development plus operations. It is a way of working, not one tool. Three ideas make it work:

  1. One team owns the software, from idea to users. Amazon's CTO, Werner Vogels, said it in 2006: "You build it, you run it."
  2. Robots do the repeated work. A computer builds, tests and ships every change. Teams call this chain of automatic steps a pipeline. People review and decide.
  3. Small changes, often. A small change is easy to check and easy to undo.

The DevOps loop

Every change goes around a loop with eight stages.

The left half is the "dev" side. The right half is the "ops" side. What the team learns in production goes into the next plan, so the loop never stops.

the devops loop
One parcel is one code change. Move or drag from left to right to drive it round the loop.

Here is the same loop with the tools a typical web team uses:

dev

ops

Plana ticket in Linear
Git
Codegit push
GitHub Actions
Buildnext build
Testtests run by a robot
Docker
Releaseimage v1.4.2
Kubernetes
Deploynew version to servers
AWS
Operaterun and scale on AWS
Grafana
Monitorwatch errors and speed
ship
learn
Read down the dev side, then up the ops side. What the team learns goes into the next plan.
  • Plan. Decide what to build. This is a ticket in Linear or Jira.
  • Code. Write the change, then push it to GitHub.
  • Build. A robot turns your code into something that can run. For a Next.js app, this is next build.
  • Test. The robot runs all the tests. One failed test stops the change.
  • Release. The build gets a version number, like v1.4.2, and goes on a shelf. Nothing changes for users yet.
  • Deploy. The new version goes to the servers. Now users get it.
  • Operate. The servers run the app. They add more copies of it when traffic grows.
  • Monitor. Dashboards and alerts watch for errors and slow pages.

Do not learn the tool names now. Each one gets its own lesson later.

You already use DevOps

As a frontend engineer, you already touch this loop. Here is a common setup for a Next.js team:

    1. Yougit push
  1. every pull request

    1. GitHub
      GitHubpull request
    2. starts
      GitHub Actions
      GitHub Actionslint and tests
    3. Vercel
      Vercelpreview link
  2. approved

    main

    1. Merge to mainafter review
    2. Productionusers see it
Each arrow is automatic. Someone on your team set it up.

Someone set up every arrow in this picture. When an arrow breaks, someone fixes it.

That is DevOps work. This course shows you what happens inside each arrow.

Four questions this course answers

The ops side of a team spends its day on four questions. Each one is a part of this course.

  • Where it runs: servers, the cloud, containers and Kubernetes. Start at chapter 2.
  • How code gets there: pipelines and infrastructure as code. See chapter 5 and chapter 7.
  • How we know it works: monitoring, in chapter 8.
  • How we keep it safe: security, in chapter 9.

How teams measure DevOps

Google's DevOps research group, called DORA, studies thousands of teams each year. It uses a few simple numbers to tell how well a team ships software:

QuestionMetric nameBest teams
How often do we ship?Deployment frequencyMany times a day
How long from commit to users?Change lead timeLess than one day
How often does a release break something?Change fail rateAbout 5 in 100
How fast do we recover?Recovery timeLess than one hour

In 2024, DORA added a fifth number: how often a team must ship an unplanned fix.

Remember4 points
  1. 01

    DevOps is a way of working. One team builds the software and runs it.

  2. 02

    Every change goes around a loop: plan, code, build, test, release, deploy, operate, monitor.

  3. 03

    Robots do the repeated steps. So releases can be small, frequent and safe.

  4. 04

    Teams measure how often they ship, how fast, how often it breaks, and how fast they fix it.

Read more

Next, you follow one commit from your laptop to a user's screen.