I love that pretty much all the JS runtimes have settled on `(Request): Response`[0], but I really wish they would standardize starting the server as well. Would make writing cross-runtime services easier.
I wonder where the pattern first comes from? I think I either came across it in Express (JS) or Ring (Clojure) first but surely it was first done somewhere else.
Supabase Edge Runtime is easy to self-host (works great as a multi-threaded JS web server). We love community contributions :) Let us know if you would like to collaborate.
Wouldn't running on the edge of the internet mean running on the devices that I see when I look around my house? It feel like this serverless thing is rather serverful, unless I've overlooked the part where users are running a node somewhere.
I guess edge is just a buzzword, maybe it is like a metaphor; if you think of the internet as a sphere users reach to for content, something being on the edge means you don't have to reach that hard, it's right there on top. Or maybe it means close to the edge, close to end-user devices.
Serverless is definitely a misnomer, but it means that you don't 'own' the server your thing is running on, there are some restrictions and you can't run anything you could on an actual VPS or hardware box. So in a way the server is abstracted away. You just use resources, but those could be anywhere, running on any node of the edge network.
I feel like Edge is more acceptable; running at a PoP is close to the edge; running inside an ISP network is even closer; it's not really achievable, but running in ISP managed modems or cellular base stations is pretty much the limit of plausible Edge computing.
Serverless really should mean the client does the work, but it seems pretty equivalent to shared hosting. Dreamhost (and the shell account you used to get with an ISP!) was serverless before it was cool?
When I hear "Edge" I imagine that it keeps working if you remove the ISP (e.g. it'll still talk to with other stuff on the LAN) but it works better when the internet is available. Like bit torrent.
I'm aware that what they usually mean is significantly less interesting.
Right after CenturyLink rebranded to Lumen, but before I heard about it, I clicked a buzzword-laden link looking for people involved in "Edge Computing". I had been writing vehicle traffic controller firmware and thought "hey, I guess I'm doing edge computing--out here at the curb--maybe I should check this out."
Turns out, they meant installing modems in people's houses. Edge, it would seem, is a very versatile buzzword.
I think of it as the edge of the server side, ie the closest to the user where the service operator still controls the data. An edge function in a data center can hide information from unauthorized users. An edge function in a home would have a much harder time of pulling that off.
I can vouch for Bunny. They are a fantastic company with fantastic prices and fantastic reliability. I have used their CDNs and all of their products for more than 4-5 years now.
I was wondering how this compares to Deno Deploy. From an API point of view, it looks rather limited? They seem to have some storage offerings but it’s unclear how they connect.
> We've all been there: your app gains popularity, and suddenly, you're scrambling to add new servers.
Yeah, but the headache is usually from database, cache and other shared resource servers.
Scaling HTTP has been very easy for most applications for the last 15 years or so.
I have to confess I really don't see the appeal of edge workers in general outside of specific applications where latency is of high concern. Such applications do exist, of course, but this kind of offering is treated so generally that I feel like I'm either immune to the marketing or I'm missing something important.
[0]: https://blog.val.town/blog/the-api-we-forgot-to-name/
I think the closest thing we got is the Default fetch export https://docs.deno.com/runtime/fundamentals/http_server/#defa..., which Cloudflare Workers, Deno Deploy and Supabase Edge Functions support.
I wonder where the pattern first comes from? I think I either came across it in Express (JS) or Ring (Clojure) first but surely it was first done somewhere else.
Thats new to me, is that an attempt to standardize similar to PHP's psr-7?
They're undercutting CF Workers - requests are $0.2/million rather than $0.3/million, and CPU time costs the same.
Seems pretty good on paper. There's no free allowance like you get with Workers though.
If cost is a factor, one could plausibly put bunny behind cloudflare’s free side.
Another positive side effect would be to have paid dual redundancy then too.
Backblaze is another neighbour that plays nice with bunny.
Script edging: Never finish building applications
Ah, so my side projects in a nutshell.
Congrats on the launch! It's great to see more companies build serverless offerings on top of Deno.
I lead Supabase Edge Functions product, a similar offering built on top of Deno runtime too. We have open-sourced our runtime (https://github.com/supabase/edge-runtime), and it's self-hostable. It supports NPM, node built-ins, pluggable storage, and web sockets. We also have a built-in API for AI inference (https://supabase.com/blog/ai-inference-now-available-in-supa...)
Supabase Edge Runtime is easy to self-host (works great as a multi-threaded JS web server). We love community contributions :) Let us know if you would like to collaborate.
What’s the file size limit for wasm modules? Do you get charged for cpu while awaiting I/O? Do edge apps run before or after cdn caching?
Wouldn't running on the edge of the internet mean running on the devices that I see when I look around my house? It feel like this serverless thing is rather serverful, unless I've overlooked the part where users are running a node somewhere.
Back when the Internet of Things was a hot new idea, "edge" did indeed refer to devices like phones and fridges.
These days "edge" more commonly refers to the "edge of the cloud", i.e. still a datacenter, just not in us-east-1.
Serverless also does not mean no servers, it means no sysadmins.
I guess edge is just a buzzword, maybe it is like a metaphor; if you think of the internet as a sphere users reach to for content, something being on the edge means you don't have to reach that hard, it's right there on top. Or maybe it means close to the edge, close to end-user devices.
Serverless is definitely a misnomer, but it means that you don't 'own' the server your thing is running on, there are some restrictions and you can't run anything you could on an actual VPS or hardware box. So in a way the server is abstracted away. You just use resources, but those could be anywhere, running on any node of the edge network.
I feel like Edge is more acceptable; running at a PoP is close to the edge; running inside an ISP network is even closer; it's not really achievable, but running in ISP managed modems or cellular base stations is pretty much the limit of plausible Edge computing.
Serverless really should mean the client does the work, but it seems pretty equivalent to shared hosting. Dreamhost (and the shell account you used to get with an ISP!) was serverless before it was cool?
When I hear "Edge" I imagine that it keeps working if you remove the ISP (e.g. it'll still talk to with other stuff on the LAN) but it works better when the internet is available. Like bit torrent.
I'm aware that what they usually mean is significantly less interesting.
Right after CenturyLink rebranded to Lumen, but before I heard about it, I clicked a buzzword-laden link looking for people involved in "Edge Computing". I had been writing vehicle traffic controller firmware and thought "hey, I guess I'm doing edge computing--out here at the curb--maybe I should check this out."
Turns out, they meant installing modems in people's houses. Edge, it would seem, is a very versatile buzzword.
It's generally taken to mean "close enough to the edge that latency is negligible regardless of where your users are".
I think of it as the edge of the server side, ie the closest to the user where the service operator still controls the data. An edge function in a data center can hide information from unauthorized users. An edge function in a home would have a much harder time of pulling that off.
Edge just means running on servers near you (eg. the closest AWS AZ) rather than the other side of the world. It’s still servers in data centres.
I can vouch for Bunny. They are a fantastic company with fantastic prices and fantastic reliability. I have used their CDNs and all of their products for more than 4-5 years now.
I was wondering how this compares to Deno Deploy. From an API point of view, it looks rather limited? They seem to have some storage offerings but it’s unclear how they connect.
I guess this is the same as other offerings - Vercel Edge, Cloudflare Workers/Pages?
> We've all been there: your app gains popularity, and suddenly, you're scrambling to add new servers.
Yeah, but the headache is usually from database, cache and other shared resource servers.
Scaling HTTP has been very easy for most applications for the last 15 years or so.
I have to confess I really don't see the appeal of edge workers in general outside of specific applications where latency is of high concern. Such applications do exist, of course, but this kind of offering is treated so generally that I feel like I'm either immune to the marketing or I'm missing something important.