The Edge is clearly a hot topic. And the massive number of responses to my previous blog asking whether the Edge is killing the Cloud is ample evidence of how many differing and passionate opinions exist out there.
The Edge is important because certain workloads are best run closer to endpoints, i.e. at the Edge. Whether it be to improve the end user experience by executing logic closer to end users, or to compensate for application delays, or to address country-specific storage and processing regulations, the Edge is a new force to be reckoned with.
But after discussing the topic with a variety of companies in the ecosystem, I have come to realize there are many different kinds of Edges, even within the same functional area. Let’s take a look at driverless, smart cars:
- Your driverless, smart car will become a Device Edge because its sensor data will need to be processed locally in order to make continuous, split-second maneuvering decisions.
- All driverless cars in a region will process and upload information useful to other cars (e.g. average speed on a specific street, potholes in a neighborhood), and this information will need to be processed at the Infrastructure Edge.
- Fleet performance benchmarking across tens of thousands of cars is not time sensitive, and may be processed in a central Cloud region, e.g. AWS.
There are countless other examples of computation tasks that are best carried out at different Edges, and with IOT quickly becoming a reality, the use cases will increase.
More importantly many applications and the users of those applications will be poorly served if the apps are run in the core Cloud. These types of applications that will suffer most are those that are time sensitive, or need context to their environment, or rely on other local compute or sensor resources. These applications are best executed at the Edge of the Internet. And if we are headed for a world with hundreds or thousands of Edges, then what is the core Cloud’s purpose going forward?
Today, the Cloud tends to be treated as a virtualized data center, where servers, storage and networking can be instrumented as needed. But an application is a lot more than just compute, storage and networking. There is a large amount of state that needs to be maintained for each endpoint. Because the Cloud doesn’t natively provide mechanisms to distribute state and it doesn’t have an innate ability to take endpoint location into account, application owners are restricted to maintaining such critical information in one or a few locations.
Imagine if all state could be pulled out of a core location and placed at the Edge, and consider what that could do for applications that need to enforce various types of policies. Consider that a whole new class of security applications could be built out, each with Internet-level scale when it comes to attack vector detection and regional enforcement.
I am convinced, with the right Edge platform that exposes the right level of programmability to application owners, the “smarts” of the application (e.g. session state) will live at the Edge, while the relatively static portions (user configs, inventory databases, etc.) of an application will live in the Cloud. I believe that we are soon going to see SaaS offerings utilize the Edge as well as the Cloud. When we reach that point in time, will there really be any difference between the Edge and the Cloud?