Feature Flag

Why do we need it? Problem Statements

Requirements

Easy to turn on/off without code change

Avoid flags dependencies

Need to good below scenarios

A/B test

Could turn on/off from different level

tenant

org

user

role

flag type

release flag

experimental flag

permisson flag

easy to cleanup

[Developer] Common layers code change could cause wide customer incident

[Developer] Needs fast CICD in a safe way

[QA] Before release a feature, need time to finish the testing, including automation.

[Product] Need an easy way to isolate customer issues to investigate and avoid long period customer pain