Microsoft Certified: DevOps Engineer ExpertConfigure processes and communicationsHard

A global e-commerce company is experiencing challenges with its release process. They have multiple geographically distributed teams developing features for a single monolithic application. Releases are infrequent (quarterly), often large, and highly risky, leading to extended downtime and customer dissatisfaction. The company wants to adopt a release strategy that reduces risk, enables faster feedback, and allows for rolling out new features to a subset of users before a full production launch. Which combination of release strategies would best address these challenges?

  1. AContinuous Delivery with Feature Flags and Canary Releases
  2. BContinuous Deployment with Blue/Green Deployments
  3. CDark Launching with Manual Deployments
  4. DRelease Train with A/B Testing
Show answer & explanation

Correct answer: A. Continuous Delivery with Feature Flags and Canary Releases

Continuous Delivery ensures that code is always deployable, enabling frequent, smaller releases to reduce risk and provide faster feedback. Feature Flags allow specific functionalities to be toggled on/off, enabling features to be deployed but hidden, and then gradually exposed. Canary Releases mitigate risk by rolling out new versions to a small subset of users first, monitoring performance, and then progressively expanding. This combination directly addresses the need for reduced risk, faster feedback, and controlled rollout to subsets of users.

Why the other options are wrong

  • B. Continuous Deployment automatically pushes all changes to production, which, while fast, might be too risky for a monolithic application without additional controls like feature flags or canary releases. Blue/Green is a deployment technique, not a strategy for subset release or risk reduction in the same way canary releases are.
  • C. Dark Launching is a component of controlled rollouts, but 'Manual Deployments' contradict the goal of reducing risk and enabling faster feedback. This option lacks the continuous aspect and advanced rollout control mechanisms needed.
  • D. Release Train focuses on fixed-schedule, coordinated releases, which might still lead to large, infrequent releases. A/B Testing is for comparing different versions of a feature, not primarily for risk reduction during rollout or enabling frequent, small releases.

Advanced Release Strategies

Techniques like Feature Flags and Canary Releases, often combined with Continuous Delivery, to enable controlled, low-risk, and incremental deployment of new features.

  • Feature Flags: Toggle features on/off dynamically.
  • Canary Releases: Gradual rollout to a small user subset.
  • Blue/Green Deployments: Instant switch between old and new environments.
  • Dark Launching: Deploy features hidden from users.

Memory trick: Flags fly, canaries sing, delivery is king.

More Configure processes and communications questions