Comment by ricardobeat
8 days ago
Writing your own logic to handle flags is trivial at first, especially if you're running a monolithic app, but quickly grows in complexity:
- distributing flags to multiple services
- broadcasting updates
- caching rules
- audit logs
- product, not eng, will start managing the flags at some point and needs easy access
- custom logic for gradual rollouts, A/B testing
- custom attributes support (used in evaluation)
- managing multi-variant flags
- supporting multiple platforms (backend, frontend, native apps, services, jobs) and evaluation strategies (eager server-side evaluation vs shipping a client-side engine)
There are quite a few open-source options like Growthbook, Flagsmith, go-feature-flag, and Unleash that you can check out for comparison.
> product, not eng, will start managing the flags at some point and needs easy access
How to tell you have a broken engineering culture.
Some flags are meant to be enabled for specific customers, on-demand, depending on what type of contract is signed, under NDA and so on. Over time, many department that aren't "engineering" need to be able to change some flags. That doesn't imply your culture is broken.
I think most would say that’s configuration, not feature flags. The differences can be subtle but I at least don’t think they’re the same thing
That seems like code which should check customer account information, not a feature flag thats turned on or off.
2 replies →
Sounds like most of those problems are just problems with microservices generally. Adding a service makes this worse.
> product, not eng, will start managing the flags at some point and needs easy access
That's the typical pattern and why most tools focus on non-technical UIs. FFlags targets a different niche. Teams where developers want to maintain control over flag logic.
Do we need a feature flag-aaS if we have a monolith and easy way to add columns to user table?
If you're not running A/B tests, doing gradual rollouts, don't have a metrics platform, and haven't had to go beyond simple on/off status, probably not.
I have a bias but I would still suggest using feature flags even for on/off functions. Example of how I do it:
https://x.com/ctushr/status/1949215574980272177
I can see the others in the build/buy debate, but how's metric platform connected to this?