SLIP SLIDING AWAY TO THE EDGE
The Paradox of Smart Distributed Systems
Scroll to access the full insight
The IoT is a distributed computing challenge. Smart Systems and IoT deployments are by their very nature distributed systems. We hear lots of talk about the “cloud” as it relates to the IoT to the point that in many cases it seems like the “cloud” is being presented as the solution to all things IoT. The reality is that it is not possible, cost effective or desirable to transmit every piece of data from every IoT device to the cloud in order to gain value from that data. Smart Systems and IoT software development needs to recognize and embrace the highly distributed and innately non-hierarchical nature of the IoT and support that with a corresponding architecture.
Smart Systems and IoT solutions are not and will not be a rigidly organized, centrally planned development story. It will grow in ways that may appear unplanned and disorganized when viewed from a classic central computing vantage point – it will more resemble an organic system. Value added applications will spring to life in environments where the right resources (data) find the right nutrients (software applications that can deliver financial value). These applications will occur at all levels of the architecture, from the device to the cloud. Acceptance of this reality is essential to the effective design of software for data management, analytics and collaborative systems.
There is a rapidly growing number of players (virtually all of the IT systems players, telecom equipment and automation developers) touting edge computing along with other descriptors such as “fog computing”, “device edge” IoT gateways and similar. But what do we really mean by “edge” computing? Does anyone really have a consistent and agreed upon definition for edge computing and how does this newer term align with [or not] a new generation of distributed computing architectures?
If you believe all of the propaganda, these new “edge” things will aggregate data from various sensors, actuators and machines and transport the data to the cloud for processing or conversely, bring cloud capabilities to the device environment. The real story behind all of the pronouncements by cloud players is really only about optimizing device management to get data to cloud – just extensions of legacy client-server architectures – nothing that approaches a truly distributed system or intelligence at the edge of anything.
The real story about Smart Systems and the Internet of Things opportunity is about how all of the sensors and actuators become smart themselves and the connectivity between them (devices, for the most part, that have never been connected) will become more and more complex. As the numbers of smart devices grow, the existing client-server hierarchy and all of these “edge” or “middle world boxes” acting as gateways, hubs and interfaces will quickly start to blur. In this future, the need for any kind of client-server architecture will become superfluous; the days of hierarchical computing models are numbered.
Now, imagine a future smart systems world where sensors and devices that were once connected by twisted pair, current loops or were hardwired, become networked with all devices integrated onto one IP-based network (wired or wireless). In this new world, the “middle world boxes” don’t need traditional input/output (I/O) hardware or interfaces. They begin to look just like network computers running applications designed to interact with peer devices and carry out functions with their “herd” or “clusters” of smart sensors and devices.
We can readily imagine an application environment where there may be several “networked processors” (some embedded into equipment and some acting autonomously on a given machine) running applications which overlap sharing their sensors and actuators, some even ‘sharing’ a whole herd – a smart building, for example, where the processor in an occupancy sensor is used to turn the lights on, change the heating or cooling profile or alert security.
In this evolving architecture, the network essentially flattens until the end-point devices are merely peers and a variety of applications reside on one or more networked application processors which, for all intents and purposes, look like today’s router/modems, industrial PCs or small “headless” high availability distributed servers, but will be increasingly more powerful and able to host applications due to embedded functions. In truth, if we are to achieve truly distributed computing, we must enable the actual devices and equipment on a truly embedded level.
In a Smart Systems application world designed to capture, log and analyze large volumes of data from sensors, such as we are describing here, distributed intelligence embedded within and across diverse systems will carry out the process of taking raw data and distilling it into information “locally.” Local processing is required to reduce the otherwise untenable Internet traffic challenges that arise from connecting billions of devices. The notion that all these “things” will produce streaming data that has to be processed in some cloud will simply not work. It makes more sense structurally and economically to execute these interactions in a distributed architecture on or near the sensors and actuators where the application-context prevails.
Now if only today’s IT equipment, telecom systems developers and automation suppliers understood anything about distributed systems or true peer-to-peer architectures, they would stop trying to sell OEMs and end customers on a gateway (or any other device such as a router or modem acting as a “gateway in disguise”). This last “inch” or “foot” feels more like a mile and is reflective of how challenged today’s enterprise IT and comms developers really are with new digital and IoT technology.
Smart Systems and IoT applications require computing resources that are truly and fully distributed, both for functional and for economic impacts (i.e. eliminating the latency involved in sending and receiving data from the cloud; reducing network costs by distributing computing resources; and, leveraging AI for language processing and image recognition at the edge to enable new real-time and context-dependent interactions between people and systems, to name a few examples).
Artificial intelligence, machine learning and the Internet of Things or what we like to call Smart Systems are all in some way trying to break from today’s computing paradigms to enable real-world physical systems. But as we look around at even the latest advances, we still find an architecture with its roots in the client server model of the past. Even as the “cloud” becomes the server, a key element of the IoT is being ignored – an architecture that matches the structure of the physical world.