Continuous Delivery Architecture study materials
Continuous Delivery Architecture study resources

Continuous Delivery Architecture flashcards

Continuous Delivery Architecture · Build recall with a focused review session.

32 cards. Read the term and the definition here. The deck at the top of this page is optional.

Continuous delivery definition
Practice where every change is automatically built, tested, and kept in a deployable state, with release to production a deliberate business decision rather than a technical hurdle.
Deployment versus release
Deployment installs a version into an environment; release exposes it to users. Separating them enables dark launches, canary exposure, and instant rollback by flag.
Lead time for changes
Elapsed time from code commit to that change running in production. Wait and queue time usually dominate, so reducing batch size and approvals shortens it most.
Flow efficiency
Ratio of active process time to total lead time in a value stream. Values below roughly twenty-five percent indicate large queues and handoff delays.
Change failure rate
Share of deployments that cause degraded service and require remediation such as rollback, hotfix, or incident response. One of the four DORA delivery metrics.
Trunk-based development
All developers commit to one shared branch at least daily, using short-lived branches and feature flags to hide incomplete work, reducing merge conflicts and integration risk.
Build once, deploy many
Build a single immutable artifact per commit and promote that exact binary through every environment, so tested bits are the bits that reach production.
Immutable artifact identity
Artifacts identified by content digest or commit SHA rather than a mutable tag, guaranteeing that what was tested is exactly what is deployed later.
Dependency lockfile
Committed file pinning the exact resolved versions and hashes of transitive dependencies, making builds deterministic and resistant to upstream version drift or tampering.
Reproducible build
A build producing a bit-identical artifact from the same source and inputs, requiring pinned toolchains, digest-pinned base images, and normalized timestamps.
Software bill of materials
Machine-readable inventory of components and versions inside an artifact, typically SPDX or CycloneDX, used for vulnerability response and license compliance.
Semantic versioning rules
MAJOR for incompatible changes, MINOR for backward-compatible features, PATCH for backward-compatible fixes; pre-release identifiers sort before the corresponding release version.
Deployment pipeline definition
Automated sequence of stages from commit to release where each stage is a quality gate and failure halts promotion of the artifact.
Commit stage budget
Target of roughly ten minutes or less for compile, unit tests, and static analysis, keeping feedback fast enough that developers wait for results.
Pipeline as code
Pipeline definition stored in version control alongside the application, making gate logic reviewable, auditable, and reproducible across branches and rebuilds.
Idempotent pipeline step
Step that produces the same result when re-executed, allowing safe automatic retries after transient infrastructure failures without duplicating side effects.
Test pyramid
Guidance favoring many fast unit tests, fewer service and contract tests, and very few slow end-to-end UI tests, keeping pipeline feedback fast and stable.
Consumer-driven contract testing
Consumers publish expected request and response contracts; providers verify them in their own pipeline, catching incompatibilities without deploying both services together.
Flaky test quarantine
Removing intermittently failing tests from the blocking gate, tracking their flake rate, and requiring a fix or deletion before they return.
Test data isolation
Each pipeline run creates its own uniquely named data or tenant, so parallel runs never collide and results stay deterministic and repeatable.
Test double types
Stubs return canned responses, mocks assert interactions, and fakes are lightweight working implementations. Prefer fakes at service boundaries for realistic behavior.
Infrastructure as code drift
Divergence between declared infrastructure definitions and live resources caused by manual console changes, detected by scheduled plan or refresh comparisons.
Remote state with locking
Terraform-style state stored in a shared encrypted backend with a lock, preventing concurrent applies from corrupting the resource mapping.
Ephemeral environments
Short-lived environments created per branch or pull request and destroyed automatically on merge or timeout, giving realistic integration testing without permanent cost.
Environment parity
Keeping operating system, runtime, and configuration mechanism identical across stages, varying only data such as sizes and endpoints, so tests predict production behavior.
Blue-green deployment
Two identical environments where traffic switches from old to new at the router; rollback is switching back, and both versions must share a compatible schema.
Canary release
Routing a small traffic percentage to the new version, comparing error rate and latency against baseline, then ramping or aborting automatically.
Feature flag decoupling
Runtime toggle that separates deployment from release, letting code ship dark and enabling instant disable; each flag needs an owner and expiry.
Expand-and-contract migration
Schema change pattern: add new structures and dual-write, backfill and verify, switch reads, then remove old structures in a later release to keep versions compatible.
Configuration externalization
Keeping environment-specific settings outside the artifact and injecting them at runtime, so one immutable binary runs unchanged across all stages.
Secret rotation on leak
When a credential is exposed, revoke and rotate it first, then purge history and audit usage; rotating before cleanup limits the exposure window.
Error budget
One minus the service level objective, expressed as allowed unreliability over the window; burning it fast should slow releases and trigger investigation.