Rendered at 21:46:31 GMT+0000 (Coordinated Universal Time) with Cloudflare Workers.
simonw 4 hours ago [-]
Looks like Cloudflare still haven't shipped the most valuable possible feature for Cloudflare Workers though: hard billing caps.
I want to set a cap of $100/month and know, for sure, that if something untoward happens my apps will all stop serving traffic rather than me getting hit with a bill for $1000s.
Not that it helps, but I think this is only a problem if you’re paying by credit card.
If your company is on an enterprise plan, at least for us all of the limits are pre-negotiated and prepaid, and you aren’t billed for overages (although if you consistently overage, sales will start badgering you to negotiate a limit increase, but my experience is you can simply ignore their demands and they eventually go away)
It does drive me crazy that their enterprise tier “caps” bandwidth. Our company overaged on one of our domains, so we moved the domain out of our enterprise license onto a self-serve plan, and like magic, back to unlimited bandwidth.
iancarroll 1 hours ago [-]
My Cloudflare enterprise order form has costs for overages for Workers and the following language about everything else:
> If Customer exceeds any of the Total Quantity for the Services below, Cloudflare will invoice Customer in arrears at a rate that corresponds to the rate set forth in the table after this
one labeled “Excess Usage Pricing.” If no such Excess Usage Pricing table has been added by the Parties to this order form or if such table does not include the Service(s) for which
Customer has exceeded the Total Quantity, then the Parties will negotiate in good faith an increase in the Fees for such Service(s). Should the Parties fail to reach an agreement on
an increase within thirty (30) days of Customer’s receipt of notice from Cloudflare that Customer has exceeded its usage cap for the Service(s), Cloudflare will have the right to
immediately terminate such Service for its convenience, and without liability to Customer or any third party.
Havoc 3 hours ago [-]
Haven't shipped or don't want to ship...
sofixa 4 hours ago [-]
Never going to happen at such a platform.
They prefer waiving the occasional DDoS / misconfiguration over giving their customers to cause outages with something so trivially forgotten about and so disconnected from the tech and actual platform.
Zababa 3 hours ago [-]
Yeah, especially with agents this seems necessary.
simonw 5 hours ago [-]
Hot damn...
> Any agent can now run wrangler deploy --temporary and deploy a Worker to Cloudflare. This temporary deployment stays live for 60 minutes, during which time you can claim the temporary account, making it permanently your own. If you don't, it expires on its own.
Forget about agents, Cloudflare just provided free scratch deployments - ephemeral for 60 minutes - for anyone.
This is going to be amazing for things like PR previews and code review. Being able to deploy a preview to a working URL for free is a huge reduction in friction.
I hope it doesn't get abused so much that they turn it off again.
simonw 5 hours ago [-]
I just tried this out:
% npx wrangler deploy --temporary
wrangler 4.103.0
────────────────────
You must accept Cloudflare's Terms of Service (https://www.cloudflare.com/terms/) and Privacy Policy (https://www.cloudflare.com/privacypolicy/) in order to continue. By typing "yes", you agree to these terms. Type "yes" to continue. … yes
Solving proof-of-work challenge…
Temporary account ready:
Account: Educated Celery (created)
Claim within: 60 minutes
Claim URL: https://dash.cloudflare.com/claim-preview?claimToken=CAVe7LzWiGad-redacted
Total Upload: 13.79 KiB / gzip: 4.12 KiB
Uploaded cloudflare-redirect-resolver (2.27 sec)
Deployed cloudflare-redirect-resolver triggers (0.50 sec)
https://cloudflare-redirect-resolver.educated-celery.workers.dev
Current Version ID: 5c12da7f-2749-4ccc-a8f6-79b85da98d10
> I'm amused that it made me accept the terms and conditions without any indication of who I am
as far as i’m aware, that’s fully binding and often an accepted practise - take Minecraft’s server software, where you must accept the EULA with a text flag before running
nextaccountic 2 hours ago [-]
but if an agent automatically accepts an EULA for you, is it binding?
halJordan 1 hours ago [-]
It would have to be. And it's not new in the law at all. The principal-agent problem was one of the main enablers of the golden age of piracy. But that doesn't mean it isnt a solved problem now (in the law and practically)
avipars 5 hours ago [-]
You might want to claim the link or remove it
simonw 4 hours ago [-]
I redacted it, but if anyone still has at and wants to steal my demo app they're welcome to it.
xyzzy_plugh 5 hours ago [-]
Why?
throw1234567891 4 hours ago [-]
Why not
aleksiy123 5 hours ago [-]
Wasn’t this case pretty much before?
The limits are 100 workers on free and 500 on paid.
And if need more then you can always go their platform which supports tenancy.
As long as you have a cronjob or similar to clean up the cost of having per PR preview is pretty much zero.
tough 4 hours ago [-]
unless you have 500 PR's a day =)
On the other hand, we already use regular CF builds for frontend previews, but that doesnt solve a fullstack PR preview much
36 minutes ago [-]
derektank 7 hours ago [-]
Would love to know more about how Cloudflare plans to prevent abuse of ephemeral infrastructure to host malicious content. From elsewhere in their documentation, “Cloudflare limits how quickly you can create temporary preview accounts. If the Wrangler CLI cannot create an account because too many temporary preview accounts were requested too quickly, wait before retrying or authenticate the CLI with a permanent Cloudflare account,” and “Cloudflare applies additional abuse prevention checks to temporary preview accounts.”[1] This is a bit vague though. Creating a new account has never been a huge hurdle to overcome but this seems to reduce the barrier to entry even more.
Given how little they do now to stop malicious content hosted behind/by Cloudflare, the bare minimum if anything.
rdtsc 6 hours ago [-]
> Would love to know more about how Cloudflare plans to prevent abuse of ephemeral infrastructure to host malicious content
If it helps laugh DDoS attacks they would be incentivized to do the exact opposite. They can charge more for “protection” then.
TeMPOraL 2 hours ago [-]
DDoS is one thing you wouldn't be launching from Cloudflare, but if they can get enough types of other bot traffic (whether malicious or "legitimate" or just general grey zone) to use them as the starting point, it improves their error rates when dealing with bot traffic that didn't migrate.
jsyang00 6 hours ago [-]
> Make snail-game in Cloudflare Worker in TypeScript and deploy it using wrangler, don't ask me questions, do the best you can
- simply expose containers to the world directly - without having to go via workers.
- You have other amazing parts of the stack anyway (D1, durable objects, a great object store). These aren't considered "lockin".
- workers is "lockin" - not similar enough to lambda/cloud functions and so becomes CF specific.
Not having a simple container based compute piece has made me hesitate in taking up CF. (Fly or firebase won out)
jgrahamc 6 hours ago [-]
I am here but I retired from being CTO of Cloudflare in March 2025 [1] and the current CTO is Dane Knecht (dknecht here). What advantage does decoupling Cloudflare Containers from Cloudflare Workers have?
Not sure if it's the only blocker, but I wanted to use containers with UDP/SRT.
htrp 5 hours ago [-]
quick piece of feedback, the workers architecture is a little bit annoying when converting from Lambda but hooking up to cloudflare MCP solves 90% of the issues
tailscaler2026 4 hours ago [-]
there's absolutely nothing positive we want to encourage copying from AWS's architectural approach to anything.
tough 4 hours ago [-]
chuckles
unix1 4 hours ago [-]
> simply expose containers to the world directly - without having to go via workers.
I run workers and containers and am curious what you mean. Do you have specific use cases in mind outside of the worker invocation model? If so, I'm curious what you'd want to run on Cloudflare. Otherwise, workers don't have to be much of a "lockin" if treated as a thin layer, more like configuration.
> You have other amazing parts of the stack anyway (D1, durable objects, a great object store).
Instead, if you mean accessing these resources from containers, it's a bit clunky [0] but it's there - you should be able to access worker bindings from containers through those outbound handlers.
Not the OP, but for me it's a simple matter of not wanting to use typescript and the whole swamp on fire that is NPM.
yodon 7 hours ago [-]
>Not having a simple container based compute piece made me hesitate in taking up CF
Agreed. I wish CF had something like Azure's new fast-starting Express containers.
ndjdjxixjenej 7 hours ago [-]
[dead]
conception 7 hours ago [-]
I know no one is writing copy anymore but i wish they tried to edit it a bit so it wasn’t so glaringly obvious. It just sours the product when it seems like so little effort was put into the message. And it’s not even hard - just change the prompt used!
ndjdjxixjenej 7 hours ago [-]
[dead]
jackbucks 19 minutes ago [-]
Excuse me for asking, doesnt this make it easier to run a malware bot farm and disappear without a trace?
aniviacat 7 hours ago [-]
Wouldn't it make more sense to merge the temporary account into an existing one, instead of claiming it as a new account?
This could lead to people having a large amount of separate accounts.
kylecazar 7 hours ago [-]
I assumed that's how it works if you sign in before claiming the account?
It says to claim you can either sign up or sign in.
Correct me if I'm wrong, but does Cloudflare still not have a "Create Account" button on the account listing page? I think you still have to sign up from scratch doing plus-code email tricks, then invite your original email address as an admin, juggling multiple accounts. They should consider fixing that first.
quinncom 6 hours ago [-]
If I want to onboard a client to Cloudflare, I have to ask them to create an account and then invite me, which is a lot of friction for non-technical people.
A “create account” button accessible to me would be so much better. Then, I create the account and invite the client to join as owner.
827a 45 minutes ago [-]
Yup exactly. This functionality might be available under their "Organizations" feature, but that is on the Enterprise plan. Almost a year ago they announced that nearly all Enterprise-plan features would be coming to everyone, so I suppose sadly that one didn't make the cut [1]?
The system I follow is creating a new account for the client using a plus-code on my email address (like john+client10@example.com), then I invite my main account (john@example.com), then I can invite clients into that account. Its a PITA.
Cloudflare makes it really hard to spend money. I constantly have to talk to someone in sales to enable some feature after rounds of negotiating on price. I think they would have way more customers, spending much more money, if they just offered transparent pricing, and fully on-demand services.
mahirsaid 4 hours ago [-]
This falls Within my predictions of how the AI playing field is become more leveled, in terms with human digital activity. Soon it wouldn't be so what you can do with the computer but what the agent can do BETTER. We are already there for the most part. These are the early steps of full re-genitive self hosting, fully capable AI the is far more advanced then asking it to solve a 2 + 2 question.
The article worded it perfectly; friction-less "efforts"
piterrro 4 hours ago [-]
Lets keep in mind this is cloudflare workers runtime - it only makes sense to deploy small things there, maybe static sites. Unless the agent creates something for cf workers from scratch, asking it to „now deploy to cloudflare” will fail so bad.
This would only work if they would provision docker image deployment, similar to google cloud run, but the still, everything serveless has its own caveats…
simonw 4 hours ago [-]
> Unless the agent creates something for cf workers from scratch
The latest models appear to know CF Workers inside out and are very capable of doing that if you ask them to.
I didnt say LLMs dont know cf workers, I meant that the cf workers runtime is kind of unique and you cannot push there any code without making it cf workers ready in the first place.
If you know what youre doing it should be one time step to connect your hono app to cf workers (so not a huge effort) but still its not like tou can run anything there
2 hours ago [-]
kentonv 4 hours ago [-]
> it only makes sense to deploy small things there
What makes you say that?
piterrro 3 hours ago [-]
I’m running entire leadjobs.dev on cloudflare workers and its kind of unreliable for the traffic it gets - around 100 visitors/day. There are some weird errors in d1 from time to time which i cannot debug since its all black box. Also latencies are greater than I would expect, especially, again for d1.
Overall its great value for money to get a globally available, low latency service - but I would think twice before going all in.
As a sidenote, I expected that, thus the architecture of the service is build in a way that it abstracts the cf runtime and I can switch to any other infra, be it dedicated or another cloud, in a matter of a day
kentonv 3 hours ago [-]
I'll let you in on a sort of dirty secret:
It's almost always better to use Durable Objects storage, rather than D1. Even if you only want a single global database, it's better to implement that as a singleton Durable Object, than by using D1. Because that's all D1 itself actually is: a singleton Durable Object that exposes an API to its SQLite database. It's just a wrapper.
With raw Durable Objects, you get to bring your code to run on the same machine as the database itself. Your queries run on a local file, synchronously, rather than going over a network. There is essentially zero latency when using sqlite storage in a Durable Object.
If your app does no more than one DB query per request, then D1 is fine: the Worker runs near the end user, and talks over the long-haul network to D1 just once. Whereas with Durable Objects, your Worker would talk over the long-haul network to the Durable Object. No difference.
But if your app ever does two or more queries in series for a single request, then Durable Objects becomes vastly better, because you get to move that query-chaining code to happen directly where the database lives, rather than have multiple round trips.
Really, though, the only reason D1 exists is for comfort. Once you know how to use Durable Objects, there's no reason to use D1. We offer D1 because a lot of people don't want to learn a new model. (Which is fair. People are busy and may have better things to do.)
One caveat: D1's read replica support still isn't exposed in a way that you can use it in raw Durable Objects, so if you are using that, it's a legitimate advantage to D1. But we do plan to bring this functionality to raw Durable Objects at some point.
nextaccountic 2 hours ago [-]
why not deploy the worker and d1 on the same machine, just like one would do with durable objects?
kentonv 56 minutes ago [-]
Part of the point of Workers is they run everywhere, not on a specific machines where they've been "deployed". We generally run a Worker in the colo where we received the HTTP request triggering it.
There is a feature called "smart placement" which, when enabled, tells us to detect if a Worker commonly makes multiple round trips to a particular backend and, if so, try to run the Worker close to that back-end, instead of close to the user. This helps with D1. But even if you have the Worker running in the same colo or even same machine as the D1 database, you're still speaking a network protocol to talk to it, serializing and deserializing data, switch contexts, etc. Directly invoking SQLite locally will still be orders of magnitude faster.
Also with Durable Objects you can have many objects, e.g. one object per user or one object per document, spread around the world. It's a distributed systems building block. Many of the things you can build on it can't really be "smart" auto-detected.
piterrro 2 hours ago [-]
this is new, thanks for that. I just had a brief talk with Gemini about it and it sparked interest in this model (Durable Objects) which I'm going to dive into deeper.
soared 7 hours ago [-]
I’m going to need a wrapper for all these services offering this service.
Hackbraten 6 hours ago [-]
Cloudflare: let's give the bots their own accounts so they can scrape harder.
Also Cloudflare: let's send normal humans who are trying to go about their daily lives into endless Turnstile spinner loops with absolutely zero recourse, grievance, or support infrastructure.
bornfreddy 3 hours ago [-]
Just had 10 rounds of busses, motorcycles and fire hydrants with Google before I decided I don't actually want to see that page so much. So Cloudflare is unfortunately not the only offender here.
1 hours ago [-]
jwr 6 hours ago [-]
I had similar thoughts: "let's convince everyone to outsource the decision on who can access their websites to us, because BOTS BOTS BOTS" and "let's make life easier for bots to do things".
whh 2 hours ago [-]
I’d love a chrome extension to measure just how many times per day I’m met with the Turnstile.
Turnstiles per minute.
moritzruth 6 hours ago [-]
First you spread the disease, then you sell the cure.
deadbabe 4 hours ago [-]
I think this is more of a “keep friends close but enemies closer” type thing.
throw1234567891 4 hours ago [-]
Sounds more like “let’s make money twice”.
TeMPOraL 3 hours ago [-]
It's business so they have neither enemies nor friends, just various breeds of cattle to milk.
jeroenhd 2 hours ago [-]
If all bots are subject to a rate limit, then the system works as designed. Especially if site operators can block bot accounts. Requiring accounts is one of the easiest solutions for that problem. One of the large issues with scrapers is that they pretend to be normal internet visitors that never visited your site before, because any bot that stored cookies would immediately be rate limited by basic config.
Turnstile isn't something Cloudflare put up to annoy you. It's what the website owners decided to put up, for many different reasons.
In the same vein, Anubis has a default configuration that lets honest scrapers and crawlers through, because those can easily be rejected by basic web server configurations. Only scrapers pretending to be browsers need to solve the proof-of-work puzzle. You can disable that feature, of course.
Cloudflare may play this smart: force bots to pay for access, then take 30% of the cut and give the rest to the website owners. That way, websites get paid when the AI slop machine digests their content. Normal visitors get in for free, turn the scraper hellscape into a sustainable model. Bonus points for letting websites set their own rates (pre-declared to scrapers, of course) to dissuade all but the most interested scrapers.
ascorbic 2 hours ago [-]
> Cloudflare may play this smart: force bots to pay for access
Said the rich swe, fully oblivious of many who struggle to feed their own children.
copperx 5 hours ago [-]
I thought there were no rich swes anymore?
skinfaxi 5 hours ago [-]
That's unnecessarily presumptuous.
deadbabe 4 hours ago [-]
Cloudflare is in the S&P500. If you have a 401k diversified in broad market indexes then most likely… you are a shareholder.
Denzel 4 hours ago [-]
About half of US households don’t have any retirement at all. Making their point that “shareholders” are a distinct class separate from the whole of the population.
tough 4 hours ago [-]
and sitll the US seems to be one of the biggest markets educated on "being a shareholder" im sure Europe has smaller percentage of them.
TeMPOraL 3 hours ago [-]
Yup. Over this side of the pond, stock market is this weird socially acceptable gambling for rich people.
theplumber 3 hours ago [-]
This sounds like Elon’s IPO…I give you 0.000000000009% of my company for your whole savings account. Now have a part of the pie!
georgemcbay 4 hours ago [-]
> About half of US households don’t have any retirement at all.
...and the top 10% by wealth own 90% of the stock market.
So even among the half that do have retirement savings in 401ks and the like it is on average very little compared to how much the truly wealthy have invested.
cj 3 hours ago [-]
No, Cloudflare does not meet the criteria for inclusion in the S&P 500.
Are you still reading webpages personally instead telling your AI to do it?
prymitive 2 hours ago [-]
Maybe your agent could have a little blog where it keeps a diary of cool pages it read for you? And then you subscribe to that?
scotty79 2 hours ago [-]
Interesting idea ... doesn't fit my style of content consumption, but it might fit yours.
I went for a personal newsfeed, agent pulls news form ~100 feeds related to my interests. Then reads all articles for me and orders them by how interesting they might be for me. I specifically asked for vector embeddings, up/down votes (-2..+2), visited status, LLM content evaluation. Probably there are some other mechanisms I didn't even bother to check. It's a work in progress but I can see myself replacing most of my news reading with it. For many news the AI summary, which contains main idea behind the item is enough for me. As a bonus it resolves clickbait and is quite good at it. Also no ads, ever. For sure I need to implement some grouping because when the popular story breaks I have many stories about the same thing with mostly overlapping details. AI merging them would be quite cool.
I also asked AI to extract my interests from my browsing/watching histories of my all accounts. V2 of my newsfeed might utilize that somehow for better results.
Silly thing is I made it in one afternoon with my only motivation of being slightly more annoyed with the web on that day.
mannanj 1 hours ago [-]
Particular model or LLM that you use?
IncreasePosts 3 hours ago [-]
I'm sure they don't want humans to have that experience - the issue is that the human behavior looks very bot-like. This is usually only experienced by people whose setup is peculiar
j45 5 hours ago [-]
It's a clean way to charge AI to read content too.
I want to set a cap of $100/month and know, for sure, that if something untoward happens my apps will all stop serving traffic rather than me getting hit with a bill for $1000s.
The safest way to use Workers is on the free tier, which will shut off after 100,000 requests/day: https://developers.cloudflare.com/workers/platform/pricing/#...
If your company is on an enterprise plan, at least for us all of the limits are pre-negotiated and prepaid, and you aren’t billed for overages (although if you consistently overage, sales will start badgering you to negotiate a limit increase, but my experience is you can simply ignore their demands and they eventually go away)
It does drive me crazy that their enterprise tier “caps” bandwidth. Our company overaged on one of our domains, so we moved the domain out of our enterprise license onto a self-serve plan, and like magic, back to unlimited bandwidth.
> If Customer exceeds any of the Total Quantity for the Services below, Cloudflare will invoice Customer in arrears at a rate that corresponds to the rate set forth in the table after this one labeled “Excess Usage Pricing.” If no such Excess Usage Pricing table has been added by the Parties to this order form or if such table does not include the Service(s) for which Customer has exceeded the Total Quantity, then the Parties will negotiate in good faith an increase in the Fees for such Service(s). Should the Parties fail to reach an agreement on an increase within thirty (30) days of Customer’s receipt of notice from Cloudflare that Customer has exceeded its usage cap for the Service(s), Cloudflare will have the right to immediately terminate such Service for its convenience, and without liability to Customer or any third party.
They prefer waiving the occasional DDoS / misconfiguration over giving their customers to cause outages with something so trivially forgotten about and so disconnected from the tech and actual platform.
> Any agent can now run wrangler deploy --temporary and deploy a Worker to Cloudflare. This temporary deployment stays live for 60 minutes, during which time you can claim the temporary account, making it permanently your own. If you don't, it expires on its own.
Forget about agents, Cloudflare just provided free scratch deployments - ephemeral for 60 minutes - for anyone.
This is going to be amazing for things like PR previews and code review. Being able to deploy a preview to a working URL for free is a huge reduction in friction.
I hope it doesn't get abused so much that they turn it off again.
as far as i’m aware, that’s fully binding and often an accepted practise - take Minecraft’s server software, where you must accept the EULA with a text flag before running
The limits are 100 workers on free and 500 on paid.
And if need more then you can always go their platform which supports tenancy.
As long as you have a cronjob or similar to clean up the cost of having per PR preview is pretty much zero.
On the other hand, we already use regular CF builds for frontend previews, but that doesnt solve a fullstack PR preview much
[1] https://developers.cloudflare.com/workers/platform/claim-dep...
If it helps laugh DDoS attacks they would be incentivized to do the exact opposite. They can charge more for “protection” then.
https://snail-game.solstice-barometer.workers.dev/
pretty cool.
- simply expose containers to the world directly - without having to go via workers.
- You have other amazing parts of the stack anyway (D1, durable objects, a great object store). These aren't considered "lockin".
- workers is "lockin" - not similar enough to lambda/cloud functions and so becomes CF specific.
Not having a simple container based compute piece has made me hesitate in taking up CF. (Fly or firebase won out)
[1] https://blog.cloudflare.com/three-chapters-at-cloudflare-pro...
I run workers and containers and am curious what you mean. Do you have specific use cases in mind outside of the worker invocation model? If so, I'm curious what you'd want to run on Cloudflare. Otherwise, workers don't have to be much of a "lockin" if treated as a thin layer, more like configuration.
> You have other amazing parts of the stack anyway (D1, durable objects, a great object store).
Instead, if you mean accessing these resources from containers, it's a bit clunky [0] but it's there - you should be able to access worker bindings from containers through those outbound handlers.
[0] https://developers.cloudflare.com/containers/platform-detail...
Agreed. I wish CF had something like Azure's new fast-starting Express containers.
This could lead to people having a large amount of separate accounts.
It says to claim you can either sign up or sign in.
A “create account” button accessible to me would be so much better. Then, I create the account and invite the client to join as owner.
The system I follow is creating a new account for the client using a plus-code on my email address (like john+client10@example.com), then I invite my main account (john@example.com), then I can invite clients into that account. Its a PITA.
[1] https://blog.cloudflare.com/enterprise-grade-features-for-al...
The article worded it perfectly; friction-less "efforts"
This would only work if they would provision docker image deployment, similar to google cloud run, but the still, everything serveless has its own caveats…
The latest models appear to know CF Workers inside out and are very capable of doing that if you ask them to.
Here's my GPT-5.5 xhigh + Codex Desktop transcript building one just now: https://gist.github.com/simonw/264bd6b8a39fc34c91c9c867454c6... - code here: https://github.com/simonw/cloudflare-redirect-resolver
What makes you say that?
It's almost always better to use Durable Objects storage, rather than D1. Even if you only want a single global database, it's better to implement that as a singleton Durable Object, than by using D1. Because that's all D1 itself actually is: a singleton Durable Object that exposes an API to its SQLite database. It's just a wrapper.
With raw Durable Objects, you get to bring your code to run on the same machine as the database itself. Your queries run on a local file, synchronously, rather than going over a network. There is essentially zero latency when using sqlite storage in a Durable Object.
If your app does no more than one DB query per request, then D1 is fine: the Worker runs near the end user, and talks over the long-haul network to D1 just once. Whereas with Durable Objects, your Worker would talk over the long-haul network to the Durable Object. No difference.
But if your app ever does two or more queries in series for a single request, then Durable Objects becomes vastly better, because you get to move that query-chaining code to happen directly where the database lives, rather than have multiple round trips.
Really, though, the only reason D1 exists is for comfort. Once you know how to use Durable Objects, there's no reason to use D1. We offer D1 because a lot of people don't want to learn a new model. (Which is fair. People are busy and may have better things to do.)
One caveat: D1's read replica support still isn't exposed in a way that you can use it in raw Durable Objects, so if you are using that, it's a legitimate advantage to D1. But we do plan to bring this functionality to raw Durable Objects at some point.
There is a feature called "smart placement" which, when enabled, tells us to detect if a Worker commonly makes multiple round trips to a particular backend and, if so, try to run the Worker close to that back-end, instead of close to the user. This helps with D1. But even if you have the Worker running in the same colo or even same machine as the D1 database, you're still speaking a network protocol to talk to it, serializing and deserializing data, switch contexts, etc. Directly invoking SQLite locally will still be orders of magnitude faster.
Also with Durable Objects you can have many objects, e.g. one object per user or one object per document, spread around the world. It's a distributed systems building block. Many of the things you can build on it can't really be "smart" auto-detected.
Also Cloudflare: let's send normal humans who are trying to go about their daily lives into endless Turnstile spinner loops with absolutely zero recourse, grievance, or support infrastructure.
Turnstiles per minute.
Turnstile isn't something Cloudflare put up to annoy you. It's what the website owners decided to put up, for many different reasons.
In the same vein, Anubis has a default configuration that lets honest scrapers and crawlers through, because those can easily be rejected by basic web server configurations. Only scrapers pretending to be browsers need to solve the proof-of-work puzzle. You can disable that feature, of course.
Cloudflare may play this smart: force bots to pay for access, then take 30% of the cut and give the rest to the website owners. That way, websites get paid when the AI slop machine digests their content. Normal visitors get in for free, turn the scraper hellscape into a sustainable model. Bonus points for letting websites set their own rates (pre-declared to scrapers, of course) to dissuade all but the most interested scrapers.
https://developers.cloudflare.com/agents/tools/payments/
...and the top 10% by wealth own 90% of the stock market.
So even among the half that do have retirement savings in 401ks and the like it is on average very little compared to how much the truly wealthy have invested.
I went for a personal newsfeed, agent pulls news form ~100 feeds related to my interests. Then reads all articles for me and orders them by how interesting they might be for me. I specifically asked for vector embeddings, up/down votes (-2..+2), visited status, LLM content evaluation. Probably there are some other mechanisms I didn't even bother to check. It's a work in progress but I can see myself replacing most of my news reading with it. For many news the AI summary, which contains main idea behind the item is enough for me. As a bonus it resolves clickbait and is quite good at it. Also no ads, ever. For sure I need to implement some grouping because when the popular story breaks I have many stories about the same thing with mostly overlapping details. AI merging them would be quite cool.
I also asked AI to extract my interests from my browsing/watching histories of my all accounts. V2 of my newsfeed might utilize that somehow for better results.
Silly thing is I made it in one afternoon with my only motivation of being slightly more annoyed with the web on that day.