Skip to content

Beginner · DevOps culture and the SDLC · topic 1 of 53 · 25 min

What DevOps is and the problem it solves

Explanation

DevOps is a way of working where the people who build software (development) and the people who run it (operations) share one goal: delivering changes to users quickly and safely. It is a culture plus a set of practices plus the tools that support them, not just a job title or a tool. The CALMS model and the infinity loop (plan, code, build, test, release, deploy, operate, monitor) describe it.

The wall between two teams

For many years, companies split software work into two teams. Developers (Dev) wrote new features. Operations (Ops) ran the servers and kept the website or app alive. Developers were rewarded for change: more features, faster. Operations were rewarded for stability: no outages. Change and stability pulled in opposite directions, so the two teams often did not trust each other.

The result was a "wall of confusion". Developers finished code and threw it over the wall: "it works on my machine, now you deploy it". Operations received a big bundle of changes, a long manual install document and a weekend deadline. When something broke, each side blamed the other.

Think of it like this: Think of a restaurant where the cooks never talk to the waiters. The cooks change the menu on Friday night without telling anyone, and the waiters find out when customers complain. Each side thinks the other is the problem. A good restaurant has cooks and waiters planning the menu together, tasting together and fixing problems together. That is the DevOps idea.

Why big, rare releases are risky

When releases are slow, changes pile up. A quarterly release may contain 300 changes. If it fails, nobody knows which of the 300 broke it, so fixing it takes days. Because releases are painful, teams release even less often, so the next one is even bigger and riskier. It is a vicious circle.

DevOps breaks the circle by making releases small, frequent and automated. A release with 3 changes is easy to test, easy to understand and easy to undo. This sounds backwards at first, but it is the core insight: releasing more often makes each release safer.

A working definition

DevOps is a culture and a set of practices that bring development and operations together, supported by automation, so that teams can deliver software changes to users quickly, safely and repeatedly. The word was popularised around 2009, when Patrick Debois organised the first DevOpsDays conference in Ghent, Belgium.

  • Culture: shared goals, shared responsibility for production, and no blame when things fail.
  • Practices: version control, continuous integration, automated testing, continuous delivery, infrastructure as code, monitoring.
  • Tools: Git, Jenkins, GitHub Actions, Docker, Kubernetes, Terraform, Prometheus and many more. Tools support the practices; they are not the goal.
Careful: Common mistakes: (1) Thinking DevOps means buying tools. A team that installs Jenkins but still releases once a quarter with a 40-page manual has not adopted DevOps. (2) Renaming the old operations team to "DevOps team" and keeping the wall. (3) Thinking DevOps means developers do everything and operations disappear. The fix is to start with a shared goal and one measurable improvement, for example "release every week instead of every quarter".

CALMS: five things to look for

LetterMeaningWhat it looks like
CCultureDev and Ops share goals and on-call duty; blameless reviews after incidents
AAutomationBuilds, tests, deployments and servers are created by scripts, not by hand
LLeanSmall batches, less waiting, remove steps that add no value
MMeasurementTrack deployment frequency, failures and recovery time with real numbers
SSharingShared dashboards, shared runbooks, people teach each other

CALMS is a quick health check. If a team scores well on Automation but badly on Culture, it will still have blame and slow approvals. The weakest letter is usually the place to start.

The infinity loop

DevOps is often drawn as an infinity sign (a figure of eight lying on its side). The left half is the development side and the right half is the operations side. Work flows around it and never stops: plan, code, build, test, release, deploy, operate, monitor, and then back to plan. What you learn while monitoring feeds the next plan.

output
plan -> code -> build -> test -> release -> deploy -> operate -> monitor
  ^                                                                |
  +----------------------------------------------------------------+
The eight stages of the DevOps loop. Monitoring feeds the next round of planning.

The Three Ways

The book The DevOps Handbook describes three principles, called the Three Ways:

  1. Flow: make work move smoothly from idea to production. Small batches, fewer handovers, automated steps.
  2. Feedback: find problems fast. Automated tests, monitoring and alerts tell you within minutes, not weeks.
  3. Continual learning: experiment, learn from failures without blame, and keep improving the system.
Tip: In interviews, a strong one-line answer is: "DevOps is a culture and set of practices, supported by automation, that lets a team deliver small changes to users quickly and safely, and learn from production." Then give one example from your own work or project.

Need help?

