- Artifact
- A file or bundle that a build step produces and later steps consume, such as a container image or a trained model file. Treating it as a fixed, named output lets every later stage work on exactly the same thing.
- Blast radius
- How much of a system or how many users are affected if a change goes wrong. Releasing to a small slice first keeps the blast radius small.
- Determinism
- The same inputs always produce the same output. Many real systems are only partly deterministic, for example because of timestamps, random numbers or parallel timing.
- Drift
- A slow, often unnoticed gap that opens between how a system was set up or tested and how it behaves now. It can come from changed configuration, changed data or a changed world.
- Feedback loop
- A path that carries what happened in later stages (failures, measurements, user behavior) back to earlier decisions. Shorter loops let you find and fix mistakes sooner.
- Gate
- A checkpoint that a change must pass before moving to the next stage, such as passing tests or an approval. If the check fails, the change stops there.
- Idempotent
- An operation that leaves the system in the same state whether you run it once or several times. This makes retries and re-runs safe.
- Immutable
- Something that is never edited after it is created; a change means creating a new version instead. That way a given version always means the same thing.
- Invariant
- A condition that must stay true no matter what else changes, for example "production only runs images that passed tests". Each stage of a process exists to protect some invariant.
- Lifecycle
- The ordered stages a change passes through from idea to running software and back to lessons learned. Seeing the whole sequence helps you place where a given problem arises.
- Reproducibility
- The ability to rebuild or rerun something later and get the same result, using recorded inputs and steps. It is what lets you debug the past and trust the present.
- 12-factor app
- A set of twelve guidelines for building apps that are easy to deploy and run in many environments, such as keeping configuration outside the code and treating logs as a stream. It is a checklist of habits, not a tool.
- Bake window
- A waiting period after a release during which the team watches for problems before treating the release as safe. Some issues only appear after the new version has run for a while.
- Blue-green deployment
- Running two full copies of an application, one live and one idle, and switching traffic to the new copy all at once. Rolling back means switching traffic back, at the cost of running two copies.
- Burn rate
- How fast a service is using up its error budget compared with the pace that would exactly use it up by the end of the period. A high burn rate means the target will be missed soon unless something changes.
- Canary
- Sending a small share of real traffic to a new version first and watching how it does before widening the rollout. If metrics get worse, only that small share is affected.
- Correlation id
- A unique identifier attached to a request and passed along to every service that handles it. Searching for that id gathers all the related logs in one place.
- Desired vs actual state
- Desired state is what you have declared you want running; actual state is what is really running right now. Many tools work by repeatedly comparing the two and fixing differences.
- Digest (sha256)
- A fingerprint computed from the exact bytes of a file or image, so any change produces a different value. Referring to an image by digest instead of a movable tag such as "latest" guarantees you get the same contents every time.
- envsubst, Helm and Kustomize
- Three ways to reuse one set of deployment files across environments. envsubst fills in placeholders from environment variables, Helm uses templates with values, and Kustomize layers patches on top of a base without templating.
- Error budget
- The amount of unreliability a service is allowed while still meeting its reliability target; a 99.9% target allows 0.1% of failures. It turns "how careful should we be" into a number teams can spend on releases.
- Expand/contract migration
- A way to change a database in safe steps: first add the new structure alongside the old, move code and data over, then remove the old structure. Old and new versions of the app keep working throughout.
- Feature flag
- A switch in the code that turns a feature on or off without deploying again. It separates shipping code from exposing it to users.
- GitOps
- Keeping the desired state of a system in a Git repository and having an automated agent make the running system match it. Changes happen through commits, which also gives you history and an easy rollback.
- Hermetic build
- A build that depends only on inputs it declares, with no hidden reliance on the network or the machine it runs on. It should give the same output wherever it is run.
- Liveness probe
- A periodic check that asks whether a running program is still working or has gotten stuck. If it fails repeatedly, the platform typically restarts the program.
- Lockfile
- A file that records the exact versions of every dependency that was installed. Installing from it gives the same set of packages each time instead of whatever is newest.
- Readiness probe
- A check that asks whether a program is ready to receive traffic right now. While it fails, the platform stops sending requests to that instance but does not necessarily restart it.
- Reconciliation
- A control loop that repeatedly compares desired state with actual state and takes action to close the gap. It keeps going, so it also repairs problems that appear later.
- Rolling update
- Replacing instances of an application with a new version a few at a time, so the service stays up throughout. Old and new versions run side by side for a while.
- SBOM
- Software bill of materials: a list of the components and libraries that went into a piece of software. It lets you quickly check whether you are affected when a vulnerability is announced.
- Service mesh
- A layer of helper proxies next to each service that handles network concerns such as encryption, retries and traffic splitting. It lets those features be added without changing application code.
- Shadow traffic
- Copying real requests to a new version whose responses are discarded, so it can be tested on real load without affecting users. It must be set up carefully so copies do not cause real side effects such as duplicate payments.
- SLI
- Service level indicator: a measurement of how well a service is doing from a user point of view, such as the fraction of requests that succeed or finish quickly.
- SLO
- Service level objective: a target for an SLI over a time period, for example "99.9% of requests succeed over 30 days". It defines what "reliable enough" means.
- Startup probe
- A check used while a program is still starting up, giving slow starters extra time before other checks begin. It prevents a program that is merely slow to start from being restarted by mistake.
- Test pyramid
- A guideline to have many small, fast tests, fewer tests that combine several parts, and very few full end-to-end tests. Fast tests catch most problems cheaply, while slow tests are kept for the most important paths.
- Trunk-based development
- A way of working where everyone merges small changes into one main branch often, instead of keeping long-lived branches. It reduces painful merges and keeps the main branch ready to release.
- Wide event
- A single log record per request that carries many fields of context, such as user, version, route and timings. Having everything in one record makes it easier to slice and search when investigating problems.