🌍 DevOps · subject

DevOps Continuous Delivery and Continuous Deployment Syllabus

The Continuous Delivery and Continuous Deployment syllabus for DevOps in full: 3 chapters and 8 topics, every one listed below, plus 50 Continuous Delivery and Continuous Deployment flashcards with answers.

3Chapters
8Topics
50Flashcards

Continuous Delivery and Continuous Deployment syllabus: all 3 chapters

Expand any chapter to see its topics and sub-topics.

  1. Introduction to CD

    2 topics
    • CD Concepts and Practices
    • Benefits of CD
  2. CD Tools

    3 topics
    • Spinnaker
    • Argo CD
    • Octopus Deploy
  3. Setting Up a CD Pipeline

    3 topics
    • Deployment Strategies
    • Blue-Green Deployment
    • Canary Releases

DevOps Continuous Delivery and Continuous Deployment flashcards — 50 questions with answers

  1. What is Continuous Delivery (CD)?

    A software engineering practice in which code changes are automatically built, tested, and prepared for release to production. Every change is kept in a deployable state, but the final push to production is triggered manually by a human decision.

  2. What is Continuous Deployment?

    An extension of Continuous Delivery in which every change that passes the automated pipeline (build and tests) is automatically released to production with no manual approval gate. The release to production is fully automated.

  3. What is the key distinction between Continuous Delivery and Continuous Deployment?

    Both automate the pipeline up to production-readiness. Continuous Delivery requires a manual approval/trigger for the production release; Continuous Deployment automatically releases every passing change to production without human intervention.

  4. How does Continuous Integration (CI) relate to Continuous Delivery/Deployment?

    CI is the upstream practice of frequently merging code into a shared mainline with automated builds and tests. CD builds on CI by extending the automation to packaging, release preparation, and deployment. CI ensures code is mergeable; CD ensures it is releasable/deployable.

  5. In CI/CD, what does the acronym 'CD' ambiguously stand for, and how do you tell which one is meant?

    'CD' can mean Continuous Delivery or Continuous Deployment. The difference is the production gate: Delivery = manual release decision; Deployment = fully automated release. Context (presence or absence of a manual approval step) disambiguates.

  6. What is a deployment pipeline (delivery pipeline)?

    An automated implementation of the path from version control to the user. It typically chains stages such as build, unit tests, integration tests, acceptance tests, and deployment, providing fast feedback and a single record of every change's progress toward release.

  7. What is an artifact in the context of CD, and what is the 'build once' principle?

    An artifact is the immutable, deployable package produced by the build (e.g., a JAR, container image, or binary). The 'build once' principle states the same artifact built once should be promoted unchanged through every environment, so what is tested is exactly what is released.

  8. What does 'keeping the build green' (or 'always releasable') mean in CD?

    The mainline branch must always be in a deployable state. A failing build or test takes top priority to fix, because broken trunk blocks everyone's ability to release at any time.

  9. What is trunk-based development and why is it associated with CD?

    A source-control practice where developers integrate small, frequent changes into a single shared trunk (main) rather than long-lived feature branches. It minimizes merge conflicts and keeps the mainline continuously integratable and releasable, which CD depends on.

  10. What are feature flags (feature toggles) and what role do they play in CD?

    Configuration switches that turn functionality on or off at runtime without redeploying. They let teams merge and deploy incomplete or risky features in a hidden state, decoupling deployment (shipping code) from release (exposing it to users).

  11. In CD terminology, what is the difference between 'deployment' and 'release'?

    Deployment is the act of installing/running a new version of code in an environment (including production). Release is the act of making features available to users. Feature flags and progressive rollouts allow deploying without releasing.

  12. List the core benefits commonly attributed to Continuous Delivery.

    Faster time to market, lower-risk releases (small batches), faster feedback, higher software quality, reduced manual effort, improved developer productivity, easier rollback, and the ability to release on demand.

  13. Why do small batch sizes reduce deployment risk in CD?

    Smaller changes are easier to test, review, and reason about; when something fails, the smaller change set makes root-cause diagnosis and rollback faster, and the blast radius of any defect is limited.

  14. Which four DORA metrics are used to measure software delivery performance?

    Deployment Frequency, Lead Time for Changes, Change Failure Rate, and Mean Time to Restore (MTTR). The first two measure throughput; the last two measure stability.

  15. Define the DORA metric 'Lead Time for Changes.'

    The time it takes for a code commit to go from being committed to running successfully in production. Shorter lead time indicates a more efficient delivery process.

  16. Define the DORA metric 'Change Failure Rate' and give its formula.

    The percentage of deployments to production that cause a failure (rollback, hotfix, or outage). $$\text{CFR} = \frac{\text{Failed deployments}}{\text{Total deployments}} \times 100\%$$

  17. Define MTTR (Mean Time to Restore) and give its formula.

    The average time to recover from a production failure. $$\text{MTTR} = \frac{\text{Total downtime}}{\text{Number of incidents}}$$

  18. What is Spinnaker?

    An open-source, multi-cloud continuous delivery platform originally created by Netflix (and co-developed with Google). It focuses on application deployment and release management across cloud providers, with built-in support for advanced deployment strategies.

  19. Which cloud providers does Spinnaker natively support?

    Major providers including AWS, Google Cloud Platform (GCP), Microsoft Azure, Kubernetes, Cloud Foundry, and Oracle Cloud, making it a multi-cloud deployment tool.

  20. In Spinnaker, what is a 'pipeline'?

    A sequence of configurable stages that automate the deployment workflow. Stages can include bake, deploy, manual judgment, wait, and resize, and can be triggered by events such as a new image, a Git push, or a cron schedule.

