By Chetan Venkatesh
CEO & Co-founder, Macrometa Corp.
For those who closely follow the evolution of the edge, a big question to reckon with is whether the edge is the mortal enemy of the cloud or its friendly ally. Will edge architectures break the cloud free from the shackles of centralization?
Those who dabble in such intellectual explorations often the true simplicity of the “cloud-edge” dichotomy. Like two sides of the same coin, the edge and the cloud are forever opposite to each other, yet two parts of the same whole. In this post, we expose the fundamental differences between the edge and the cloud by exploring how the edge is really meant for a new type of application architecture — an event driven architecture (EDA) — while the cloud’s roots in client/server interactions will continue to prefer a request-response architecture.
Decoupling Clients & Servers
Event-based and request-based systems are polar opposites of each other. In a request-response system, the receipt of a request triggers an action; whereas in an event-driven system, the receipt of an event triggers other event-driven systems.
Fundamentally, the nature of an event is very different from the nature of a request. A typical client request says, “Please do this for me.” While, an event says, “Hello, this thing just happened.” In a request-response system, the client chooses what action to take. In an event-driven system, the client merely states that some event has already happened.
The decoupling of client and server in event-driven architecture is even more extreme than in client/server architectures because the event processors (a.k.a., the servers) have no obligation to the event generator (a.k.a., the clients). While the clients (or event generators) in an event-driven system are obligated to report events and to respond to directives, a client in a request-response system has no obligation to the server. It can either make a request or not. Servers. on the receiving end, are expected to fulfill requests.
Request Based | Event Based | |
Payload | Request Receipt | Event Receipt |
Nature of Payload | “Do this” | “This event happened” |
Obligation to fulfill | At Server | At Client |
Interpretation of payload | On Client (what request to call) | On Server (what to do about this event) |
Where does the Edge fit in?
Digital services usually instantiate in response to specific actions triggered by business-related events and situations. These events and their associated opportunities are mostly lost in a traditional request-driven model, which uses rigid hierarchies and orchestrated responses to specific requests, while ignoring everything else that is going on. This is efficient when developing simple and invariant tasks, but fails spectacularly in services that need to interact with humans and especially anticipate in advance what might be needed.
Event-driven architectures continuously monitor incoming events and store them while letting the server decide the best to respond and to which actions. This opens up the possibility of not just making real-time decisions in response to those events, but also the ability to respond differently to the same event because of the additional context that related events or conditions might provide.
Where are these events happening? Well, we know where they are not happening: they are not happening near the giant centralized datacenters we call clouds! Instead, they are happening in the real world, all around us—in our homes, offices, on the streets, in cafes, and in our cars. They are happening every time we use our smartphones, turn on an appliance, or step into a mall, a coffee shop, or a hair salon. And this is where the edge comes in to play.
By putting event-driven applications and web services at the edge, we can take advantage of the infinite streams of event data to create remarkable new digital services that don’t just record what humans and their devices are doing, but can also anticipate and predict what might happen next.
That incredible future of intelligent systems at the intersection of man-machine interfaces are not going to be built on deep learning, statistical regression, and generative adversarial networks alone. They are going to be expressed as event-driven distributed systems that run across hundreds of thousands of edge servers in each and every metropolis, town, village, and street corner. That is why the event-driven edge is possibly the most important new development in cloud computing.
Based in Palo Alto, Macrometa is a “Geo Distributed Fast Data As a Service”, for cross-region, multi-cloud and edge computing applications. The company is based in Palo Alto, California.