(The topic is covered in a series of 3 parts. Part 1 focuses on generic architecture of an IoT platform and the common building blocks. Part 2 expands on functions of these common building blocks with technical stack usually chosen to implement those. Part 3 lists down key differentiating features of an IoT platform indicating maturity or customizability of the platform)

IoT (Internet of Things) platform space has become increasingly crowded with many recently launched offerings. Microsoft recently introduced Azure Events Hub and Azure Streaming Analytics service as their IoT offering. Amazon also launched Amazon Lambda service to augment the Amazon Kinesis with a focus on IoT. There are many independent software vendors with their IoT platform offerings.

Architecture of many IoT platforms looks strikingly similar in terms of choice of technical stack and supported features. So, what are the common building blocks in these IoT platforms? What are the key differentiating factors that can make an IoT platform stand out from the crowd? The answer could be important to digital teams of companies, which want to embark their journey into IoT space for making a choice of platform.

Generic Architecture of an IoT Platform

Let’s first talk about primary responsibilities of an IoT platform. They can be simply stated as Gather, Analyze and Act. Gather refers to collecting or receiving the data from multiple products and devices. Analyze the data to come up with meaningful, actionable output. Analysis can be either real time (streaming time, when the data is being received) or can be on-demand or scheduled. Act on the analysis, like sending an alert or notification to operator or sending a command back to the device to take appropriate measure.

Generic architecture of an IoT Platform is illustrated below. It has the following components:

Generic architecture of an IoT Platform

*Admin Interface

*Device Interface

*Messaging broker

*Storage

*Streaming Analytics

*Batch/On-Demand Analytics

*Third Party Services

*Data APIs for Consumer Applications

*Reporting Services

“Gather” is implemented by device interface for gathering the data. Broker and Storage are a part of for data ingestion pipeline. “Analyze” is implemented by Streaming analytics and scheduled analytics. “Act” is implemented by other services like Reporting and Third Party Interfaces to send alerts/notifications etc. Admin interface is meant for provisioning of devices, notification/alert policy rules etc.

In next part, we will see the details of each block and technology choices for implementing those.