Revving Up For Edge Computing
semiengineering.com
semiengineering.com
The client/server split has been around forever. Edge means the same thing as a client. With IOT you have more clients. Modern smartphones and ras-pi type hardware are already great at neural net inference... The future is already here.
more simply, Chick-Fil-A's post about their edge efforts really made it clear for me when the term first came out - a miniature datacenter in every store. this is definitely novel: https://medium.com/@cfatechblog/edge-computing-at-chick-fil-...
Has anyone compiled a list of concrete example use cases?
- snips.ai calls itself an 'edge' ai service because all the computation is done on your device.
- ledger cli is one small project that I consider to fall under the 'edge' umbrella, because all it's 'computation' is done on your own device, even though that's a tiny amount of computation.
- taskwarrior is another that I might call edge, because it also handles all computation, reporting, etc, on your device. There can be a server involved, but it only handles synchronization of data, i.e. federation
(it makes me think there must be a ton of interesting scenarios around applications where images/containers migrate between the core/cloud and the edge on-demand (or simply have edge replicas), and situations in which mapreduce style computation could be farmed out to edge clusters before sending aggregated results home)
To try to make it more concrete, here's a scenario:
Imagine that smartphones are able to opt-in to become part of an edge cluster which communicates over some kind of local network fabric (be that wi-fi / 5G / similar).
Now imagine that you have 2,000+ fans at a sporting event or live performance, all with their phones and many taking live recordings.
Shifting high-fidelity video/audio data from that many devices at an event back to the cloud in realtime might not be particularly feasible and/or useful for various network contention, bandwidth, and latency reasons (both client and server-side).
But if those devices were already running a containerized application to perform -- say, 3D image stitching[0], for example -- you could collect, compute and redistribute results via the cluster in near-real-time, potentially providing some pretty immersive audience experiences (3D highlights and replays and all kinds of interesting augmented reality interpolation of audience & performers).
It'd also raise questions around who owns/authorizes the on-device computation, who has permission and copyright over the data captured, and various other issues.
All very hypothetical ideas, but technically feasible. Predicting fast food order demand is much more practical challenge to begin with, no doubt :)
[0] - https://www.geekwire.com/2013/microsoft-updates-photosynth-w...
It is really hard to see much new here. 20 years ago you might put a Windows 2000 server in each restaurant... What's changed is we have better server management tools: ansible/puppet/docker/kube...
The reason we moved to the cloud was because the Internet gained massive capacity and there were economies of scale in huge datacenters.
What chick-fil-a is doing is'nt wrong, but feels more like the pendulum swinging than actually new tech.
I like the Samsung SmartThings/AWS Lambda model for internet of things applications in most respects.
What I don't appreciate is that a light switch that is powered by AWS will sometimes fail to toggle the lights or may be a bit slow depending on the internet.
So if "edge" means having the ability to move serverless or container applications away from the cloud when that makes sense, I am all for it. That is, be able to write a lambda function and run it in a box in the office or run it in the AWS cloud.
However, if "edge" means that you pay American Tower prices to rent an "edge" server right at your cell phone tower, that seems silly in so many ways -- not least that you defeat the point of mobility just by moving to another cell tower!