Remix.run Logo
Cloudflare Flagship(developers.cloudflare.com)
154 points by tjek 7 hours ago | 75 comments
iTokio 8 minutes ago | parent | next [-]

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.

LaurensBER 2 minutes ago | parent [-]

There's an argument to be made for being able to turn on a feature for a certain segment (e.g low revenue users in Italy) so you can see what the business/performance impact is.

Ofcourse you don't want users to lose the feature once they exceeded your revenue threshold or cross the border so you'll need to implement some kind of tracking. Your analytics and error tracking also needs to communicate with the feature flag service.

Definitely not rocket science but more complex than a environment variable.

crabmusket 5 hours ago | parent | prev | next [-]

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.

jjcm 3 hours ago | parent | next [-]

Jane Wong salivating reading this

OptionOfT 5 hours ago | parent | prev | next [-]

Let's think about it. This is probably something used internally at CloudFlare and someone thought I'd be interesting to make it public.

There is no way 6 months ago someone at CloudFlare thought it was a good idea to build a competitor to say LaunchDarkly.

jasonjmcghee 4 hours ago | parent | next [-]

Hmm not sure I necessarily agree. Cloudflare's strategy has been looking like "the only platform you need" for a while now.

Their recent features / announcements have been equivalent to:

(LaunchDarkly)

Resend, Firecrawl, CrewAI, Helicone, Replicate, Pinecone

-

Which like… many companies have a painful procurement process. If all you need is Cloudflare, and prices are within reason- why not use them

gowthamgts12 2 hours ago | parent | next [-]

Their quality of the products they ship have already became shitty for quite a while now.

stingraycharles 2 hours ago | parent | prev [-]

Don’t forget they now also have an OpenRouter alternative.

bg24 4 hours ago | parent | prev | next [-]

Both Cloudflare and Vercel have feature parity. Flags is a feature already in Vercel. While customer-first is a thing, it is also a no-brainer to start with: we use it, Vercel has it, let us build it.

roerohan 2 hours ago | parent | prev | next [-]

https://blog.cloudflare.com/flagship

Here's why we built it!

Hamuko 2 hours ago | parent | next [-]

>Agentic coding tools like OpenCode and Claude Code are shipping entire features in minutes.

How many minutes do I need to wait until app-scoped tokens are live?

an hour ago | parent | prev [-]
[deleted]
wahnfrieden 4 hours ago | parent | prev [-]

Care to share why

roerohan 2 hours ago | parent | prev [-]

Hi! One of the engineers from the Flagship team here, app-scoped tokens are WIP.

stingraycharles 2 hours ago | parent | next [-]

That sounds like the product is not finished and should not be released?

ai_fry_ur_brain 2 hours ago | parent [-]

This has been the Cloudflare standard operating procedure for the last year or so. Non stop shipping alpha/beta products.

rustystump 9 minutes ago | parent [-]

Otherwise known as vibe code snacking. Vibe out the easy 80% and say the hard 20% is “coming soon tm”

yuretz 2 hours ago | parent | prev | next [-]

Is it perhaps available behind a flag somewhere?

Craighead 2 hours ago | parent | prev [-]

Then it's not finished?

btown 4 hours ago | parent | prev | next [-]

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!

rustystump 8 minutes ago | parent | next [-]

Could you be more specific?

swyx an hour 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?

chrisweekly 2 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...

Ayush_Khati1 2 hours ago | parent | prev [-]

[flagged]

tiffanyh 5 hours ago | parent | prev | next [-]

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

7thpower 5 hours ago | parent [-]

Yes, this! I am dying for need of zerotrust enterprise features and am about to have to actually talk to one of the enterprise sales folks, which will chew up a bunch of time and add stress I’d rather avoid.

tiffanyh 4 hours ago | parent [-]

I don’t think zero trust will be anytime soon, based on this post:

https://community.cloudflare.com/t/making-enterprise-product...

elamje 3 hours ago | parent | prev | next [-]

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!

w-ll 3 hours ago | parent [-]

you use a 3rd party for feature flags? im not "roll my own" for everything but feature flags have not been an issue to roll

willsmith72 2 hours ago | parent [-]

There's feature flags then there's staged rollouts gated by multiple variables with statistical analysis

aetherspawn 6 hours ago | parent | prev | next [-]

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.

corvad 5 hours ago | parent | next [-]

Their products are cool and I've been happy with them over the years, but their blog right now has had some blunders recently. Also their reliability seems to have been having trouble but does seem better recently.

atsaloli 6 hours ago | parent | prev | next [-]

Yes! I just opened a support case today asking for more fine grained permissions.

willsmith72 2 hours ago | parent | prev | next [-]

Yep I made the switch a couple of years ago for all of my projects and never looked back. Workers, D1, R2, queues, containers, KV

Still using AWS for email sending so that will be great when it comes

corvad 2 hours ago | parent | next [-]

