Topic 36

A Day in the Life of a Change

Concept

This is the payoff for the whole course. Every chapter so far handed you one piece — a commit, a test, an image, a deploy, a metric. On their own they're a pile of parts. Watching one real change move through all of them is what turns the pile into a machine you can picture working.

So let's follow the smallest change imaginable. Maya spots a typo on Pageturn's sign-up page — the button says "Sing up" instead of "Sign up." Two letters, swapped. We'll walk that tiny fix from her keyboard all the way to live readers, naming each stage as it goes by. Notice that no single stage is "DevOps" — DevOps is the whole chain working together.

Maya's tiny typo fix, every stage named
Commit + PRfix & propose
CI checksbuild, test, scan
Imagepackaged once
Staging → Prodcanary first
Run + Monitorwatch & learn

Commit, Branch, and Pull Request

Maya doesn't edit the live site directly. She makes a branch — her own safe copy of Pageturn's code — fixes the typo there, and saves it as a commit, a labeled snapshot of exactly what changed and why. Her message reads "Fix typo on sign-up button." That's Chapter 3, the version-control strand, in one move.

Then she opens a pull request: a polite "please pull my tiny fix into the main code." A pull request isn't the change going live — it's the proposal, the place where a teammate can look before anything moves. Even a typo goes through the gate, because the gate is a habit, not a judgment about this particular change.

CI Builds, Tests, and Scans

The moment the pull request opens, a machine wakes up. This is continuous integration — CI — from Chapter 4. Without anyone pressing a button, it builds Pageturn fresh, runs the automated tests to confirm nothing broke, and runs the security scan from Chapter 10 to check for leaked secrets or known-vulnerable parts. A few minutes later it reports back: green.

A teammate sees the green checks, reads the one-line change, and approves it. Now two different kinds of check have both passed — the machine's tests and a human's judgment — and only then does the branch merge into the main code. The typo fix is now official, but no reader has seen it yet.

Package and Deploy

Merging triggers the next stretch of the pipeline. The new code is packaged into an image — the sealed bundle from Chapter 5 that carries Pageturn plus everything it needs, so it behaves the same on every machine. The image is built once, here, and that exact same image is what will eventually run for readers.

That image is then promoted through environments, Chapter 8. It lands first in staging, a near-identical copy of the real site, for one last look. Then it goes to production carefully: a canary release shows the new version to a small slice of readers first. They see "Sign up" spelled right, nothing else changes, so the rollout continues to everyone — and if anything had looked wrong, the instant rollback was one step away.

Run and Watch the Loop Close

The fix is live, running on cloud infrastructure that was itself defined in a file (Chapters 7 and 11) rather than clicked together by hand. But live is the start of the operations half, not the end. Sam — and Maya, because they're one team now — watch the dashboard from Chapter 9: the metrics stay steady, no alerts fire, sign-ups still work. The change is confirmed healthy by evidence, not hope.

And that's the loop closing. What the monitoring shows becomes information for the next change — maybe more people finish sign-up now that the button reads clearly. That tiny fix went from Maya's keyboard to thousands of readers in an afternoon, safely, touching every practice in this book. That afternoon, repeated and tightened, is what DevOps actually is.

Common Confusions
  • "One of those stages is the DevOps part." None of them is. DevOps is the whole chain working together — version control, CI, the image, the deploy, the monitoring — not any single link in it.
  • "Shipping a change is one step." It's a chain of stages, each a gate. The change only moves on when the stage before it passes; that's what makes shipping small changes safe.
  • "A tiny fix can skip the pipeline." The typo took the same path as a big feature. The point of the pipeline is that every change travels the identical, checked route — no special fast lane that skips the gates.
  • "Once it's live, the change is finished." Live is where operations begins. Watching it in production is the last stage, and what you see there feeds the next change — the loop doesn't have an end.
Why It Matters
  • This is the course's keystone: it assembles every separate idea into one mental model you can replay whenever you hear "we shipped a change."
  • Real teams talk in exactly these stages — "it's in CI," "it passed review," "it's in staging," "the canary looks good." You can now follow that conversation.
  • Seeing the chain end to end shows why each gate exists: remove any one and a class of problem slips through to readers.
  • It makes the feedback loop concrete — the monitoring at the end is the start of the next change, not a full stop.

Knowledge Check

In what order does Maya's typo fix travel through the pipeline?

  • Commit and pull request, then CI checks, then image, then deploy, then monitor
  • Deploy it straight to production first, and only then run the tests afterward to see if it actually worked
  • Monitor first, then write the code, then commit it to the repo
  • Build the image first, then decide what change to make

When CI runs on Maya's pull request, what does it actually do?

  • It shows the change to a small handful of readers first to quietly test the water
  • It builds the app, runs the tests, and scans it for security problems
  • It merges the change into the main code straight away
  • It replaces the need for any human to look at the change

Why does the fix go through a canary release before reaching every reader?

  • To make releases deliberately slow so they feel more careful
  • To show it to a few readers first, so any problem stays small
  • Because it hasn't been tested at any earlier stage yet
  • Because a canary is a special server that the fix has to run on

You got correct