I love the idea of Workers! The catch I ran into last year was the 1MB limit for webpacked JS files. That puts many npm packages off limits -- I ended up doing some webpack magic to stub out subdependencies I didn't need from a package that didn't support tree shaking, which is pretty far from "just works."<p>Here's a good thread where the problem package was a SOAP library depending on "request," but the same logic is easy to run into with any app: <a href="https://community.cloudflare.com/t/worker-size-limit-a-problem/24849" rel="nofollow">https://community.cloudflare.com/t/worker-size-limit-a-probl...</a><p>The upshot is if you have an idea that would be easy with dependencies, you can't reason about how difficult/possible it will be with Workers until you spend some time figuring out if the dependencies can be compressed small enough to use -- and the answer may change partway through if you need to add something.
We tried using a worker for a bit, and while it's mostly very convenient, the request/response cache API does NOT support Vary headers, which was a major dealbreaker for us.
It seems all the CDN are having their own Edge WASM / Worker Engine out. StackPath, Fastly, Cloudflare, and I am sure there are more to come.<p>But wouldn't very single one of these be a lock in that I cant really move freely in and out, unlike CDN.
I've been playing around with it for a project, and still need to experiment a bit more but the KV store integration might just work nicely for sessions (no strong consistency, but it seems to have it for the same session so ).<p>It has many usecases like validating a JWT, authorization for DB calls, cache layer, transforming assets, scrapping, etc. Basically the usecases where you'd normally launch a full server and be like "I need a full server for that?".
Workers is pretty cool. I've work with the Worker team and Queue-It to get the later's SDK working there. Which has been wonderful to handle traffic at the edge.<p>Two things I wish were better: package installation (you have to use a compiled package instead of the GUI interface) and general docs (Mozilla's are okay, but not all are applicable to Workers).