In the last two decades, the rapid development of IoT has made numerous applications available in our daily lives. One of the crucial elements when planning for an IoT (Internet of Things) deployment for collecting data and conducting analysis is where you want the storage and computation to happen. There are generally two options available: cloud or edge. Cloud delivers computation over the internet, eliminating the need for users to own computing infrastructure themselves. Edge computing means the processing operations are carried out locally on the device or system.
With the proliferation of cloud infrastructure, it appears to have all the data uploaded to a cloud such as AWS or Azure to be the de-facto option. On the other hand, we also see an increase in the number of projects that adopt edge computing for data protection and other purposes. This article provides some of the primary criteria to help you understand which one to choose based on the underlying requirements of your IoT use case.
Is there Internet available or not?
Internet access tops all other criteria when selecting computing architectures. For environments with limited or no Internet access, edge computing is obviously the only option. Windmills deployed in remote areas or dated manufacturing facilities without internet connectivity belong to the case where computing power needs to be available at the gateways or on the device itself. Cloud computing comes into play when bandwidth and budget are beyond question, or data processing does not have to be responsive.
How sensitive is data that will be processed?
The sensitivity of the data you plan to collect also determines which architecture you should go for, as data breaches remain the top vulnerability system administrators are wary of. Generally, edge computing is advantageous to cloud computing in terms of data exposure. Storing all the data on a centralized cloud platform is subject to different levels of risks, ranging from hacking to unauthorized visits by cloud service providers.
How big is the data size, and will it increase in time?
Go for the cloud if your application needs to routinely collect vast amounts of data for analytics. Cloud services are offered through a pay-as-you-use fee model, making them more scalable while less costly than edge computing. Edge, on the other hand, is constrained by the hardware specifications of the device you’ve purchased. For example, healthcare monitoring devices that collect many users’ vital signs data for well-being analysis tend to store and process their data in the cloud.
How quickly does the IoT system need to respond?
If your IoT use case demands real-time processing and notification of the results, choose edge over cloud computing. Although the speed of the internet has increased dramatically, there are still factors that could either delay the cloud processing speed or even not return any computational results, if the cloud server is under maintenance, for example. Hence, edge computing is preferable for applications that require immediate attention, such as fall detection for the elderly or fire detection inside a house.
Is the algorithm of the IoT system simple and readily available for deployment, or is there still a lot of work to be done?
Suppose the processing is straightforward enough to be done by the device itself without needing additional data to perfect its algorithmic functions further. In that case, you should go for edge computing. Applications that don’t involve complicated processing, such as monitoring the ambient temperature and determining whether it has exceeded a certain threshold, are suitable for that. On the other hand, if the algorithm is either complex, or is still in the process of refining, developing, or even in the initial phase of contemplating what the collected data can be used for, then cloud would be the better option. The reason is that it offers a centralized yet flexible way for experimenting with all sorts of data processing methods, such as machine learning, which then can be applied to analyzing the data set and improving the algorithm in a positive feedback loop.
Another advantage of the cloud is its centralized update function if there are any issues with the algorithm. As data are uploaded and processed through it, you can modify the core algorithm and release an update via OTA (over-the-air) to fix the problem. This architecture design saves you the effort of dispatching personnel or recalling all the devices to perform a software update, which often happens with the pure edge computing model.
The hybrid use of both cloud and edge computing
We have explained the criteria for choosing cloud or edge computing in the above paragraphs. However, in reality, this selection doesn’t necessarily need to be a binary one – we can have a complementary model of having them perform data storage and processing at different parts of the IoT system’s workflow to suit your use cases.
The self-driving car is an excellent example of combining both computing architectures. A moving vehicle demands quick reactions, and there’s little-to-no tolerance to latencies caused by processing, thus requiring edge computing through in-vehicle computing. Numerous sensors are fitted to collect and feed data to the in-vehicle computer, delivering real-time processing and keeping the car responsive to any situation. On the other hand, cars need to stay connected to receive critical software updates or upload data to the cloud to improve their algorithms. The dashcam also serves as an excellent illustration. Only the specific part of the footage, usually when a collision happens, would be uploaded to the cloud storage. At the same time, most of the video data is kept locally and deleted to make space for new recordings.
Prior experiences told us that deploying cloud and edge computing solutions is not about choosing the good from the bad but what better fits your purposes. Hybrid use of cloud and edge computing delivers the advantages of both sides delivering high performance for most businesses.
Examples of cloud computing
IoT Agriculture Evaluation kit
Featuring multiple sensors to detect temperature, humidity, light, and conductivity changes in soil or water, the IoT Agriculture Evaluation kit is a total solution designed to streamline smart farming tasks. A package of automated irrigation, plant/ stock monitoring, and data collection in one place. Further integration with cloud computing makes online storage and further analysis convenient, a great example of how cloud computing could impact IoT applications.
Home Power Monitoring System
Industrial Energy Monitoring System is a total solution for monitoring power consumption with current transformers at industrial settings such as a factory. It measures the power consumption across all devices on a given circuit which helps visualize and detect anomalies with a dashboard built on the cloud. Unlike conventional clamp meters, cloud computing enables data to be collected, stored, and analyzed later, through which predictive maintenance is much easier.
Examples of edge computing
3D Depth Sensing Camera
The intelligent camera module integrates multiple vision recognition algorithms, ideal to be used to sense the human body or recognize objects, colors, shapes, signs, and symbols. With all the vision algorithms built within the system, the processing is carried out locally without networks, also free of worries about privacy issues. With image and motion recognition out of the box, it is widely applicable – it is commonly used in toys, educational kits, maker products, and more applications. We have seen successful cases in industrial automation, such as robots in workplaces and AGV for warehousing.
RedEye Visible Spectrophotometer for Clinical Use
RedEye 1 Plus is a spectrophotometer offering quick and easy inspection of common illnesses within 10 seconds without taking blood tests at the clinic. By capturing radiations with wavelengths between 500 nm and 600 nm, this FDA class-1 medical device can detect the number of pollutants absorbed in the blood, indicating illnesses. For this case, edge computing again comes into play, processing blood data and delivering test results almost in real-time.