As we understand “IoT Platform” is an essential building block of IoT Ecosystem . A platform essentially decouples the business application from low level details of the technology stack and required services. Thus, it makes more sense to go for an off-the-shelf platform that provide all the relevant features and required flexibility, instead of developing the whole IoT stack from scratch. Selection of an IoT Platform is a key to develop a scalable and robust IoT Solution. Choice of IoT Platform is also important in reducing the solution’s time to market-readiness.
Since IoT is not a single technology but a complex mix of varying technologies, its relevance to business verticals is not uniform. Choosing a platform, that suits to specific needs or the one that suits most of the generic IoT needs, is a cumbersome task. A simple web search on Google for IoT Platforms results in more than 200 IoT Platforms, ranging from market leaders like Microsoft Azure, Amazon Web Services to open-source platform like SiteWhere & Kaa and established ones like PTC Thingworx, Bosch IoT Suite. These platforms not only vary in features and services they provide, but also in the terminology they use for similar features.
To tackle these challenges of selecting an IoT Platform, we have devised a strategic approach that compares and analyzes multiple platforms by mapping them against a Common Framework.
The Common Framework
Below image shows an IoT reference architecture and depicts a Common Framework for IoT Platform.
IoT reference architecture shows three major components:
- IoT Nodes: Devices composed of sensors and / or actuators on one part, a communication module on another. Data sensed by these devices is either utilized in computation at the edge gateways or exchanged with IoT Platform for further analysis.
- IoT Platform: Facilitates communication with devices, data-pipelining, device management, analytics and application development.
- Business and external systems: Such systems leverage IoT in business functions like SAP ERP etc. and visualization systems like Augmented Reality, Virtual Reality, Mobile, Web Browsers etc.
The Common Framework defines features of IoT Platform under following categories, each of which is further divided in factors:
Connectivity: connectivity enables easy and reliable integration of devices with platform by providing standard protocols. Connectivity can be evaluated on following factors:
- Data Ingestion - How reliable and scalable consumption of device data in the platform?
- Integration SDKs - How is the support for multiple languages, how does the platform gives more control to application developers.
- Key Protocols - does the platform supports for key protocols and ensure decoupling the business applications from underlying communication.
Device Management: Provides an easy and reliable way for operators to manage or monitor collection of devices.
Following factors impacts Device Management:
- Data Identity & Registry - The platform should have mechanism to maintain a device registry to store the Device Identity and security credentials.
- Device State Storage - Easy asynchronous update of device latest state & capabilities in device twin or shadow.
- Device Security - Authenticate connected devices using security credentials
- Remote Software Upgrade - Remote update to collection or individual IoT Node.
Analytics & Visualization: Device data analysis to gain insights for business profitability and visualizing in user friendly way.
Following analytics features are expected in the platform:
- Batch Analytics - An efficient way of processing high volumes of historical data
- Stream Processing - Analyze events and data on the fly.
- Predictive/ Preventive Maintenance - Deep machine learning, which leads to predictive or prevent analysis.
- Visualization - Displaying result of analysis (historical or real-time) on multiple visualization means
Data Routing: Ease of defining data routing rules to execute complex use cases that consumes device and sensor data.
Rule engine capabilities are factored as:
- GUI Based Rules - Ease for non-technical users to create or modify rules.
- Nested Conditions - Support for complex use cases
- Routing Control - Have a control on routing of data to other services.
- Rule Repository - Version and maintain multiple rules.
Storage: Valuable data generated by the devices shall be securely persisted and backed up regularly to prevent loss from any disaster.
Following are important decision factor for storage and backup:
- Data Store Types - Multiple types of data stores provides flexibility in designing application
- Backup & Recovery - Platform should provide means to back up the data and perform recovery actions if needed
- Disaster Recovery - Disaster recovery requires that data redundancy is maintained at multiple sites
Security: Security is the biggest concern in any IoT solution and needs to be taken care at all layers.
Following highlights the key security considerations in platform:
- IT compliances - deploying services in hybrid cloud behind the organization firewall & within organization IT compliance.
- Identity & Access Mgmt - Ensure only the right individuals access the right resources at the right times for the right reasons
- Key Management - Encrypt keys and small secrets like passwords using keys stored in hardware security modules
MARS: Maintainability, Availability, Reliability and Scalability, these are important aspects for cost optimization and to prevent business losses from downtime.
- Administration - Service and Application logging and monitoring
- Elasticity - On demand scale-up and scale-down.
- Enterprise Messaging - prevent leakage or queue overflows when data flows through services.
- SLA - prevent downtime losses
Enterprise Integration, API Gateway, Application Development: platform’s integration capabilities are critical to leverage IoT in existing business systems. Support for application development and concept of an API Gateway allows easy integration with external visualization systems like Google Glass, HoloLens, Mobile & Web.
The Common Framework makes it easier to evaluate multiple IoT Platforms. A simple process of evaluation starts with breaking down of an IoT Platform’s features and then mapping these features to the Common Framework (categories and factors within categories). After doing a similar mapping for all platforms, an apple to apple comparison of features in different platforms is possible. One can remove and add the categories or factors as per relevance to their evaluation requirements. Read our next white paper on IoT Platform evaluation in details to understand how to score the features and complete the evaluation exercise to find a best fit for your IoT Platform needs.
Contributors : This paper was also supported by Umang Garg and Manish Asija