I’m working on an app where we recently needed to gradually roll out a feature region by region. My spider sense warned me, “Open-closed principal violation just ahead.” So I went looking for a feature flipper for .NET. I couldn’t find one, so I created it. I liked what I created, so I made it open source.
FlipIt is a general purpose feature flipper for .NET. It offers an easy way to deploy features and flip them off and on without touching code. In the very simplest case you flip the feature on/off for everyone all the time by changing a boolean setting. But it supports much more complex scenarios. For example, flip features:
- By user segment
- Based attributes of business transaction (such as by region)
- By time of day
- At random (split testing anyone?)
Really, you can flip features based on any condition imaginable and control those conditions over time without touching code.
Out of the box, FlipIt uses app settings, but it would be super easy to implement a different settings store and give the flipping power to an admin user.
Enjoy, and let me know what you think.