This article is part of our series, “Four keys to developing a winning IoT service.” For more from this series, visit William Dupley.
In my previous articles, I’ve covered the business view and the functional view of developing a successful IoT service. The third step is to define the best technical architecture to implement the use case stories described in the functional view.
There are two main design domains: software and infrastructure. This article will address the infrastructure technical view.
IoT technical view: Infrastructure
The IoT infrastructure required varies significantly depending on the types of sensors and measurements, communication protocols, data volume, response time, and analytics required.
The majority of IoT use cases can be enabled using cloud-based IoT platform solutions. This approach dramatically simplifies the infrastructure design, enables easy scaling capability, and reduces the security and data analytics implementation issues.
Some other use cases such as a predictive maintenance solution that collects data from hundreds of things at rates up to 30,000 times per second, and does predictive analytics in real-time, needs to be processing data close to the speed of data collection. This type of IoT project requires edge computing as well as data consolidation.
IoT infrastructure decision categories
There are seven major infrastructure category decisions. Figure 1 identifies a sample of the technologies in each of these categories.
1. IoT devices: Sensors/actuators that collects the data from the things. Sensors can be Simple (current loop), Intelligent (Uart), or Smart (Wi-Fi accessible). Some of these devices require data acquisition systems to convert the analog data to a digital format, while some are existing SCADA systems.
2. Communication protocol: There are multiple communication protocols. The choice of protocol is dependent on the IoT device and the amount of data transferred from that device.
3. Sensor aggregation/Internet gateway: Aggregation infrastructure collects the data from the sensors using the protocol of choice, and provides the firewall security on the IoT subnetwork.
4. Event processing & real-time analytics: Performs real-time predictive analytics and alarming, and facilitates video processing. It also may perform data consolidation into a standard (e.g., OPC–UA) to give agility in analytics design. These functions are processed on an edge computing platform.
5. Event processing & at-rest analytics: Contains the server and storage requirements to perform at-rest analytics and the data presentation functions of the IoT solution. These functions may be delivered from a data center or a public cloud IoT application. Advanced services such as machine learning, process management, remote site monitoring, data correlation and supply chain integration are also performed on this infrastructure.
6. Client external communications: Defines the client facing presentation technology and includes portal, dashboard, mobile access, and external application programming interface (API) management functions.
7. Identity and access management: Security is a critical requirement in all IoT solutions. Some sensors can be hacked and provide unauthorized access to a network. In all cases, IoT data collection and sensors should be on their own virtual network, and a policy manager should be implemented at the firewall to identify unusual data activity and deny access from any sensor. It must be able to grant or deny access as per the IP address, regulatory constraints, time frames and customer consent. Data needs to be protected and encryption should also be implemented in most cases.
Smart Parking IoT example
To illustrate how IoT infrastructure varies depending on the type of IoT use case, let’s examine the infrastructure design of a smart parking IoT application.
This Smart Parking IoT project collects data from intelligent roads sensors. The data is collected every 30 minutes, and if the status changes on the sensor in between scans, the sensors send notifications immediately. A smart sensor facilitates these functions.
The data is communicated using a Lora network to an MQTT broker cloud service and is presented to a data converter application using restful API calls. The data converter application converts the restful API calls to an SQL database where the analytics and presentation applications create the mobile presentation for the client. These applications are delivered from infrastructure on a public cloud provider.
Many decisions go into choosing the correct IoT infrastructure. The use cases defined in the functional view drive where decisions need to be made, and whether edge processing is required.
IoT infrastructure is definitely not a one-size-fits-all solution.
In the next article of this series, I will discuss how to develop the implementation view.