Most IoT solutions consist of edge devices that contain sensors or other data generators and communicate with centralized infrastructure either directly or through a local gateway.
The centralized infrastructure can be hosted either on a public cloud or private on-premises servers. The devices usually communicate with a separate data collector and not directly with a database but there are certain instances where it is not required.
Picture 1. Typical Iot Stack
Once the data is stored in the primary data store, other processes can perform analysis or visualize the stored data either in real time or in batches.
Picture 2. IoT stack example.
In the IoT Stack example picture above, the MQTT Broker and Subscriber or HTTP Flask Application act as the data collector while Data Base is the data store. HTTP Flask can also operate as an endpoint to provide real time data to untrusted applications, for example, those developed or executed by third parties outside of the data hosting organization. Meanwhile Grafana provides a platform to visualize the data and Cron is used to generate reports, invoices, etc. on predefined intervals.
To bridge data from sensors to the internet, two technologies are needed:
The role of the router is especially important in securing, managing, and steering data. Edge routers orchestrate and monitor underlying mesh networks and balance and level data quality. The privatization and security of data is also critical. There literally may be thousands of nodes serviced by a single edge router, and in a sense, it serves as an extension to the cloud.
The IoT has given way to new protocols rather than the legacy HTTP and SNMP type of messaging used for decades. IoT data needs efficient, power-aware, and low-latency protocols that can be easily steered and secured in and out of the cloud.