It already came if you use workers I believe, still in beta though. I would love to switch to it but I still need the SMTP interface though. https://developers.cloudflare.com/email-service/

willsmith72 2 hours ago | parent [-]

wow thanks. I saw the initial announcement when it was still in private beta, but have been less online lately and missed the public launch. Awesome!!

h4ch1 2 hours ago | parent | prev [-]

E-mail sending is in beta afaik, you need the Workers paid plan to use it.

willsmith72 2 hours ago | parent [-]

thank you!! missed the public launch

pupppet 5 hours ago | parent | prev | next [-]

After years of AWS I gave Cloudflare a whirl and loved the UX but ultimately retreated back due to the same concern. They are so close though..

wilj 5 hours ago | parent | prev | next [-]

This is exactly what stops me from using them for real work. I love their free tier for my hobby stuff.

wahnfrieden 4 hours ago | parent | prev | next [-]

Will never use them without prepayment or spending limit options. Insane to be a bug, attack, or misclick away from 6-7 digit invoice

behindsight 3 hours ago | parent | next [-]

the CTO of Cloudflare (hn: dknecht) said:

> It is in the works. The billing team has been sprinting to fix a lot of debt in this area. I don’t have a date.

https://x.com/dok2001/status/2051220429973389622

weird-eye-issue 3 hours ago | parent | prev [-]

Their pricing is not ridiculous like some providers. It would be very hard to rack up that kind of bill, especially considering their rate limiting rules are now free to use.

teaearlgraycold 5 hours ago | parent | prev [-]

Just let everyone have access to prod?

toomuchtodo 5 hours ago | parent | next [-]

Poor access and change management governance.

corvad 5 hours ago | parent | prev | next [-]

One account gets compromised and your doomed. A lot of companies even have prod access be a request based system. Most modern security models with zero trust don't let everyone have access to everything, quite the opposite.

greenchair 5 hours ago | parent | prev [-]

hooboy that was a good one!

glasshug 5 hours ago | parent | prev | next [-]

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

Atotalnoob 5 hours ago | parent [-]

It’s pretty useful. We used it at a previous company. We built a custom backend, but used the spec and SDKs.

It took like 2 weeks to build a full custom backend. SDKs across languages worked flawlessly (okay, we did find one bug, reported it, and it was fixed within the day)

swyx 3 hours ago | parent | prev | next [-]

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

ericand 19 minutes ago | parent | prev | next [-]

I like the name

pm90 5 hours ago | parent | prev | next [-]

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.

isodev 4 hours ago | parent [-]

Cloudflare oss?

zuzululu 4 hours ago | parent | prev | next [-]

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

OsrsNeedsf2P 5 hours ago | parent | prev | next [-]

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

dboreham 5 hours ago | parent [-]

It's literally a field in your database. I could never fathom why this needs to be an outsourced service never mind an entire company.

youngprogrammer 5 hours ago | parent | next [-]

It can get complicated quickly if you're actually using it in a production system. At my prev enterprise saas company we had feature flags that could be turned on per customer / per environment (dev, staging, prod) with permission + logging model such that our support team could also toggle flags with history of who turned on what. We also had "per user" feature flags for certain test users at companies and had DSL rules to evaluate the features

strix_varius 3 hours ago | parent | prev | next [-]

Booleans as a Service

tuananh 2 hours ago | parent | prev | next [-]

when started, yes. but then you want segment (how you segment your user), rollout strategy, etc.. it will get complicated fast

OccamsMirror 4 hours ago | parent | prev [-]

Thank you! I've never understood why this needs to be an external dependency with network requests.

NicoJuicy 3 hours ago | parent [-]

Deploy to master ( microservices)

EFLKumo 6 hours ago | parent | prev | next [-]

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

fastball 5 hours ago | parent [-]

That is actually their SDK / provider agnostic library. The better parallel to this new Cloudflare offering is Vercel Flags[1] (confusing I know)

[1] https://vercel.com/docs/flags/vercel-flags

swyx 3 hours ago | parent [-]

only 2 hard problems in computer science...

ec109685 4 hours ago | parent | prev | next [-]

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.

GeorgeWoff25 an hour ago | parent | prev | next [-]

I love their free tier but for playful stuff

etothet 2 hours ago | parent | prev | next [-]

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.

tuananh 2 hours ago | parent | prev | next [-]

this make perfect sense for cloudflare.

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

jazzpush2 an hour ago | parent | prev | next [-]

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

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

maxdo 4 hours ago | parent | prev | next [-]

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

EGreg 6 hours ago | parent | prev | next [-]

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 2 hours ago | parent | prev | next [-]

[flagged]

throwaway613746 5 hours ago | parent | prev | next [-]

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

odie5533 2 hours ago | parent [-]

Do your running services receive streaming updates when Flags are toggled? Is your rule-engine evaluated locally?

qzgrid37 2 hours ago | parent | prev [-]

[dead]