By definition, most IoT applications include some Cloud-based component. Many manufacturers entering the IoT space are new to Cloud development, which makes decision-making for Cloud applications, such as how and when a product will connect to the Cloud, difficult.
“How” an IoT-enabled device communicates with a Cloud application, refers to what protocol is being used. Many early IoT implementations followed a proprietary protocol, where the device manufacturer implements its own standards for communication. Recently, companies have become aware that a standard protocol is needed for IoT communications to be successful. Some have started providing third party, end-to-end solutions with platforms to develop and host applications.
“When” an IoT device connects to the Cloud, refers to the frequency of data exchange with the application. Devices that are always on (connected to a power supply) can easily stay linked to the cloud. This improves the ability to be “near real time” when communicating with the Cloud application. Battery-powered devices often only connect to the internet and send data periodically in order to conserve battery life. In this case there is a delay, as the device has to re-establish its connection to the wireless router and then to the Cloud server. Battery-powered devices should also consider implementing a “heart-beat,” so that the device can connect to the Cloud periodically without an event to trigger it. This allows the application to know the device is still online and has power or battery-life remaining for when an event does occur.