<- Back
Comments (132)
- btownNever 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-worksYou 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!
- paulbjensenGold-plated booleans-as-a-service
- crabmusketLooking at the docs for their JS SDK, they have this warning:> The client provider requires an API token to fetch flag values. This token is not scoped to a single app, so anyone with the token can evaluate flags across all apps in your account. Use the client provider with caution in public-facing applications.https://developers.cloudflare.com/flagship/sdk/client-provid...Can anyone clarify... why the client SDK, designed to be deployed to browsers, requires caution? Does this mean that any client could send requests with a new targetingKey and observe other users' flags?While flags probably shouldn't be critical information, this seems like an interesting design choice.
- tiffanyhThis is nice, but I’m still waiting for this to be delivered (which ironically is probably using Flagship):https://blog.cloudflare.com/enterprise-grade-features-for-al...—-I don’t believe a single enterprise only feature has made its way to lower tier (paid) account yet.I’m most interested in:https://developers.cloudflare.com/speed/optimization/content...
- bluelightning2kI've never understood feature flags. How are they fundamentally different to a Boolean in a database?
- aetherspawnCloudflare are winning these days, they’re just lacking good fine grained permissions. You still have to make an entirely separate account for prod, which messes up SSO since one domain can only be bound to one account.
- glasshugOpenFeature was new to me, neat! Anyone have experience integrating this? https://openfeature.dev
- iTokioFeature flags are often ridiculously over engineered.Check a config, bdd value, env var to dynamically go one path or the other.That’s all, you must either have a small feature or refactor the code to easily switch at a high level.If you are not able to do so easily, then yes, complex feature flags implementations might help you, to coordinate feature activation between micro services.Or if you have many features then a dashboard might be useful.But I would argue that both are serious indicators that you should avoid feature flags, they are better for local and temporary changes, otherwise the complexity compounds and it become hard to manage and maintain.
- elamjeI’m always excited when Cloudflare starts offering things that I had to use other providers for because I know it will be solid.We used Statsig at Function. It started out as 2 of us using it on one product and within 12 months, large amounts of our product copy and rollouts were driven off of it.Statsig has client side evals so you can write rules and rollouts based on internal concepts without Statsig’s servers processing a piece of user data. Hoping Cloudflare can build a sophisticated product here so I don’t have use another product in the future!
- swyxi see @btown's comment below but also just for education about this space:- anyone have comments/comparisons about launchdarkly vs posthog vs statsig (is it still alive after openai?) vs _____ vs cloudflare flagship?like a "beginner/intermediate/advanced" progression of what to look out for/what you will want when it comes to feature flags would be highly helpful for me and many others here
- EFLKumoWorth noticing a Vercel equivalent: https://github.com/vercel/flags
- pm90More of this please: essential tools for building modern software must be oss; Im fine with paying for a hosted version but just the benefit of learning one tool and being able to use it everywhere (linux, k8s, python etc) is amazing.
- alperAnybody and everybody could use a mature LaunchDarkly alternative.
- OsrsNeedsf2PHas anyone struggled to run their own feature flagging service? After root causing slow app starts to be caused by the equivalent offering from Firebase, I've been cautious to use any off the shelf solutions
- zuzululuA bit tangent but related: These things I'm never sure if I should be shipping on day one with mobile apps (Flutter in particular): Flagships, bug gathering, A/B testing ?I feel strong inclination too but its also way too early before any real users can prove PMF. I've been using Google stuff but wonder if Flagship and perhaps other Cloudflare offerings can help.The other side is that again it feels too early for this stuff and I just want to ship something quickly.The work ivnvolved
- 5701652400never understood this. why follow over-engineered standard and depend on 3rd party API spec, and 3rd party vendor. if you cannot call home from your service, you having bigger problems. and once you can call home, it is just.. single json file.
- piterrroI would happily pay for safely-remove-old-feature-flags-from-the-code-as-a-service.
- ec109685Missing gradual rollout of feature flag changes themselves. Yes, you can do percentage based rollouts for individual features but still should have ability to canary all changes before they cause an insta-sev.
- jwrAm I the only one worried about Cloudflare becoming too powerful?We went through this with E-mail: we slept through the period when Google, Microsoft and AWS were growing, and we ended up with them dictating the terms. Today I get 90% of my spam from Google, Microsoft and AWS and they don't care: they can safely ignore spam reports, because at this point they are Too Big to Block.I have a feeling we are moving towards the same problem with Cloudflare and the web. Tomorrow Cloudflare will start dictating what we can or cannot do and we will not be able to do anything about it. This has already begun: their arbitrary "bot-filtering" for example.
- tuananhthis make perfect sense for cloudflare.and im sure they can drive down the cost , compared to say launchdarkly
- cat-whispereris it similar to vercel flags?
- etothetI don’t have experience with the tools Cloudflare has been shipping this year so I can’t speak about the quality, but they have really been pushing out a lot new products and services, no doubt due to agentic coding.
- GeorgeWoff25I love their free tier but for playful stuff
- maxdoa flagship with no pirates, all fired due to ai.
- ericandI like the name
- jazzpush2This is what "Building for the future" looks like post-layoffs, huh?Can't even ship with app-scoped tokens...
- EGregIf anyone is interested, you can implement something like that with a few lines of code on the front end. We expose a function that generates a uniformly-distributed hash that you can use for A/B testing and other uses: Q.Data.variant() https://github.com/Qbix/Q.js/blob/main/src/js/Q.minimal.js#L...And on the back end, you'd use it like this:https://github.com/Qbix/Platform/blob/main/platform/classes/...Essentially, this can support a huge number of "variants" and within each variant you can have N equal segments. That will help you do A/B testing and flipping features on or off.
- Bolin-Weng_666[flagged]
- Ayush_Khati1[flagged]
- rahadbhuiya[dead]
- throwaway613746Feature flags are so ridiculously simple I have never needed to outsource this to someone else.
- qzgrid37[dead]