It’s a shiny thing, but at the cost of so much DX and optionality which is a worrying general trend with edge stuff.
What do you mean by loss of control? Cloudflare has local dev in their Wrangler tool. I'm not sure how testing/scripting is affected here since the main difference is the deployment target.
I'm on the apprehensive side, but optimistic. Let the early adopters give it a shot so the rest of us can see how worth it it is.
> As hinted above, the full Cloudflare Workers service involves a lot of technology beyond workerd itself, including additional security, deployment mechanisms, orchestration, and so much more. workerd itself is a portion of our runtime codebase, which is itself a small (albeit critical) piece of the overall Cloudflare Workers service.
The parts we did not release are the parts that would only really be useful for building your own hosting service to compete with Cloudflare. These parts would not be particularly useful to someone who merely wants to run their own code -- in fact, they'd be excessively difficult to operate for that use case. This is on par with other services, e.g. my understanding is Deno Deploy has not released this part of their code either.
KV storage, Durable Objects and Queues (Message passing). You can build complex apps using these tools.
E: and D1 and functions in Pages.
Everything being on the edge feels like the natural evolution of the current approach.
On the frontend there is a focus on more server side rendering and hydration/progressive enhancement.
On the backend there is a focused on globally replicating/distributing data for quicker access.
Edge is kind of the best of both worlds. For the SSR/hydration/progressive enhancement it's extremely fast because of much lower latency and for backend operations you can cache and/or store data at the edge so it's much quicker to access.
Abstractions over the edge like Cloudflare's products also gives you distributed computation and storage for free, which is pretty big. You don't have to care about scaling or coordination the same way you do with a monolith.
It seems likely that in 5yrs edge will be the default way to write and distribute new apps.