The Internet of Things (IoT) is, obviously, heavily reliant upon cloud computing services typically delivered from connected datacenters to provide the intelligence and analytics needed for the spiralling number of devices out there.
The problem with cloud computing
The problem with cloud computing, some analysts and commentators will argue, is that it is centralized, weighty and almost monolithic in some senses. Its very presence in a datacenter means that a communications stream will always need to be established and so the Input/Output factor (or, more accurately, the upload/download factor) will always need to be accommodated for.
The inherent latency that this ‘transport’ requirement demands leads us very often to talk about latency… and latency is never good for data exchange, especially in environments where we increasingly move to what we like to call ‘real time’ computing.
Close to the edge
This need for proximity and power has given rise to the term ‘edge’ computing i.e. putting the compute power source (and data storage prowess and network intelligence and so on) closer to the device where it is needed.
According to Chris Raphael writing on Quora, “Edge computing refers to data processing power at the edge of a network instead of holding that processing power in a cloud or a central data warehouse. There are several examples where it’s advantageous to do so. For example, in industrial Internet of Things applications such as power production, smart traffic lights, or manufacturing… the edge devices capture streaming data that can be used to prevent a part from failing, reroute traffic, optimize production, and prevent product defects.”
Going one further than edge computing then while still retaining a close family relationship with cloud is so-called fog computing.
The very term fog computing was coined by Cisco to denote cloud computing power closer to the physical place where the data is being generated and acted upon. So it’s not edge computing in the sense that edge is not necessarily cloud… and fog is smaller thinner version of cloud (in the real world… and in technology terms), hence the name.
So far we can see that fog computing even has its own working group, the OpenFog Consortium.
According to the consortium itself, “The growth in IoT is explosive, impressive – and unsustainable under current architectural approaches. Many IoT deployments face challenges related to latency, network bandwidth, reliability and security, which cannot be addressed in cloud-only models. Fog computing adds a hierarchy of elements between the cloud and endpoint devices, and between devices and gateways, to meet these challenges in a high performance, open and interoperable way.”
Hype and more hyperbole? Perhaps… but fog is a term that we need to at least include in our technical vocabulary now it seems.