To summarize, we have listed the below table showing how various offerings and services maps to the Enterprise IoT stack.
Platforms -> | Microsoft | IBM | Amazon | Open Source | Predix |
Device SDK | Azure IoT Device SDK,
Connect TheDots.io |
IBM Watson IoT Platform Client Library,
Watson IoT Platform Device recipes, Paho Library |
Device SDK for AWS IoT | Paho Library, Cyclon.js, and many other options | Predix Machine |
Protocol Supported | HTTP,
AMQP MQTT |
MQTT | MQTT, HTTP | MQTT, AMQP, HTTP etc. | MQTT,
Web Socket, HTTPs |
Core platform – IoT Messaging platform | IoT Hub,
Event Hubs
|
Watson IoT Platform | AWS IoT | Protocol Bridge,
Apache Kafka |
Rabbit
MQ |
Core platform – Database option | DocumentDB,
Storage (high-performance tables, blobs), Microsoft SQL
|
MongoDB, Cloudant NoSQL, ObjectStorage, Informix Time Series data, etc. | Amazon DynamoDB, Amazon Redshift | Cassandra (or alternatives like MongoDB) | Asset Data,
Time Series, Redis, Postgre SQL, Blobstore |
Analytics platform – Real-time Streaming | Microsoft Stream Analytics | IoT Real-Time Insights,
IBM Streaming Analytics |
Amazon Kinesis | Apache Spark Streaming | Analytics
Runtime |
Analytics platform – Machine Learning | Azure ML | Predictive Analytics service (on Bluemix) + SPP Modeler (offline) | Amazon Machine Learning | Apache Spark MLlib | Custom Analytics Support
(Python, Java, MATLAB) |
Alerts and Event handling | Notification Hubs, PowerBI | Embeddable Reporting, IBM Push Notifications | AWS Lambda,
Amazon Quick Sight, Amazon Simple Notification Service |
Custom, Zeppelin (Dashboards), etc. | Mobile SDK,
Dash board Seed |
As mentioned earlier, there are various other complementary services offered by IBM, Amazon, Microsoft and Predix that could be leveraged and used in an IoT solution, like caching, geospatial locations, mobile push events, etc. There might be many more components, which could be used in the above stack, but we listed only those services that provide end-to-end integration in the IoT stack.
From the strategy perspective, all platform providers have the same strategy of providing a set of services to enable development of scalable IoT applications. Clearly, just providing the platform would not provide any unique capability and we would see a lot of tie-ups and partnership from device manufacturers to network providers, open source adopters to start-up’s providing innovative solutions. Apart from partnerships, the real requirement is to develop and provide end-to-end industry solutions on top of the IoT stack as a set of offerings which can be customized based on requirements. For instance, design model of the services used with a connected car solution should not change across car manufacturer. The only thing that would change is device library that is fitted in the car (telematics device) or installed via the OBD port