Show the other 30 Continuous Delivery and Continuous Deployment flashcards
  1. In Spinnaker, what is the 'bake' stage?

    A stage that produces an immutable machine image (e.g., an AWS AMI) from a source artifact, typically using HashiCorp Packer. The baked image is then deployed, supporting immutable infrastructure.

  2. What is a 'server group' in Spinnaker?

    The basic deployable unit representing a set of identical running instances (e.g., an auto-scaling group) created from a single image/configuration. Multiple server groups make up a cluster.

  3. What deployment strategies does Spinnaker provide out of the box?

    Red/Black (Spinnaker's name for blue-green), rolling red/black, canary (via automated canary analysis), and highlander. These automate safe progressive rollouts.

  4. What is Spinnaker's Automated Canary Analysis (ACA / Kayenta)?

    A component (Kayenta) that statistically compares metrics from a canary deployment against a baseline and automatically scores the canary to decide whether to promote or roll back the release.

  5. What is Argo CD?

    An open-source, declarative GitOps continuous delivery tool for Kubernetes. It continuously monitors a Git repository of desired manifests and synchronizes the cluster state to match, treating Git as the single source of truth.

  6. What deployment model does Argo CD follow: push or pull?

    A pull-based model. The Argo CD controller runs inside the cluster and pulls the desired state from Git, rather than an external CI server pushing changes into the cluster. This is a core GitOps principle.

  7. What is GitOps?

    An operational framework where the entire desired system state (infrastructure and applications) is declaratively stored in Git, and an automated agent continuously reconciles the live environment to match Git. Git becomes the single source of truth and the audit log.

  8. In Argo CD, what does it mean for an application to be 'OutOfSync'?

    The live state of resources in the cluster does not match the desired state declared in the Git repository. Argo CD detects the drift and can either alert or automatically sync to reconcile it.

  9. What is the difference between manual sync and automated sync in Argo CD?

    Manual sync requires a user to trigger reconciliation after detecting drift; automated sync makes Argo CD automatically apply Git changes to the cluster as soon as drift is detected, enabling hands-off continuous deployment.

  10. What is 'self-heal' in Argo CD?

    An automated-sync option where Argo CD automatically reverts any out-of-band changes made directly to the cluster, restoring the state defined in Git and preventing configuration drift.

  11. What is the 'App of Apps' pattern in Argo CD?

    A pattern where a single parent Argo CD Application declaratively manages multiple child Applications, allowing an entire suite of apps and their configurations to be bootstrapped and managed from one Git-defined root.

  12. Which Kubernetes manifest tools does Argo CD natively support?

    Plain Kubernetes YAML/manifests (directories), Helm charts, Kustomize, and Jsonnet, plus custom config-management plugins.

  13. What is Octopus Deploy?

    A commercial deployment automation and release management tool that handles the deployment and operations side of CD across many environments and technologies (Windows, Linux, Kubernetes, cloud), commonly paired with a separate CI build server.

  14. How does Octopus Deploy typically fit with a CI server like Jenkins or TeamCity?

    The CI server handles building and testing to produce an artifact/package; Octopus Deploy then takes that package and manages its deployment, promotion across environments, and release orchestration. CI builds, Octopus deploys.

  15. In Octopus Deploy, what is a 'project'?

    A container that defines how an application is deployed: it holds the deployment process (steps), variables, and configuration used to create and deploy releases of that application.

  16. In Octopus Deploy, what is a 'release' versus a 'deployment'?

    A release is a snapshot/version of the deployment process and packages, including version numbers and variables, that is created once. A deployment is the act of executing that release into a specific environment (e.g., Dev, then Test, then Prod).

  17. What is a 'lifecycle' in Octopus Deploy?

    A defined set of rules controlling the order in which a release is promoted through environments (e.g., Dev → Test → Staging → Production) and the conditions/approvals required to advance between phases.

  18. What is the role of the 'Tentacle' agent in Octopus Deploy?

    Tentacle is a lightweight agent installed on target machines that the Octopus Server communicates with to execute deployment steps. It supports Listening mode (server connects to target) and Polling mode (target connects to server).

  19. What is a deployment strategy?

    A defined approach for releasing a new version of software to replace or coexist with the old version, designed to manage the trade-offs between deployment speed, risk, downtime, and resource cost.

  20. Describe the 'recreate' (basic/highlander) deployment strategy and its main drawback.

    The old version is fully stopped and then the new version is started. It is simple and uses no extra resources, but it causes downtime during the switch and offers no easy instant rollback.

  21. Describe the rolling (ramped) deployment strategy.

    The new version is gradually rolled out by incrementally replacing instances of the old version one batch at a time until all instances run the new version. It avoids downtime and extra full-capacity cost but creates a period where both versions serve traffic and rollback is slower.

  22. What is Blue-Green Deployment?

    A strategy using two identical production environments, 'Blue' (current live) and 'Green' (new version). The new release is deployed and tested on the idle environment, then traffic is switched over all at once, enabling near-zero downtime and instant rollback.

  23. In Blue-Green Deployment, how is a rollback performed?

    By switching the router/load balancer to point traffic back to the previous environment (the old Blue/Green), which is still running and unchanged. Rollback is therefore near-instantaneous and low-risk.

  24. What is the main resource cost/disadvantage of Blue-Green Deployment?

    It requires running two full production-capacity environments simultaneously, roughly doubling infrastructure cost during the cutover. It can also be complex when handling database schema changes and stateful data shared between environments.

  25. How is traffic switched in Blue-Green Deployment?

    Typically by reconfiguring a load balancer, router, or DNS/service to redirect all user traffic from the old environment to the new one in a single cutover, so users move atomically from Blue to Green.

  26. What is a Canary Release?

    A strategy that gradually rolls out a change to a small subset of users/servers (the 'canary') first, monitors its behavior, and then incrementally increases traffic to the new version if it performs well, or rolls back if problems appear.

  27. Why is the canary release named after a 'canary'?

    It alludes to the canary in a coal mine: a small, expendable early indicator of danger. The small canary group surfaces problems with a new release before they affect the entire user base.

  28. What is the key difference between Blue-Green and Canary deployments?

    Blue-Green switches all traffic at once between two full environments. Canary shifts traffic gradually in increasing percentages to the new version, exposing only a fraction of users at a time and allowing fine-grained, metric-driven rollout.

  29. If a canary release routes 5% of traffic to the new version, how is the traffic split expressed, and what guides increasing it?

    The split is $95\%$ baseline to $5\%$ canary, i.e., a ratio of $\frac{5}{100}$ of users on the new version. Increases (e.g., to $25\%$, then $50\%$, then $100\%$) are guided by monitoring error rates, latency, and other health metrics meeting acceptance thresholds.

  30. What is A/B testing and how does it differ from a canary release?

    A/B testing routes users to different versions to compare business/behavioral metrics and make a product decision; the goal is measuring user response. A canary release routes a small fraction to a new version to validate stability/safety before full rollout; the goal is risk reduction. They use similar traffic-splitting mechanics but have different objectives.

DevOps Continuous Delivery and Continuous Deployment FAQ

What is in the DevOps Continuous Delivery and Continuous Deployment syllabus?

DevOps Continuous Delivery and Continuous Deployment is split into 3 chapters: Introduction to CD, CD Tools and Setting Up a CD Pipeline. Together they contain 8 topics.

How many chapters are in DevOps Continuous Delivery and Continuous Deployment?

3 chapters, containing 8 topics. The largest chapter is CD Tools, with 3 topics.

Are there flashcards for DevOps Continuous Delivery and Continuous Deployment?

Yes — a 50-card Continuous Delivery and Continuous Deployment deck, printed in full in the flashcards section of this page and available in the Examius app with spaced repetition. The free plan covers one exam of your choice, including its flashcards; Examius Pro, a one-time purchase, unlocks every other exam and deck.