Cloudflare Flagship

developers.cloudflare.com

317 points by tjek 17 hours ago


btown - 15 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!

paulbjensen - 10 hours ago

Gold-plated booleans-as-a-service

crabmusket - 16 hours ago

Looking 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.

tiffanyh - 16 hours ago

This 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...

aetherspawn - 17 hours ago

Cloudflare 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.

bluelightning2k - 10 hours ago

I've never understood feature flags. How are they fundamentally different to a Boolean in a database?

glasshug - 16 hours ago

OpenFeature was new to me, neat! Anyone have experience integrating this? https://openfeature.dev

misbau - 2 hours ago

I am a mere mortal when it comes to understanding the technicalities, but I know i find it relatively easy to use Cloudflare and all I want to say is keep up the good work.

iTokio - 11 hours ago

Feature 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.

ashvardanian - 2 hours ago

I really like the speed at which Cloudflare is executing toward becoming a critical infrastructure player with all of those new product offerings. That said, not everything needs to be serverless. Their Gen 13 hardware looks impressive, and it’s a pity you can’t rent it by the hour like AWS EC2 Metal instances.

elamje - 14 hours ago

I’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!

brachkow - 2 hours ago

Funny that my app already uses custom feature flag solution built on... Cloudlfare Workers

swyx - 14 hours ago

i 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

zuzululu - 15 hours ago

A 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

EFLKumo - 17 hours ago

Worth noticing a Vercel equivalent: https://github.com/vercel/flags

chrisss395 - 4 hours ago

I'm out of my league on this discussion, but it reminds me of the Configuration Database (CDB) used for most modern aircraft.

pm90 - 15 hours ago

More 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.

5701652400 - 9 hours ago

never 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.

OsrsNeedsf2P - 16 hours ago

Has 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

desireco42 - 2 hours ago

I love direction and features Claudflare is taking, they are really impressive. And since I use their service on several projects, I can say I am overall very happy with service.

Only thing, they are going strongly in AWS territory and not in any good way. Finding what I need and what I use has become harder as times go by. By contast, Azure (MS) even though it looks crazy complex, once you get used to it, you can find things.

ec109685 - 15 hours ago

Missing 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.

alper - 7 hours ago

Anybody and everybody could use a mature LaunchDarkly alternative.

piterrro - 9 hours ago

I would happily pay for safely-remove-old-feature-flags-from-the-code-as-a-service.

tuananh - 13 hours ago

this make perfect sense for cloudflare.

and im sure they can drive down the cost , compared to say launchdarkly

jwr - 8 hours ago

Am 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.

etothet - 13 hours ago

I 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.

jazzpush2 - 12 hours ago

This is what "Building for the future" looks like post-layoffs, huh?

Can't even ship with app-scoped tokens...

GeorgeWoff25 - 12 hours ago

I love their free tier but for playful stuff

maxdo - 15 hours ago

a flagship with no pirates, all fired due to ai.

cat-whisperer - 7 hours ago

is it similar to vercel flags?

34asjh - 3 hours ago

Fix your stupid Turnstile that blocks humans first. You are gatekeeping the whole Internet. Even Anubis works better than the Clownflare garbage.

ericand - 11 hours ago

I like the name

EGreg - 16 hours ago

If 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.

Ayush_Khati1 - 13 hours ago

[flagged]

Bolin-Weng_666 - 6 hours ago

[flagged]

throwaway613746 - 16 hours ago

Feature flags are so ridiculously simple I have never needed to outsource this to someone else.

rahadbhuiya - 8 hours ago

[dead]

qzgrid37 - 13 hours ago

[dead]