Stuck on a word or an idea? Search this course, or every course, and jump straight to the explanation or a worked question.

Try:

Watch the lesson

What DevOps is and the problem it solves · 1/7

What is DevOps?

Welcome to DevOps. Let us start with the problem it solves.

Prefer a video by a teacher? Find free videos on “what is devops explained for beginners calms” on YouTube ↗

In real life: A food delivery app moves from quarterly to daily releases

An Indian food delivery startup released its app every three months. Each release took a weekend, and a bad release once broke payments on a Friday dinner rush. The team changed how it worked: developers and operations engineers joined one on-call rota, every change went through automated tests, and new features were hidden behind switches until ready. Releases became small and daily. When a bug did slip through, the team could see exactly which small change caused it and roll it back in minutes. The same pattern is seen at banks that update their mobile apps every week instead of a few times a year.

Practice (0/3 done)

Task 1 · Question

A company buys Jenkins and Kubernetes licences but still releases once a quarter with a manual checklist and Dev and Ops still blame each other. Which part of DevOps is missing most?

Task 2 · Code · Python

The DevOps loop has eight stages in this order: plan, code, build, test, release, deploy, operate, monitor. After monitor, work goes back to plan. Write next_stage(stage) that returns the stage after the given one. If the stage is not in the loop, return None.

Task 3 · Practice

Read this situation and write a short CALMS check (one or two lines per letter): "A bank's mobile app team releases every two months. Testers check everything by hand for two weeks. Servers are set up by one senior admin who keeps the steps in his head. After an outage, the manager asks who made the mistake. Nobody tracks how often releases fail." Say which letter is weakest and the first change you would make.

Quick quiz

Question 1

1.Why are small, frequent releases usually safer than big, rare ones?

Question 2

2.What does the M in CALMS stand for?

Question 3

3.Which stage comes right after "deploy" in the DevOps infinity loop?

Question 4

4.Which statement about DevOps is correct?

Question 5

5.Which of the Three Ways is about finding problems quickly through tests, monitoring and alerts?

Read more (free)

Open a question to see the answer and why. The first ones are this topic's own quiz, so try the quiz above before you peek.

Why are small, frequent releases usually safer than big, rare ones?

Answer: Each release has few changes, so problems are easy to find and undo

With few changes per release, the cause of a failure is obvious and a rollback is simple.

What does the M in CALMS stand for?

Answer: Measurement

CALMS is Culture, Automation, Lean, Measurement and Sharing.

Which stage comes right after "deploy" in the DevOps infinity loop?

Answer: Operate

The order is plan, code, build, test, release, deploy, operate, monitor.

Which statement about DevOps is correct?

Answer: DevOps is a culture and set of practices supported by tools

Tools help, but DevOps is first about how people work together and the practices they follow.

Which of the Three Ways is about finding problems quickly through tests, monitoring and alerts?

Answer: Feedback

The Second Way, feedback, is about fast signals so problems are caught early.

In trunk-based development, how long do branches usually live?Related

Answer: Hours, or a day or two

Short-lived branches merged often keep everyone close to trunk and avoid painful merges.

From Core DevOps practices and the DORA metrics

What is an artefact in a DevOps pipeline?Related

Answer: A file produced by the build, such as a .jar or container image, that is stored and deployed

Artefacts are build outputs. Storing them means you deploy exactly what was tested.

From The DevOps toolchain and your learning roadmap

How does DevOps relate to agile?Related

Answer: DevOps extends agile ideas into release and operations

Agile sped up building; DevOps carries the same small-step thinking through release and running in production.

From The SDLC: waterfall, agile, Scrum and Kanban

What does "build once, deploy many" mean?Related

Answer: Build the artefact one time and promote the same one through staging and production

Shipping the exact artefact you tested removes "it worked in staging" surprises.

From Continuous integration, delivery and deployment

Pass the quiz (60% or more) or mark this topic as done when you are ready.

Your progress is saved on this device only.

Next steps

  1. 3 more topics in “DevOps culture and the SDLC” before its exam: The SDLC: waterfall, agile, Scrum and Kanban, Core DevOps practices and the DORA metrics, The DevOps toolchain and your learning roadmap.
  2. Module 1 exam: DevOps culture and the SDLC · 13 questions · 20 min, without help. 4 topics of this module still to finish first.
  3. Then the next module, Linux for DevOps. 53 topics left in the course before the final exam.