It is anticipated that by 2020, over 50 billion devices will be connected to the Internet. In other words, there will soon be too many devices generating too much data for central cloud to operate efficiently. Future demand will be immense. Bandwidth, efficiency and latency will be big challenges.
Thankfully, instead of deploying new infrastructure, we can take advantage of the ever-increasing computing capabilities of edge devices (mobile phones, PCs, tablets, game consoles, set-top-boxes, home gateways, IoT devices, etc.). Most of these devices (hereby referred to as nodes) are under-utilised except for perhaps a few hours in the day.
Edge computing is a technology architecture in which data is processed and analysed at the periphery of the network, as close to the originating source as possible. Edge cloud computing combines edge computing and cloud computing by turning nodes on the edge of the network into cloud servers; in effect, expanding the cloud footprint to include all edge nodes. The combined resources provide an expanded cloud that is orders of magnitude larger than the existing central cloud and can scale to address the explosion of IoT data. Not only this is a more scalable platform, it also eliminates the necessity for central trust and control elements.
We have an opportunity to evolve to a decentralised architecture where resources on the central cloud and edge nodes are combined to form an expanded cloud fabric. This new decentralised cloud fabric is orders of magnitude larger than the central cloud.
Here are some fundamental principles for decentralisation of cloud computing and communications. Traditional centralised networks assign pre-determined roles to every node such as base station, gateway, proxy, or remote storage. Given advances in computing and communications, we can break this paradigm. We should empower nodes to dynamically take roles that best fit the needs of the network at any given time. For instance, a game console or a NAS should be able to act as remote storage for other nodes, or a set-top-box should be able to act as a network proxy node for other nodes. This is what we call the meritocracy principle.
A second principle is distributed discovery. Discovery is the most fundamental step in communications. In a decentralised system, discovery must happen in a distributed fashion without the need for a central entity and without static elements such as presence-servers in the cloud. The extensiveness of discovery should be constrained based on scopes such as network, account or proximity.
Microservice-level communication is another principle of decentralisation. To eradicate the need for the central cloud, microservices on the nodes must be manageable remotely and communicate directly. It is also important that these services can be pushed from one node to another without the necessity for a central entity.
Additionally, there are other important principles of decentralisation. In a decentralised system, nodes should be able to communicate in clusters; hence the clustering principle. Once the nodes discover one another, they form ad-hoc clusters to communicate both within and across clusters. Nodes should also be able to collaborate and pool their resources; hence the collaboration principle.
Given that there will be a large number of nodes, it is very important that they communicate in a bootstrap fashion. Signalling and data bearer resources should only get allocated dynamically as needed, establishing what we refer to as the bootstrapping principle. The same rule applies to resource allocation for running tasks amongst the nodes. Last but not least, a decentralised system must be agnostic, meaning that nodes can communicate regardless of operating system, network or geographic location.
Edge cloud is the future of cloud computing and it can disrupt every business across all industries. In the automotive sector, autonomous cars can meet latency requirements by communicating as directly as possible with one another. Similarly, smart machines and robots communicate in a decentralised fashion to process real-time data faster and more efficiently.
There are many more potential use cases: connecting electronic gadgets directly; connecting drones; improving training in fitness centres by directly connecting training equipment and people; turning nodes such as mobile phones to sensor hubs used in agriculture and mining to collect and process data; nodes polling their resources to run decentralised applications such as blockchain and other trust-less applications. In a hyper-connected world, most applications can run more efficiently in a decentralised fashion.
The central cloud architecture has reached its maturity and edge cloud computing is the natural evolution of the cloud. Not only it will be more efficient and scalable, it will be a major step towards decentralisation and continued democratisation of Internet.