Using Betas to Deploy New Features Safely - Shopify
Feb 12, 2021

Summary
This post details the implementation of a feature flagging system using beta flags. It defines core concepts like Subject, BetaIdentifier, BetaFlag, and BetaRollout. A key technical contribution is the implementation of a percentage rollout mechanism using a digest-based calculation to ensure consistent growing sets of subjects experience the feature. It also introduces a higher-level 'Feature' abstraction to manage complex qualification changes and provide kill switches for immediate rollback.