| ▲ | btown 5 hours ago | |||||||
Never underestimate the power of a zero-network-hop abstraction over f(feature_name, context). And context can be extremely tailored to your niche: specific inventory, from a specific supplier, for a specific user of a specific B2B client of a specific business model subtype, who should or shouldn’t see certain features on that specific inventory at certain times. When you can write your own logic, and just run this in a tight loop as easily and performantly as you can use a constant, it makes your business incredibly agile. Think some text might change for some customers? Just write the code to make it configurable, and you get tests and flags for free. Sadly, that zero-hop setup requires a sophisticated client execution engine, which it doesn’t appear Cloudflare has implemented here. Makes sense for their memory constrained workers, less sense for traditional infrastructure. Statsig has an approach here that I quite like: > To be able to do this, Server SDKs hold the entire ruleset of your project in memory - a representation of each gate or experiment in JSON. On client SDKs, we evaluate all of the gates/experiments when you call initialize - on our servers. https://docs.statsig.com/sdks/how-evaluation-works You can also roll your own - just sync your rulesets to a few data structures every few seconds in a background thread and atomically swap the reference to them. Then you just need a CRUD interface over the applicability ruleset dimensions. Just be careful to have governance on who can play with which would-be constants. Great power and great responsibility and all that! | ||||||||
| ▲ | hobofan 33 minutes ago | parent | next [-] | |||||||
> Sadly, that zero-hop setup requires a sophisticated client execution engine, which it doesn’t appear Cloudflare has implemented here. It doesn't have to be sophisticated and they don't need to implement it themselves. They piggy-back on OpenFeature where the client libraries have a simple targeting rule evaluation engine integrated. | ||||||||
| ▲ | ZeWaka 29 minutes ago | parent | prev | next [-] | |||||||
Statsig has worked great at my work, really polished and rich feature set. Their tooling to identify unused flags as candidates for removal is neat. The per-seat billing we have in our agreement is a bit rough but it's workable. | ||||||||
| ▲ | chrisweekly 4 hours ago | parent | prev | next [-] | |||||||
Good advice. I'll add a protip / reminder that feature flags, AB tests, and entitlements are three distinct concepts. This blog post (no affiliation) has framing I found helpful: https://www.stigg.io/blog-posts/entitlements-untangled-the-m... | ||||||||
| ||||||||
| ▲ | rustystump an hour ago | parent | prev | next [-] | |||||||
Could you be more specific? | ||||||||
| ▲ | swyx 2 hours ago | parent | prev | next [-] | |||||||
> Sadly, that zero-hop setup requires a sophisticated client execution engine, which it doesn’t appear Cloudflare has implemented here. Makes sense for their memory constrained workers, less sense for traditional infrastructure. wait what? what kind of logic do you need to do that CF Workers can't do? | ||||||||
| ▲ | Ayush_Khati1 3 hours ago | parent | prev [-] | |||||||
[flagged] | ||||||||