Introduction
Serverless and Edge Compute are two terms often thrown around loosely. Both Serverless and Edge Compute mean something a little different, and specifically used in particular contexts this can be a confusing term to just throw into a conversation.
What is Serverless
Serverless (sometimes dubbed Functions) is an application (in a web context: a request handler) that runs on a cloud. It does not matter where in the cloud your function runs. Key with Serverless is Centralized. This means the application at hand runs in a predefined datacenter owned by the Cloud Provider. Serverless doesn’t mean the function will automatically run anywhere, usually this has to do with how the backend infrastructure is set up with private and segmented network access to internal services that the Serverless application talks to.
In Serverless, ease of use and ease of deployment is the most important. Serverless lends itself well to the typical “fire-and-forget” tasks, like send your user an email after they have performed an action. You don’t need an entire application running 24/7 for this. Just fire up a task when the event occured, and if it takes a few seconds or even minutes before the task starts, no big deal. Do not expect that a Serverless app will be fast.
What is Edge Compute
Edge Compute is Serverless by default, with the additional property that the function/application runs decentralized, closest to the End-User from the cloud provider’s perspective. The diagram below should make this a little easier to understand.
This does not represent well that an Edge (request) is also a part of a Datacenter. The Datacenter closest to the End-User will handle the request. You do not control where your Edge Application runs.
Edge Compute is very much about performance. Use cases vary from streaming gameplay to anything where performance is of importance.
Summary
Serverless and Edge Compute are related to each other but not quite the same. They share principles, and in both cases you don’t worry about running, managing and configuring actual infrastructure. Thus allowing you to focus on functionality and your application.
Edge Compute is about speed and fast performance.
Serverless is about running something that happens sometimes, but not all the time.