Microsoft Certified: DevOps Engineer ExpertConfigure processes and communicationsMedium
A global e-commerce company is experiencing challenges with its release process. They have a complex application with many microservices and a large user base across different time zones. They want to ensure that new features are fully tested in production by a small, internal group of users before being gradually rolled out to a wider external audience. This approach should also allow for easy A/B testing of features. Which release strategy is most appropriate for this scenario?
- AN-Version Programming
- BFeature Flags
- CDark Launching
- DRing-Based Deployment
Show answer & explanationAnswer & explanation
Correct answer: B. Feature Flags
Feature flags (also known as feature toggles) allow specific features to be enabled or disabled for certain user groups or environments at runtime without redeploying code. This enables internal testing in production, gradual rollout to external users, and A/B testing by segmenting users, directly addressing all requirements.
Why the other options are wrong
- A. N-Version programming is a fault-tolerance technique where multiple independent implementations of a module run in parallel, not a release strategy for feature rollout or A/B testing.
- C. Dark launching deploys a feature to production but keeps it hidden from all users, primarily for performance testing or 'warming up' systems, not for gradual user-facing rollout or A/B testing.
- D. Ring-based deployment (or phased rollout) deploys to successive rings of users/environments, but without feature flags, it's typically an entire application version, not individual features, and less flexible for A/B testing.
Feature Flags
A technique that allows specific features to be turned on or off at runtime without deploying new code.
- Enable controlled rollout of features to specific user segments.
- Facilitate A/B testing and experimentation.
- Allow for 'dark launching' of features (deployed but hidden).
- Decouple deployment from release.
Memory trick: Feature Flags: 'F'ine-grained control, 'F'lexible rollout.