Hacker News new | ask | show | jobs
by patricioe 3411 days ago
Hey. Disclaimer: Co-founder of http://www.split.io here.

We built libraries like this before at previous jobs and now created Split to solve these type of problems and more. I can share some insights below of things we ran into while developing such libraries.

Libraries should be optimized to avoid network calls as much as possible. Using local or external caches like Redis, CDNs, etc, and leveraging protocols like HTTP Cache are the corner stones to achieving the behavior you are asking about. Moreover, you can use things like Server-Sent events and websockets to make your system react in near-realtime when flags are changed. Although this last approach leads to a little bit more complicated architecture.

Other things you didn't mention but worth considering whatever your decision is, are:

- How to manage old unused flags (tech debt). Processes are great but even better when enforced by tools. Often times people use task tracking tools to set reminders to themselves to remove a flag after X amount of days.

- How to integrate that data collected to power things like A/B testing to augment your business decisions.

- How to integrate your library with testing frameworks?

Happy to chat more about other topics we encountered while using flags.