Core jargon for software architecture, delivery, and engineering culture.
The packaged output of a build — a compiled binary, container image, or bundle — that gets promoted through environments and ultimately deployed.
Running two identical production environments and instantly switching all traffic from the old one to the new one, enabling near-zero-downtime releases and instant rollback.
A tool that takes source modules (JavaScript, CSS, assets) with their dependency graphs and outputs one or more optimized files for the browser.
Rolling a change out to a small slice of real users first, to catch problems before they affect everyone.
Continuous Integration / Continuous Delivery (or Deployment) — automatically building, testing, and optionally shipping code every time it changes.
A lightweight, isolated package that bundles an application with everything it needs to run, so it behaves the same on any machine.
A system that automatically deploys, scales, restarts, and networks containers across a cluster of machines, so you don't manage each one by hand.
A named value injected into a running process from outside the code — used to pass configuration, secrets, and environment-specific settings without hardcoding them.
A runtime switch that turns a piece of functionality on or off for some or all users without requiring a new deployment.
Storing multiple related projects or packages in a single version-controlled repository, with shared tooling and the ability to make cross-project changes atomically.
How well you can infer a system's internal state and diagnose problems from its existing logs, metrics, and traces — without having to add new instrumentation on the spot.
Reverting a system to the previous deployed version after a new release causes problems.
The raw logs, metrics, and traces a running system continuously emits about its own behavior.
A bundler optimization that eliminates dead code — specifically, exported module members that nothing in the app actually imports.