You should consider Cloudflare workers

21 September, 2025

I’ve been using Cloudflare for DNS since time immemorial (well, 2017 or so), but for the longest time I didn’t give much thought to their ever-expanding range of other services. Over the past few months I’ve been tinkering a lot with the Workers platform — both at work and in my spare time — and felt compelled to sing its praises.

Use cases

Cloudflare is obviously not the only serverless provider out there: AWS has Lambda, Google has Cloud Functions, etc. They give you a ton of flexibility with deep hooks into their ecosystems – stream events for a queue, trigger database updates, or whatever else your particular unholy service abomination calls for.
Then there are the frontend-first platforms like Vercel and Netlify, which blur the lines between hosting and serverless by bundling together deployment, scaling, and edge execution.

But what if you just want to run a timed script? Host a simple API? Serve some static files?
All this can certainly be done in AWS, but I guarantee it won’t be as straightforward, frictionless, or cheap as using Cloudflare Workers (or Pages for static hosting, which is just as painless).

Value proposal

Cloudflare does not have the deep, plug-into-everything model of AWS or GCP, but it covers a huge amount of ground without burying you in boilerplate. The rather impressive toolbox of ready-to-use service bindings includes, among other things:

Developer UX

Wrangler CLI is excellent. A capable adult can spin up a “hello world” and have it deployed and accessible on the interent in minutes. The defaults are sensible, and you don’t need to produce a gazillion lines of YAML before you’ve even written a single line of code (either for the infra, or whatever serverless framework you may have the displeasure of using).

Local development is equally as smooth. Miniflare is bundled with Wrangler, and runs your Workers locally while also emulating the necessary services the code depends on. The overall flow is refreshingly simple: you write some code, run it locally, push it out globally, done.

For an example project, I recently rewrote a small personal project to run in Workers.

Pricing

The pricing is almost comically straightforward compared to most IaaS platforms. The free tier is useful and in many cases more than enough, but if you outgrow it, the paid plan is five bucks a month. Try setting up Cloudfront with a custom domain name routing to an S3 bucket or Lamba for five bucks – you will not succeed.

There are obviously limits in the paid plan as well, but in my opinion they are straightforward and very generous.

Issues and negatives

First thing that comes to mind is language support. The choice is basically TypeScript, JavaScript, and to a limited extent Python (unless you want to juggle WebAssembly). Then there’s performance: CPU and execution time are capped (especially strict on the free tier), so heavy number crunching is not going to fly.

Another big thing is the platform ecosystem. I mentioned the impressive suite of tools before, but admittedly they are nowhere near as mature as what the large IaaS players like AWS or GCP provide. Debugging can also be a little sparse: logs are serviceable, but without extra tooling the observability is not great.

At the end of the day, these limitations are mostly by design. Workers are meant to run lightweight workloads at the edge, and that’s something you have to account for when developing on the platform.

Final thoughts

While this post has been mostly “glazing” Workers, as the kids say, I want to emphasise that I’m not getting paid by Cloudflare — I just genuinely like the platform.
The developer UX is impeccable, and compared to AWS or the triangle company, it’s also ridiculously cheap. It won’t work for every use case, being more akin to a razor blade than a Swiss Army knife, but you should at least consider using it, because it’s great!