Author: Dev Khatri

  • Your First GitLabOps Pipeline: A Step-by-Step Path

    Your First GitLabOps Pipeline: A Step-by-Step Path

    The first pipeline I ever wrote ran exactly once, beautifully. The second one, inherited from a colleague who had left, failed in ways I did not have the vocabulary for: jobs that never started, stages that raced each other, a deploy that fired twice on the same afternoon. Learning GitLabOps — the Atlas’s name for operating software delivery on GitLab — is largely the story of recovering from that second pipeline, and it goes better in a deliberate order. This is the order I would hand a learner on day one, one step at a time, the same patient sequencing we use across our certification guides.

    Why Learn GitLabOps in Order?

    Because each step depends on the one before it, and skipping ahead produces the exact failures that discourage beginners. Rules decide what runs; ordering decides what runs when; reuse decides how much you maintain; runners decide where work lands; trust decides what your runners may touch; gates decide what reaches users; identity decides what your jobs may impersonate. Remove any layer and the ones above wobble. Keep the order and each new idea has somewhere obvious to sit, which is half of what learning a platform means.

    Seven GitLabOps Steps to a Pipeline You Can Defend

    • Access to a scratch project where mistakes cost nothing.
    • One afternoon per step, not one evening for all seven.
    • A notebook; the annotation habit matters more than the console.

    Step 1: Decide what should run at all

    Begin with workflow rules, the paragraph at the top of the file that decides which events may spawn a pipeline at all. Merge requests get a full pass; the default branch gets builds; a nightly timer gets its scheduled run; and a push to some frozen archive branch gets nothing, because nothing there can ever ship. Restraint at the door keeps every later stage cheap, and it means nobody has to explain why a build fired at three in the morning for a one-word documentation typo.

    Step 2: Give the graph an explicit order

    Declare dependencies with needs so every job states which ancestors must finish before it starts; the default stage ordering is a rumour, needs is a contract. Switch on auto-cancel at the same time, so superseded runs retire themselves mid-flight instead of queueing behind work that no longer matters. Together they give you a graph you could draw on a whiteboard from memory — and the graph you can draw from memory is the graph you can debug at midnight.

    Step 3: Reuse instead of copy-pasting

    Shared templates and components let ten repositories inherit one maintained definition, fixed once and improved everywhere at once. Respect the failure mode, though: when two includes define the same job name, or a line of YAML goes invalid, the entire merge collapses and every inheriting repository fails with it. Pin the versions you include, exactly the way you would pin a dependency, so an upstream edit never ambushes a Friday deploy. Reuse is a lever; pinned reuse is a lever with a handle you can actually hold.

    Step 4: Match tags to machines

    Every job declares the class of machine it needs by tag; a runner carrying that label claims the work. If no runner in the fleet carries it, the job waits in pending indefinitely — the single most common “the pipeline is broken” report that turns out to be a roster problem rather than a code problem. Learners burn hours reading their scripts before anyone thinks to read the fleet. Check the roster first, the logic second.

    Step 5: Choose executors by trust

    Each executor makes a different bargain with risk. Containers throw their environment away after every job, which makes them the default for anything built from contributions you do not fully control. A shell executor hands the job the keys to its host machine, which is precisely why untrusted code must never be invited to that particular table. And single-use runners that retire after one job close the door on leftover state entirely — no cached credentials, no half-finished workspaces, no stories about what the previous tenant left behind.

    Step 6: Put gates in front of production

    Mark the production environment protected so approvals become structural rather than polite, and so the people allowed to release are a matter of configuration instead of corridor negotiation. Serialise deployments to the same target so two changes cannot race, and reject deploy jobs built on superseded commits. Lock the production container tag so only maintainers may push it. Learners who have followed our step-by-step certification preparation walkthrough will recognise the pattern: each control is one small, checkable promise, and the promises stack.

    Step 7: Retire the stored keys

    Delete the permanent cloud credentials from CI variables and issue short-lived OIDC identity tokens instead, granted to the deploy job alone. The allowlist that governs what a CI token may call should read like a guest list, not an open house. This one change survives every audit you will ever face.

    Where a Learner Goes Next

    Run your rebuilt pipeline through a bad day on purpose: kill a runner, duplicate an include, push to a protected tag. Breakage you have rehearsed is called experience. Then widen the lens — our friendly guide to mastering SRE training extends the same stepwise habit into operations, and the certification comparison shows where platform skills sit beside cloud credentials in a career. For the authoritative definitions behind each step above, the Atlas’s GitLabOps page is the reference this walkthrough follows. That is the whole path. Seven steps, learned in order, turn a fragile first pipeline into one you can hand to a team without a disclaimer — and the habit of learning platforms layer by layer is the same habit that carries a learner through every tool that comes after this one.

  • ChatOps in 2026: How the Practice Actually Evolved

    ChatOps in 2026: How the Practice Actually Evolved

    Trends in engineering practice rarely announce their shape while they are happening. Looking backward, though, ChatOps resolves into four clean eras — invention, maturation, platform churn, and the arrival of AI assistants — and each era teaches a different lesson to someone deciding what to learn next. The practice itself is easy to state: operational work runs through shared chat, with bots posting events and executing commands from a reviewed allow-list, so that actions, results and the discussion around them remain visible, permissioned and auditable. What follows is that history read closely, with dates and evidence, because a trend you can date is a trend you can reason about.

    The Constant: A Definition That Outlived Its Tools

    Before the eras, one observation about stability. The working definition of ChatOps has barely moved since the early years: collaboration plus automation inside a channel, aimed at making operations observable. Writers are careful to call it an established practice pattern, not a standard, not a certification, and not a product with a logo. They are equally consistent about its two standing problems: securing the bot and the commands it will run, and keeping the channel’s signal distinguishable from its noise. Every era below is, in one way or another, a new attempt at those same two problems with different tools on the desk.

    Why date the eras at all? Because training decisions improve when you can tell fashions from fundamentals. A fashion is something the industry tried once and abandoned with its vendor; a fundamental is something every era rediscovers under a new name. The dates below let you run that test yourself on each claim. Hubot’s age tells you the idea has survived four generations of chat products. The retirement calendar tells you which layer vendors consider disposable. The AI-era incidents tell you which safeguards were optional in 2015 and mandatory now. That is the analytical use of history, and it is the habit this piece wants to leave you with.

    Era One: ChatOps Invention — Hubot, a Talk, and a Name

    The record starts in 2011, when GitHub open-sourced Hubot, a bot built for Campfire and IRC. The idea spread through practitioner demos rather than papers, and the naming moment came on February 7, 2013, when Jesse Newland’s conference talk “ChatOps at GitHub” fixed the term in the industry vocabulary. That talk did something trends need to survive: it gave a scattered habit a single handle. Teams had been driving deployments from chat for a while; afterwards they could compare notes, write about it, and hire for it.

    The machinery of that era was deliberately simple. A bot listened for commands, shelled out to scripts, and replied in-thread. The simplicity was the feature — but, as the next eras show, the simplicity carried costs that took a decade to itemize.

    Era Two: Maturation, 2015-2016 — The Pattern Gets Its Vocabulary

    By the middle of the decade the habit had grown rules. GitHub’s own writing from 2015-2016 described deploy queues, deployment guards and locks — mechanisms that turned a free-for-all channel into an orderly change process. Atlassian broadened the frame by describing the practice as the connection of people, tools, process and automation within one conversation. Then O’Reilly’s 2016 release of Jason Hand’s report signalled the crossing from folklore into curriculum, because a practice with a publisher gets taught rather than merely imitated.

    Reading that window closely, you can see the discipline absorbing two ideas that still define it. First, that the channel is not the automation — the guards, queues and locks are the automation, and the channel is where their decisions surface. Second, that permissioning belongs in the system rather than in social convention. Both ideas became load-bearing later. It is also the window when measurement vocabulary appeared — success rates for commands, coverage for changes — although the field would take another decade to separate the metrics that inform from the metrics that flatter.

    Era Three: Platform Churn Reshapes ChatOps, 2018-2026

    The third era is the expensive one, and its lesson is now written in retirement notices. Hipchat and Stride shut down entirely, taking their ecosystems with them. The retirement of Slack’s first-generation custom bots took effect on March 31, 2025. The Office 365 Connectors program inside Teams ran out its road in May 2026. and the Opsgenie shutdown is dated April 5, 2027. Each notice broke working automations whose logic had been bolted directly into a chat product, and each proved the same point: a chat adapter is a terrible home for business logic, because you do not control its roadmap.

    The surviving architecture answers churn directly by splitting responsibilities three ways — an adapter that converts platform traffic, a gateway where your own policy judges every request, and executors that act on real systems. GitHub’s own evolution illustrates it well: by 2021 the company had lifted deploy state out of chat entirely, moving it into a state machine with a proper interface, while the channel stayed in its original role as the place where deploys get triggered. Chat as trigger, never as database — teams that had stored hundreds of messages of deploy history in threads learned the harder way.

    For learners, era three is the reason architectural questions dominate ChatOps job interviews now, not tool questions. Anyone can wire a webhook. Explaining why your policy code must outlive the platform it sits behind is the scarcer skill.

    Era Four: ChatOps Meets AI Assistants, 2024-2026

    The current era began when assistants started speaking in the same channels. Their arrival did not change the definition of the practice; it stress-tested it. The defining incident came in August 2024, when PromptArmor disclosed a prompt-injection weakness in Slack’s AI features — attacker-planted text in public channels steering what the assistant surfaced. The episode made the division of labor non-negotiable: assistants propose, humans approve, and no AI ever approves an action, however confident its summary sounds. It also gave weight to the logging rule — record the prompts and the tool calls — because OWASP’s LLM risk catalogue (LLM01 for injection, LLM06 for sensitive-data exposure) describes exactly the failure path that unlogged assistants make invisible.

    The integration surface keeps expanding. February 2026 brought Slack’s announcement of an MCP server, a formal attachment point for agents that want workspace context. Products embed AI into operational chat with defaults that deserve scrutiny — Amazon Q Developer in chat ships with guardrails that, left unset, reach for AdministratorAccess. The vocabulary the previous eras built turns out to be precisely what this era needed: proof of origin per platform (signed Slack requests with a five-minute replay window and a 3,000-millisecond acknowledgement; Teams’ signed JWTs; Mattermost’s static tokens, weakest of the three), graded risk tiers, two-person rules for the gravest actions, and audit logs kept outside the chat system.

    What the Four Eras Tell a Learner in 2026

    Compress the history into guidance and three items survive. Study architecture before tools: adapter-gateway-executor thinking transfers across every platform and every reorganization. Study governance as code: weekly sessions spent reviewing refusals and quarterly scope audits are habits you can practice on a small team’s bot before you ever run a big one. And study the security chain in its canonical order — verify origin, map immutable identity, authorize, approve, audit — because AI assistants have made that order the difference between a helpful colleague and an attack surface.

    For readers plotting a route through the wider field, this practice sits naturally beside reliability work; the steps for mastering SRE training on this site pair well with it, and the job paths that follow DevOps certification training increasingly list channel automation under platform engineering roles. If you are weighing a certification against a cloud-focused syllabus, the DevOps versus cloud certification comparison frames the choice this history only implies: durable principles over product specifics, every time.

    The reference behind every date and claim above is the Ops Atlas timeline entry for ChatOps, and it is where the evidence trail continues past this summary. Trends reward the people who read them closely; this one has spent fifteen years saying the same thing in different accents — keep the logic where you own it, keep the humans in the approval path, and keep the record somewhere the conversation cannot rewrite.

  • NoOps in Plain Words: What Gets Automated

    NoOps in Plain Words: What Gets Automated

    Some tech words explain themselves. NoOps is not one of them, because the “no” makes people hear things the word never promised. Today let’s put the jargon aside and talk about NoOps in plain words: what it means, where it came from, what serverless has to do with it, and what actually gets automated when a team goes down this road. No slides, no acronyms without translation — just the conversation I would have with a friend who runs a small web team and keeps seeing the term in vendor emails.

    NoOps, Explained Like a Rental Agreement

    Think about renting a flat. The landlord fixes the roof, replaces the broken lift, and handles the paperwork with the city. You still buy your own furniture, choose your own locks, and pay when you lose the keys. Technology offers a similar deal. When you rent computing from a cloud provider instead of running your own machines, big chunks of the maintenance move to the landlord’s side of the agreement. NoOps names the far end of that idea: rent and automate so much of the work that you no longer need a dedicated operations team at all. Two different promises hide inside the word, and it helps to keep them apart. The everyday meaning is “we no longer employ a separate ops department, because we bought or automated that work.” The dream version, sometimes called true NoOps, is “computing runs itself with no humans anywhere.” The first version is real and happening in many companies. The second is a poster, not a plan. A good place to check the careful definitions is this short NoOps reference guide, which keeps the two meanings clearly labelled.

    So Does Serverless Mean NoOps?

    Short answer: no, but they are related, and the relationship is worth understanding properly. Serverless means you write small pieces of code and the provider runs them without showing you any servers at all. No machines to patch, no midnight upgrades — a genuine relief for small teams. But does the ops work disappear with the servers? The Cloud Native Computing Foundation answered this in a whitepaper, and their answer was a calm no: going serverless does not mean the servers are gone, and it does not mean the ops engineers are gone either. The work simply changes address. A respected 2019 research paper from Berkeley put it warmly, judging that serverless platforms take over almost all routine system administration — and then, being researchers, they listed the catch: costs become hard to predict, and you get tied more tightly to one provider’s way of doing things.

    There is also a famous story worth knowing. The team behind Amazon Prime Video built a monitoring service using serverless building blocks, expecting it to scale beautifully. At around 5% of the load they had expected to handle, the costs and the architecture stopped making sense. Their fix was refreshingly unfashionable: they moved that part of the system to regular servers (EC2) with containers (ECS), and the running cost dropped by 90%. The lesson is friendly, not discouraging: serverless is one tool among many, and every tool has a job it fits. The building block must suit the workload, or the bill will teach you the difference.

    The Work Moves, It Doesn’t Disappear

    Here is the plainest sentence in this whole article: in every “no ops” story, the operations work still exists — it has simply moved to new hands. Where does it go? A short list you can check with your own eyes:

    • To the provider, who now worries about hardware, power and patching on your behalf.
    • To a platform team, if your company has one, who build the smooth roads everyone else ships on.
    • To product developers, who carry the pager for the services they create.
    • To automation code, which quietly needs its own authors and caretakers.
    • To vendor managers, who read the contracts, watch the quotas and mind the exits.

    Microsoft publishes a responsibility matrix for its cloud, and even at the most managed level, four things stay with you: your data, your identities, your configuration, and your access policies. Every rental agreement has a few lines like that — the parts no landlord can carry for you.

    Three Words People Mix Up

    While we are keeping things plain, let’s separate three neighbours that emails love to shuffle together. Serverless is a technology choice: run code without managing machines. AIOps is a helper: software that uses machine learning to spot patterns, filter alerts and suggest fixes in operations work. NoOps is an outcome claim: the statement that operations, as a separate function, is no longer needed. One is a tool, one is an assistant, and one is a destination. Confusing them is how teams buy an assistant and expect a destination. If a proposal says “with AIOps, you achieve NoOps”, translate it back: “with better tools, less of the work lands on your desk” — which is true, useful, and much smaller than the poster version. Small honest claims are easy to verify. Big ones need a napkin full of questions, which is exactly what the next section is for.

    A Kitchen-Table Test Before You Believe Any Pitch

    When the next email promises that NoOps will simplify your life, ask four simple questions. They fit on a napkin, and vendors respect teams that ask them.

    1. Who answers the phone at 3 a.m.? If the answer is “no one”, the real answer is “you, without warning”.
    2. What happens to our backups? A managed service manages its platform; your backup plan stays yours, and the cloud providers themselves say so.
    3. Where does each task go? Get the list. If the list has blank rows, those blanks become your next outage.
    4. What does leaving cost? Anyone who plans an exit only after entering has already lost the negotiation.

    None of these questions are hostile. Good partners enjoy answering them, because they have good answers. The ones who squint and change the subject have told you something valuable.

    Where NoOps Fits for Ordinary Teams

    So who should actually chase this idea? The pattern from real cases is consistent. It works nicely for standard applications with spiky or modest traffic, and for small teams whose real talent is building the product rather than babysitting infrastructure. It fits poorly when traffic stays heavy and steady all day — in that world, reserving capacity ahead of time usually costs less than paying by the drink — and when your project needs unusual hardware or tight timing. One more honest note: even teams that adopt the idea fully still write down who owns what, because ownership written down is the difference between a quiet Tuesday and a shouting match. Keep your expectations human-sized and the idea becomes a helpful direction instead of a disappointment.

    If this piece did its job, the next step is reading around the theme. Our guide on keeping web apps running without crashes covers the reliability habits that matter no matter who owns the servers, and this piece on modern operational capabilities shows what teams are actually practising behind the buzzwords. For the collaboration angle — because moved work still needs people who talk to each other — see how DevOps improves delivery and teamwork. And keep the summary sentence from this article in your pocket: NoOps does not delete the operations work; it sends the work to new addresses, and wise teams keep a copy of that address list.

  • DevExOps: A Diagnostic Path for Slow Delivery

    DevExOps: A Diagnostic Path for Slow Delivery

    Every struggling delivery team presents the same way. Releases slip by days nobody can account for. Two engineers insist the tooling is fine while three insist it is unusable. The manager, out of options, proposes either a new platform or a motivational speech. Both miss the point, because nobody has diagnosed anything. DevExOps offers the missing step: a diagnostic path for delivery pain that treats slow builds, congested integration queues, unanswered reviews and baffling tooling as symptoms with causes — and insists the cure be verified. Learners who pick up this method early tend to stand out fast, precisely because most teams argue instead of measuring.

    The Symptom: A Team That Ships Slowly

    Start by refusing the vague complaint. “Slow” is not a finding; it is a request for one. The first discipline this method teaches is converting grumbles into named waits with numbers attached and a direction to point in. Half the arguments inside delivery teams evaporate the moment somebody writes down which wait, how long, and for whom.

    DevExOps: The Diagnostic Path, Stage by Stage

    Stage one — isolate the wait

    Work is a sequence of small steps, and the cost hides between them rather than inside them. Editing, building, testing and debugging form the tight loop a developer lives in; proposing, integrating, reviewing and releasing form the wider one around it. Ask where the clock accumulates: a fourteen-minute local compile is an inner-loop fault, while a change that waited two days for a reviewer is an outer-loop fault. The cures differ completely, which is why skipping this stage wastes budget.

    Stage two — pair perception with telemetry

    Now measure the suspected wait two ways. Pipeline logs report the objective interval; a few steady survey questions report whether people still believe the tooling is worth their effort. Precision matters at this stage: record queue time at the median and at the ninetieth percentile together, because a skew that barely dents the median can wreck the worst-tenth experience. Where the two accounts diverge, treat the divergence as data — it usually means one group’s voice is missing from the sample. We once watched a team report “fine, mostly” while the logs showed a forty-minute morning bottleneck; the people affected had already stopped answering surveys. That silence was the finding, and the fix began with restoring their reason to answer, not with a faster runner.

    Stage three — locate the owner

    A finding without an owner is a complaint with better grammar. The diagnostic path ends only when the cause sits with a person empowered to change it: the build maintainer, the review rota’s keeper, the platform group. Naming that owner converts diagnosis into an actionable ticket.

    Stage four — verify the cure

    Before the fix ships, write down the number that would count as success. Afterwards, read the same instruments again. A cure declared without re-measurement is marketing, and teams remember who sold it to them.

    The Numbers That Name the Disease

    Each metric maps to a fairly specific fault, which is what makes the method feel clinical:

    • Long local build times point at dependency sprawl, oversize images or a machine standard nobody has revisited in years.
    • Heavy integration queues point at shared runners sized for a team half this one, or jobs that rebuild what they could cache.
    • Slow first replies in review point at rota design, not at lazy colleagues — nobody watches a queue they cannot see.
    • High unplanned work per engineer-week points at fire-fighting eating the roadmap, usually upstream of the team being blamed for it.
    • Survey results belong in two columns: the share answering four or five out of five, and the share answering at all. A falling response rate is the earliest sign a programme has lost the room.

    One rule from the research protects everyone involved, and it bears repeating to any manager who asks: activity counts never attach to individuals, for reward or for blame. The moment a queue-time report becomes a personal scoreboard, the numbers start lying. Authoritative framing for the whole method — its cycle, its instruments, its guardrails — sits in the DevExOps entry in the Ops Atlas, and it reads quickly.

    DevExOps Skills Worth Adding to Your Training Plan

    For a learner, the appeal is that this diagnostic craft is teachable in layers, and each layer is a line on a CV. The first layer is measurement literacy: percentiles, sampling, and why a fourteen-person team cannot support a headline claim from one month of data. The second is instrumentation: reading pipeline logs fluently, and writing the handful of survey questions that stay stable for quarters. The third is organisational: presenting a finding to the person who can fix it, without blame and without hedging. None of it replaces fundamentals — if you are still choosing a direction, comparing DevOps with cloud certification comes first, and the overview of where certification training leads for jobs shows where the diagnostic skill slots into different roles.

    Two ways learners get this wrong

    The first is instrumenting everything at once. Twelve dashboards later, no decision has changed, and the team has learned that measurement means paperwork. Run the path on one wait until it closes, then pick the next. The second is starting where nobody will act — collecting evidence for a problem leadership has already decided to tolerate. Ask the uncomfortable question before the first survey: who signs off the fix? Silence there is your answer, and your cue to spend the quarter elsewhere.

    Practice the path on your own setup before your next interview. Time a build three ways — cold, warm, and with the cache you actually have — then compute your personal queue history from the CI log. In the conversation, describe a pain you measured, an owner you identified, and a result you verified. Interviewers hear opinions all day; a candidate who arrives with a small, honest measurement stands out immediately. For structured prep, the step-by-step certification guide for beginners covers the groundwork, and this diagnostic habit is the layer that turns a certificate into judgment.

    Teams do not need another platform. They need someone who walks in, isolates the wait, pairs the log with the survey, names the owner, and comes back to prove the cure. That is the whole discipline. It fits inside a quarter, costs almost nothing beyond attention, and compounds: every verified fix leaves behind a team that trusts measurement. Learn it early and you will spend your career being the calmest person in the incident channel.

  • A Quarter of TestOps: One Team’s Flaky-Test Story

    A Quarter of TestOps: One Team’s Flaky-Test Story

    The team lead printed a screenshot of the CI dashboard and pinned it to the wall of the standup room. Ninety days of build history, and the red-green pattern looked like static on a broken television. “This,” she said, “is our quality signal.” Nobody argued, which was itself the problem. This is the story of what that twelve-person platform team did over the following quarter, told here because their situation is ordinary and their recovery is repeatable. The discipline they stumbled into has a name — TestOps, the practice of running your automated checks like a production service rather than a pile of scripts — and every step they took can be copied without asking anyone’s permission.

    Week One: Counting the Damage

    The first move was not a tool. It was a tally. For two weeks, whenever a build failed, someone recorded the cause: real defect, environment trouble, or a check that failed and later passed with no change to the code. The results shocked nobody and convinced everybody. Roughly four failures in five fell into the last bucket, which meant the team was spending its evenings arbitrating arguments between machines. Their verdict stream, they finally admitted, was not a signal at all. It was weather.

    What TestOps Would Call This Moment

    Every operations discipline begins with the admission that a service is failing its users. Here the users were the developers, the promised product was a trustworthy pass-or-fail verdict per change, and the service was defaulting on the promise daily. The Ops Atlas write-up of TestOps frames the whole discipline around that promise, which is what makes it a useful label for the quarter that followed: the team stopped asking “how do we fix this build?” and started asking “how do we run a verdict service people can believe?”

    Week Three: Naming the Flakes Out Loud

    Morale improved the moment the problem got vocabulary. Google’s engineers, publishing their own fleet-wide numbers in 2016, reported that about 1.5 percent of test runs were affected by flakiness, that roughly 16 percent of their tests showed some flaky behaviour, and that when a run flipped from green to red, 84 percent of the time the culprit was a flake, not a true defect. The team’s wall chart matched the shape of those numbers almost exactly. That was the turning point in the argument with management: the pattern was not a local failure of discipline, it was the documented default state of large suites everywhere, and it had standard remedies.

    Week Six: Quarantine With Dates Attached

    The first remedy was containment. Each check confirmed as unreliable was moved out of the blocking path — but every quarantine entry now carried three things it had never had before: the name of the person responsible, a ticket tracking the fix, and a date after which the check would be deleted rather than forgiven. The rule was simple and posted on the wall next to the dashboard: a check sits in quarantine to be repaired, not to retire. Within a fortnight the green builds started meaning something again, because a green now said “no defects and no known liars,” instead of “nobody re-ran it enough times yet.”

    Week Ten: Burn-In for Newcomers

    Then the team attacked the supply side. Research on flaky tests — Luo’s analysis is the usual citation — has found that about 78 percent of flaky checks are flaky from the moment they are first written, which reframes the whole hiring pipeline for new tests: a check that has just been merged is a suspect, not a colleague. So new checks entered a probation period, running daily without the power to block anyone, and earned gating rights only after a clean stretch. The false-red rate on fresh code, which had quietly been the worst in the suite, fell to near zero. Training teams take note: this single habit — prove a check before you trust it — is worth more than any tool purchase the team considered all quarter.

    Week Twelve: Running the Numbers Like a TestOps Team

    The last habit arrived late and stayed longest. Every Monday, fifteen minutes: the false-red share for the week, the typical time a change waited for its verdict, and the slowest tenth of those waits. The team kept the review short and the chart small, and resisted the temptation to add metrics nobody acted on. What the ritual bought them was early warning. When the false-red share ticked up two weeks in a row, the cause — a batch of new checks someone had rushed past probation — was found while it was still one conversation long. In the TestOps way of working, this weekly look at a handful of honest numbers is the entire management overhead; everything else is just engineering responding to what the numbers say.

    What the Team Would Tell You Now

    Asked what mattered, the lead gave four answers, in order:

    • Count failures by cause for two weeks before changing anything; the numbers win the arguments you are tired of having.
    • Give every unreliable check a responsible name, a tracking ticket and a deletion date — quarantine exists so a check can be repaired, not so it can be forgotten.
    • Put new checks on probation; most flaky tests are born flaky, and probation catches them cheaply.
    • Keep reporting the two numbers leadership cares about: how often the verdict is false, and how long a verdict takes.

    Their suite still ran long. Their dashboards still occasionally glowed red. But the red now pointed at code, and the team could look at it without a sigh. For readers plotting a similar career route, the skills exercised that quarter sit close to the material in site reliability engineering training, explained step by step — service levels, error budgets and calm incident handling, pointed at a test suite instead of a website. If you are heading toward certification while working a job like theirs, it pays to avoid the usual mistakes during DevOps certification preparation, and to know the job paths that open up after DevOps certification training — because teams that fixed what this team fixed tend to hire from within first.

  • PlatformOps for Beginners: A Primer and Mini-Glossary

    PlatformOps for Beginners: A Primer and Mini-Glossary

    Let me tell you about a student I’ll call Mei. She had just wrapped up a DevOps course — pipelines, containers, a bit of cloud — and asked the question every learner asks in the quiet week after certification: what’s actually next? A senior engineer she consulted gave her a word she hadn’t heard in class. PlatformOps, he said. The teams that build software inside companies are increasingly supported by an internal platform, and the people who keep that platform healthy are becoming a career track of their own. Mei wrote it on a sticky note, which is where this primer comes in.

    If you are where Mei is, the honest place to start reading is the Ops Atlas guide to PlatformOps, which lays out the definitions properly. What follows here is gentler: the story of what this field is, the handful of words you will hear in every conversation about it, and how it connects to what you already studied. No prior platform experience assumed. That’s the point.

    A Story That Starts After the Course Ends

    Here is the scene worth holding in your head. Inside a company with a few hundred engineers, there are people whose job is building the product, and there is a smaller group whose job is making sure the builders can move quickly without breaking things. That smaller group maintains the shared machinery: the pipelines everyone uses, the way new services get created, the dashboards, the access controls. When it works well, a developer never has to beg anyone for an environment. When it works badly, everyone queues up and waits.

    The machinery has a name — an internal developer platform — and the discipline of running it well has the name Mei wrote on her sticky note. Two sides of the same coin, and beginners often meet them in the reverse order from how they’re practised.

    It helps to picture the difference between a good day and a bad day on this machinery. On a good day, a developer needs a database, clicks through a template, and has one running before the coffee cools, with backups and access rules already attached. On a bad day, the same developer sends a message into a group chat, waits two days for a reply, and receives half of what they asked for along with a question about which form they filled in. Same company, same engineers, same budget. The only difference is whether the platform is tended as something people live in, or left as something they route around.

    What an Internal Developer Platform Really Is

    Strip the buzzwords and an internal developer platform is a bundled set of shared capabilities: how code gets built, how it deploys, how it’s observed, how infrastructure gets requested. The CNCF’s definition calls a platform an integrated set of capabilities, arranged around whatever its users actually need — and that last clause matters more than it looks. The test of a good platform is not how many features it has; it is whether a developer can serve themselves without filing a ticket and waiting.

    One caution before you go further, because it will save you from a common beginner mistake. A platform is not a website. Vendors sell “developer portals” and it’s tempting to think buying one equals having a platform, the way buying a stethoscope equals practising medicine. The portal is one window onto capabilities that must actually work, be owned and be supported. Think of it this way: the catalogue page is not the restaurant.

    Also worth knowing before you specialise: this field assumes you already have the fundamentals. Continuous integration and delivery, an owner’s attitude toward services, comfort with delivery metrics — these are the prerequisites, not the syllabus. Platform people who skipped the basics tend to build beautiful things on sand.

    PlatformOps: The Half Most People Forget

    So what is the word itself for? Building the platform is one half. PlatformOps is the other half — the running of it, week after week, year after year. Concretely, that means each shared capability has a stated level of service it commits to, a support tier that says who answers when it misbehaves, planned upgrades, and — the part everyone skips — a retirement plan. The CNCF’s research team put it memorably: once a capability has shipped, the greater share of the work still lies ahead. Launch day is when the obligations begin.

    The lifecycle vocabulary is simple enough to learn in a minute. A capability starts as an idea, proves itself in early trials, matures into general use, and eventually — if the platform team is doing its job — gets deprecated with notice and help before it’s retired. Teams that never retire anything eventually drown in everything. The beginners who grasp this early sound wiser than their experience level, because most organisations learn it the expensive way.

    One more piece of the operating picture: nobody gets paged for everything. Whoever builds a service keeps its pager. The platform group carries the pager for the platform’s own parts — and for nothing else. It sounds obvious. In immature organisations the line is blurred, and blurred lines at 3 a.m. are how incidents end up with nobody’s name on them.

    A Mini-Glossary You Can Actually Use

    Here are the words you will hear in your first platform meeting, translated into plain speech:

    • Internal developer platform (IDP) — the bundled shared capabilities a company gives its engineers so they can build and ship without waiting on others.
    • Golden path — the supported, opinionated route for a common task, like creating a new service. You can leave it, but then the support is yours to carry.
    • Thinnest viable platform — the idea that a platform should provide just enough capability and nothing more; every extra layer is a permanent maintenance promise.
    • Service-level objective (SLO) — the public promise about how reliable a capability is, written as a number.
    • Error budget — the failures that promise still leaves room for. If you commit to 98 per cent success over 2,400 requests, 48 of them may fail.
    • Catalog — the directory of what exists and who owns it. Famous for being out of date, which is why serious teams check it against reality.
    • Backstage — an open-source portal framework started at Spotify, incubating in the CNCF since March 2022; the most common answer to “what’s the portal made of?”
    • Providers — the underlying things the platform drives: cloud accounts, clusters, CI systems. The layer below the platform core.

    Notice how many of these are promises and records rather than software. That is the tell. This field is as much about keeping commitments visible as it is about automation.

    The error budget entry deserves a second look because it trips up newcomers in a productive way. A platform capability promising 98 per cent success across 2,400 requests is allowed 48 failures — and the point of the number is not to excuse the failures but to force a choice about which ones matter. Spending your budget on planned maintenance is prudent; discovering it was spent on repeated avoidable outages is the platform equivalent of a bad quarter. When you meet an SLO in the wild, ask what its budget buys. The answer tells you how the team thinks.

    How It Connects to What You Already Know

    If you’ve studied reliability, you are closer than you think. The SLOs, the error budgets, the on-call boundaries — these arrived in platform work from site reliability engineering, and the mindset transfers intact. Learners who went through this friendly walkthrough of SRE training will recognise almost every operating idea here wearing slightly different clothes.

    The career logic works in both directions, too. Understanding how platforms are run makes you a stronger candidate anywhere in the delivery world, because it teaches you to ask who owns a thing, what it promises, and how you’d know if it drifted. That trio of questions shows up in interviews across the board — a pattern explored in the job paths that open after DevOps certification training.

    Where PlatformOps Fits Your Learning Path

    For Mei and everyone like her, here is the sequence I’d suggest. First, cement the fundamentals — delivery, ownership, metrics — because platform work stands on them. Second, practise product thinking on something small: treat a script or a shared repository as a product with users, and ask weekly whether those users are better off. Third, read the atlas entry until its vocabulary feels natural. And fourth, when you sit down for whatever certification comes next in your plan, remember that avoiding common mistakes during certification preparation mostly means studying the concepts, not memorising the acronyms — exactly the habit this glossary was meant to start.

    As for Mei: six months later she was the junior member of a four-person platform team, mostly updating catalog entries and drafting her first service-level objective, and mostly delighted about it. The sticky note came off her monitor eventually. By then she didn’t need it.

  • Three Ways to Deliver: A GitOps Models Comparison

    Three Ways to Deliver: A GitOps Models Comparison

    Every team eventually faces the same fork in the road: how do reviewed changes get from a repository into a running cluster? Three answers dominate current practice, and they are not equally good. This comparison puts the three GitOps delivery models side by side — the classic push pipeline, the pull model with a human approving every sync, and the pull model with automated reconciliation — and weighs them on security, evidence, running cost and career value. If you are choosing what to study next, or what to recommend to a client, the reasoning below should save you a month of forum reading.

    The Three GitOps Contenders, Defined Precisely

    Model one, push: a continuous-integration server builds, tests and then applies changes outward to the cluster, carrying credentials that let it do so. Familiar, well understood, and the default in most organisations. Model two, pull with manual sync: the declared configuration lives in a repository, an in-cluster agent fetches it and computes the difference, but a person presses the sync button after inspection. Argo CD in manual-sync mode is the textbook example, and it is where many teams begin. Model three, pull with automated reconciliation: the same agent, but the comparison runs forever and corrections apply themselves, with self-healing returning any hand-edited resource to its declared form.

    The third model is what the OpenGitOps principles charted under CNCF describe, and it is the sense most vendors now mean when they say the word. The xOps School’s GitOps reference is the most carefully sourced overview of that distinction I have found, and its citation list is long enough to keep a studious reader busy for a week.

    The GitOps Evidence: Two Scorecards, One Caveat

    The most useful published comparison scores the models for two very different estates. Presented with the same three options, a ten-cluster estate housing several teams returns a clear ranking: automated pull wins at 4.05, human-approved pull follows at 3.70, and the reworked push pipeline lands on 2.80. Give one cluster to four engineers, though, and the ranking flattens into a photo finish — automated pull on 3.55, manual pull on 3.60, push on 3.50. The shape of those numbers teaches the real lesson: the pull models earn their keep through scale, where standing credentials and human sync queues multiply. At lifeboat scale, ceremony buys you nothing and the simple pipeline is defensible.

    The caveat belongs in every honest article on the subject: no independent study yet demonstrates that any of these models improves outcomes by itself. What we have is practitioner scorecards, survey correlations, and accumulated operational experience. Treat strong claims — “cuts lead time by half” and its cousins — as marketing until you measure your own estate.

    The Security Ledger: Where NIST Stands on Push and Pull

    The security publication NIST SP 800-204C examines both directions and finds the inbound one wanting. A pipeline able to write into a cluster must carry the cluster’s keys, and keys carried by automation end up readable by everyone who administers that automation — plus everyone who breaches it. The pull arrangement inverts the trust flow: the agent holds its credentials inside the boundary, the outside world gets nothing more than read access to the repository, and a compromise of the pipeline yields no production keys at all.

    Pull is safer, not safe. Three counterweights deserve memorising before any interview:

    • The agent is powerful. A reconciler can reshape a whole estate, so its authority gets narrowed — scoped projects, impersonated service accounts, restrictive flags.
    • The repository is the real vault. Write access to a watched path amounts to deploy access, so repository permissions deserve the scrutiny usually reserved for production keys.
    • Webhooks need a shared secret. They only hasten a pull, but the endpoint has no rate limiting, and an unsigned endpoint invites the internet.

    A learner who can explain those three points without notes is ahead of most candidates in the room.

    Running Costs Nobody Puts on the Slide

    Analytical honesty requires the boring arithmetic. Rendering manifests is not free: Argo CD’s repo-server forks Helm or Kustomize for every render, and parallelism limits mean big estates queue behind themselves — sharding controllers and running three or more nodes for high availability is the standard remedy, and it is real infrastructure spend. Flux’s cost curve scales with object count multiplied by polling frequency; one production profile pairs a one-minute source interval with hourly drift checks precisely to keep that product sane. The steepest line item is human: every change now waits for a pull-request review, so review capacity caps your delivery rate. Teams that skip that fact discover it the expensive way, usually in quarter-end change backlog.

    Set against those costs is what stops being spent. Incident bridges shrink because drift surfaces as an alert with a diff attached instead of a mystery with a pager attached. Environment rebuilds, once projects, become scheduled chores. And the audit conversation inverts: instead of reconstructing what changed, you hand over the repository and the reconciler’s event log. Budget committees rarely see that column, which is why the comparison above reads differently depending on which side of the ledger you are paid to watch.

    Which GitOps Model Should a Learner Study First?

    Study them in the order they failed or succeeded historically, because each contains the previous one’s lesson:

    1. Push first. You learn pipelines, and you meet the credential problem in person rather than in a warning label.
    2. Manual pull second. Reconciliation, diffs and drift become concrete, with a human brake attached for confidence.
    3. Automated reconciliation last. The loop completes, and the judgment calls arrive: when to suspend syncing mid-incident, how to scope an agent’s authority, which differences to tolerate rather than revert.

    Study them in the order they failed or succeeded historically, because each contains the previous one’s lesson. Push teaches you pipelines and the credential problem. Pull with manual sync teaches you reconciliation, diffs and drift, with a human brake attached. Automated reconciliation completes the picture — and adds the operational judgment calls: when to suspend syncing during an incident, how to scope an agent’s authority, when a difference should be tolerated rather than reverted.

    On engines: Argo CD runs as a central hub watching many clusters, which suits platform teams who want one dashboard, projects for tenancy, sync waves for ordering and bulk generation through ApplicationSets. Flux distributes instead — slim per-cluster agents split across cooperating controllers, with dependency ordering and commit-signature verification built in. Neither is wrong. If your target employers lean cloud-managed, note that both are now offered as managed services by the big providers, which lowers the barrier for exactly the junior roles you will be applying for. Managed does not mean magic, though — someone still owns the layout, the secrets and the drift policy, and in junior interviews that someone is routinely you.

    One practice note for study: build the manual-sync variant first in your home lab. Watching the diff and pressing sync yourself builds the intuition that pressing-button automation later hides. When you can articulate why the automated model still keeps a human in the merge seat — and when you would reach back for the manual brake — you have the mental model interviewers probe for. Pair that with the friendly steps to master site reliability engineering training and the tips for avoiding mistakes during DevOps certification preparation, and the study path from here to employable is short: the models above are not competing syllabi, they are chapters of the same one.

  • 9 DevOps Habits Worth Copying This Quarter

    9 DevOps Habits Worth Copying This Quarter

    Every few months someone tells me their DevOps problem is a missing tool. It almost never is. The teams I watch ship calmly — through audits, holidays and Black Friday traffic — are not running secret software. They have simply built a handful of habits and refused to skip them. The good news for learners is that habits are free to start and compound quickly. Here are the nine I would copy first, in the order I would copy them.

    Why These DevOps Habits, and Not Tools

    Because the research keeps saying so. The DORA programme has spent years correlating delivery outcomes with working practices, and the practices win. Tooling without the habits is a gym membership you never use. One adoption study even scored the difference: a coached pilot on a single value stream earned 4.25 of 5, while tools-first and mandate-first rollouts managed 2.40 and 2.50. Buy the habits, then let the tools serve them.

    The Frame Behind the Nine

    If you like a mnemonic, CALMS carries all of them: Culture (habits seven and eight), Automation (one, two, five), Lean (one and seven again — flow is a Lean idea at heart), Measurement (four, plus its warning about targets), and Sharing (nine, and every rollback drill you run in public). The Three Ways compress the same list into motions: make work flow in one direction, wire feedback into every stage, and turn each failure into a lesson the team keeps. Any habit that feels arbitrary becomes obvious once you can name the Way it serves. That is the difference between copying a routine and understanding one.

    The Nine DevOps Habits Worth Copying

    1. Ship small, and ship often. Deployment frequency is a habit before it is a metric. A change the size of a sticky note is easy to check, easy to reverse and easy to explain. A quarterly release is a bundle of forty unreviewed decisions wearing a bow.
    2. Keep branches short-lived. Trunk-based development sounds scary until you try it. Merging daily into one mainline turns the terrifying end-of-sprint integration into a non-event you have done fifty times already.
    3. Rehearse the rollback. One documented team needed 190 minutes to recover from a bad deployment because the procedure had never been practised; after drills, the same recovery took about 20. Name the deployment and its owner, reverse it while nothing irreversible has shipped, and otherwise kill the feature switch or carry the fix forward.
    4. Learn the five numbers. Lead time, deployment frequency, restoration time, the rate of failed changes, and rework rate — the newest of these arrived in 2024 to catch work that boomerangs. Recovery was narrowed in 2023 to failures the change itself caused. Know what each one measures before you optimise anything.
    5. Automate the approval queue, not the accountability. Heavyweight change boards correlate with worse performance across the DORA dataset. Replace ceremony with evidence: least-privilege access, short-lived OpenID Connect credentials, schema migrations that expand and later contract, and a quarterly sample — about ten changes picked at random — for auditors to inspect.
    6. Use flags and canaries to separate deploying from releasing. Ship the code dark, switch it on for 1% of users, and watch. A defect that meets a hundred people is an incident; the same defect meeting a million is a news story.
    7. Map the value stream once a quarter. Draw the path from idea to production and time the waits. In most teams the waiting dwarfs the working, and a ten-minute feedback target per commit is the single fastest way to shrink it.
    8. Review incidents without blame — five working days at most. The question is what in the system allowed the mistake, not who made it. Teams that punish honesty teach people to hide small failures until they are large ones.
    9. Read the canon, then teach it back. Accelerate from 2018, the 2021 second edition of The DevOps Handbook, and Fowler’s continuous integration essays cover the ground. Explaining a chapter to a colleague is the habit that makes the other eight stick — the Three Ways call this continuous learning, and it is the whole engine.

    How to Turn DevOps Habits Into a Weekly Routine

    Pick one habit per week and write down where it shows up in your day. Habit three, for instance, becomes “drill one rollback on Thursday afternoon”. Habit seven becomes “time one change end to end on Friday”. Keep the notes short; a habit you cannot describe in two sentences is a habit you do not actually have. After nine weeks you will have a personal operating manual that no job change can take away.

    Expect the shape the literature promises. Weeks one and two feel productive, weeks three to five feel like you are moving backwards while automation raises the bar, and then the curve turns up. Agree with yourself in advance that a month of discomfort is the tuition, not a verdict. Progress also has a ladder: it climbs from silos through automated islands and joined-up flow to continuous delivery, finishing at a learning system. Most learners start on rung two and feel embarrassed about it. Do not be — rungs only get climbed deliberately, one habit per week, in writing.

    Signs the Habits Are Taking Hold

    • Your answers to “when will it ship?” stop being dates and become probabilities backed by cycle-time history.
    • Incidents get shorter and the review afterwards gets calmer — blameless culture shows up as tone before it shows up in numbers.
    • Someone outside your team asks to borrow the pipeline template, which is Sharing doing its quiet work.
    • You stop asking for a hero deploy on Friday night, because nothing about Tuesday feels dangerous any more.

    None of those signs would impress a slide. All four make a quarter go better, and a quarter is the unit that actually matters. Two cautions from watching learners. First, do not turn the metrics into a leaderboard — targets are where measurements go to be faked. Second, do not wait to feel “ready”: microservices and Kubernetes are not entry requirements, and regulated teams can adopt every habit above with automated controls. If you want the deeper reference while you practise, the Ops Atlas DevOps guide covers all of this with diagrams, a free course track and a quiz.

    And since this blog is largely about the learning path: the piece on preparing for DevOps certification step by step pairs well with habits four and nine, the article on how DevOps improves delivery and collaboration expands habits one, two and eight, and why enterprises want hands-on training explains the rehearsal obsession in habits three and five. Start with one. This week. The rest follow surprisingly quickly.