Ask someone to architect an Internet of Things (IoT) solution and you are guaranteed to see a reference to the cloud. This would lead you to believe that IoT requires the cloud to exist. However, there are many IoT use cases where the cloud is not feasible or desirable. Today’s cloud-first industry is built around the belief that anything and everything is a workload that can be processed within it. While this is mainly true for traditional enterprise data and systems, IoT brings with it unique challenges that are as diverse as the environments in which it operates. In speaking with companies in a wide range of industries I have identified several themes as to why the cloud is not essential to IoT.
In some cases, it is a matter of cost. Mobile assets in the field are often connected via cellular modems, where the volume of data transmitted to the cloud has a direct impact on operational costs. There’s also the concern of exponentially increasing storage requirements.
Due to this, companies find themselves limiting the amount of sensor data collected, reducing the effectiveness of their IoT deployments. One company I interviewed is only collecting ten percent of the data points available on their equipment for the purposes of remote diagnostics. This reduced data set significantly impacts their ability to accurately troubleshoot failure modes. Since cloud providers charge both on data transfer and storage, there is no incentive for them to offer relief to this problem.
Additionally, mobile assets often encounter low bandwidth or disconnected conditions, rendering cloud-based solutions useless. This is a common occurrence in the transportation industry where vehicles are constantly moving in and out of network coverage areas. In predictive failure use cases, missing data can mask the leading indicators to a fault. While some products offer the ability to buffer data until the connection is restored, the delayed transmission negatively affects downstream processing.
In other situations, latency is the issue. Real-time environments cannot afford the overhead it takes to transmit data to the cloud, wait for processing to occur and finally receive a response. This is especially true in manufacturing environments where the intent is to synchronize equipment on an assembly line. Whether it is safety in an industrial setting or the performance of equipment in the field, IoT deployments need a method to react faster to constantly changing operating conditions.
Thankfully, there is a better way. Strategies exist to bring local processing of data to IoT. Many times it is better to move the logic to the data than the other way around. Bringing intelligence directly to IoT devices and sensors frees them from the constraints of the cloud and enables companies to realize their business objectives by creating an architecture that is distributed, fast and cost-effective.
For example, local processing solves the cost issue by offering the ability to analyze all of the available data points, sending back only the ones required for long-term storage. Often, this will just be summary data. This provides the fidelity needed for accurate decisions while being efficient about network usage. The same concept applies to real-time environments; applying business logic to data as it is generated improves response times.
Now, despite my case against the cloud in IoT deployments, it still has its virtues, especially in terms of the computing power and flexibility needed to scale to millions of connected devices. However, it is a mistake to think that the cloud can handle all IoT scenarios. The right approach is to combine both local and cloud processing to achieve the best of both worlds. The key to IoT success is tailoring your architecture, keeping in mind the unique requirements of your business.