The dilemma: Cloud computing or Edge computing?
Sensors, controllers, gateways, MQTT, AMQP… all these buzzwords welcome you to the ‘connected’ world of Internet-of-Things and its inseparable buddy, Cloud-computing! Poor sensors, at the heart of the system, have little idea of the intricate cobweb built around the measurements diligently taken by them, synonymous with the heartbeats in the living beings!
The sensors emit measurements, there are nearby ‘smart’ devices to capture and resend those to the bigger system lying in the cloud. The cloud collects the data and various services turn the data into meaningful information. This typical IoT workflow came with its own side-effects – data explosion and compute-hungry applications!
However, IoT is evolving into more mature design patterns… ‘Edge-computing’ is such a pattern that tries to perform some computation on or near the device. The advantages? Bandwidth, storage space, and computing power are saved in the cloud. It’s essentially shifting some of the ‘processing intelligence’ to the device.
Well, so far so good! Is edge-computing eliminating the role of cloud computing? No way! There are scenarios when edge computing is beneficial, and other scenarios when cloud computing is the way to go…
Typically devices send similar measurements with occasional spikes or anomalies in them. It’s a waste of resources to process similar messages ~99% of the time. In edge computing, the messages are summarized/aggregated on the device itself, or on a nearby controller, while they are in the normal range. The summary data is sent to the cloud at a less frequency but if the data shows some anomaly, it is sent immediately to the cloud. This especially helps save resources if the data is in binary form – audio, video, or images.
Real-time, on-the-field actions or notifications are another problem that edge-computing solves elegantly. Suppose you have a system for monitoring cameras that should beep an alert if there is any intrusion. This is best handled on the on-premises controller, rather than flowing the image to the cloud which then sends out a notification.
Data privacy concerns also find a solution in edge computing. Hospitals that are apprehensive about the privacy of patients’ data can benefit from a design based on edge computing.
On the other hand, Cloud computing has an upper hand when data processing needs a lot of ‘elastic’ aka auto-scaling computing power, also as a permanent home for the data. There is no alternative to cloud computing for the cold-path-data-analysis — analyze the trends for the last year, capacity planning, and forecast of the growth.
All-in-all cloud computing is a broad umbrella giving shelter to the intelligent and mechanical devices in the world of IoT… Do you agree with me?