logoalt Hacker News

hasyimibhartoday at 4:00 PM1 replyview on HN

Having worked at a large company that misuses feature flag service for everything, here are some examples why you shouldn’t:

- one team uses feature flag for product gating. Feature flag service goes down. Users temporarily got locked out of the features they paid for.

- one team uses feature flag for dynamic pricing by leveraging targeting rules (how hard is it to write a bunch of if else in code?). It’s evaluated against all users, even if they are not active (for analysis reasons). Feature flag service charges by MAU. We have millions of users. Our feature flag service bill is now 6 digits per year.

- one team uses feature flag as literal json store instead of a proper db (god knows why). Someone updated the value but the “schema” is wrong. Shit breaks.


Replies

esafaktoday at 4:33 PM

> - one team uses feature flag for product gating. Feature flag service goes down. Users temporarily got locked out of the features they paid for.

That could happen if they used a separate service. In this case you need to build defaults; open or closed, as the case demands.

> - one team uses feature flag for dynamic pricing by leveraging targeting rules (how hard is it to write a bunch of if else in code?). It’s evaluated against all users, even if they are not active (for analysis reasons). Feature flag service charges by MAU. We have millions of users. Our feature flag service bill is now 6 digits per year.

This is a valid reason if you don't own the service, as it seems you don't. If you did, you should have asked your internal customers what their requirements were.

> - one team uses feature flag as literal json store instead of a proper db (god knows why). Someone updated the value but the “schema” is wrong. Shit breaks.

Separating the services would not help here. They are simply using the wrong tool.

show 1 reply