Top 10 selection criteria to choose your IoT platform

An IoT platform is essentially the heart of your entire IoT solution. Building a scalable and reliable IoT platform is hard, that's why today the market is flooded with hundreds of IoT PaaS (Platform as a Service) vendors. Choosing the best IoT platform for your solution is much complex today than it has been ever before. That's why we have written this guide to help you choose and evaluate a right IoT cloud platform for your needs.

What is an IoT platform?

A platform in a broader sense is a set of tool and services which enable developers to develop and run an application. The term IoT platform could have different meaning based on whom you are talking to in the IoT ecosystem. For hardware vendors, embedded boards are the IoT platform where you could write your IoT applications. For cloud service providers, their infrastructure is an IoT platform where the developer will consume data from the sensor and create an application. For the sake of the clarity, we refer to the IoT platform as the middleware layer responsible for consuming data from sensor and devices and producing meaningful result and actions based on that insight. IoT platform often offers device SDK or well defined APIs through which developers could connect any hardware platform and consume their cloud-based services.

Following picture illustrates the complexity of current IoT ecosystem and why choosing the right IoT platform is extremely difficult.

If you've recently attended an IoT expo, you would notice that almost every IoT platform provider claims to be faster, better and smarter than others. There are many impressive customer references behind every platform backed up with jaw dropping case studies. How could you make a smarter decision and reduce your solution risk in such a competitive landscape?

How to choose the right IoT platform for your needs?

Sadly, the cloud platform today are still chosen based on the effectiveness of their sales pitch. Partially, this is because companies starting with digital transformation do not possess significant expertise or background in the IoT-specific areas. IoT vendors often woo their customers based on primitive Proof of Concepts e.g. reporting temperature and humidity and blinking LEDs, backed by impressive customer references and shiny powerpoints. There are several important technical evaluation criteria which are often overlooked in the technical qualification process. Let's look at top 10 such criteria:-

1. Scalability

Scalability is probably the biggest USP of every cloud platform provider out there. Every vendor promises to support millions of connected endpoints. Interestingly, very few customers have reached that number so far. A research conducted by Strategy Analytics found that 35 percent of companies with IoT deployments have fewer than 100 devices connected. Of the 70 percent of current IoT deployments in the US, the company found these cover less than 500 devices in total. The claim to support millions of nodes, therefore, is either purely speculative or only subjected to internal validation within engineering.

Why does scalability matters? Because designing a system for handling 100 devices is entirely different than designing for a million. As the number of connected devices grows, the complexity of handling them increases exponentially. A usual solution to this issue is to divide and conquer, i.e. creating load balancers, and distribute load over multiple servers via clustering. The side effect of this approach is the increased latency between the node to node communication. If your IoT platform is sharing the infrastructure with other customers (which is often the case for the economy of scale), the increased load on one customer could affect others.

IoT vendor Checklist

My IoT vendor cloud handle ____ IoT endpoints for a single customer in a single geography/datacenter
My IoT vendor could handle ____ IoT endpoints for a single customer across all geography/datacenter

Ask your IoT vendor for their largest customer installation and number of connected nodes being handled today to get a sense of their scalability. If the number is too low, you will need a validation tool like IoTIFY to make sure they could handle the scalability of your system eventually when the need arises.

2. Bandwidth

Connectivity from your cloud platform to devices is often limited by M2M provider or the termination capacity of the underlying cloud platform providers. Usually, IoT platform run over public cloud platforms such as AWS or Google Cloud, so underlying bandwidth is more of an infrastructure limitation. Bandwidths are also often asymmetric, so upload and downloads are not provided at the same speed.

IoT vendor Checklist

My cloud platform / M2M provider guarantees a throughput of ____ for uplink/downlink per client.
The worst case round trip latency for IP packet on average is ____

Make sure you know the largest data pipe which could be handled today by your PaaS provider and there is sufficient room to grow.

3. Protocol

Usually MQTT and HTTP are most common protocols being supported by IoT platforms while AMQP and CoAP steadily gaining ground. MQTT is extremely lightweight and has much lower overhead due to its binary nature. However, as your system evolves in future, you should be able to switch to an alternate protocol to accommodate more devices or reduce messaging latency. Make sure that your IoT platform could support newer protocols or an upgraded version of these protocols with ease. Ask about the possibility to implement a custom protocol and handling it at the backend.  

IoT vendor Checklist

My IoT platform currently supports following connectivity protocols and versions.
Future roadmap of IoT protocol support includes ____

4. System Performance

An IoT platform supports rule-based triggers, which are automatically invoked once an event happens. As more and more devices connect to the cloud platform, the average time it takes to handle and analyze each event increases.
A simple performance criterion for an IoT device is to trigger an alarm and measure the average time it takes for the cloud platform to take an action on that event. If your cloud platform provider supports email notification or integration with a 3rd party system, you should also measure the reliability and latency of that integration.

IoT vendor Checklist

My IoT platform currently supports a peak rate of ___ new device connections per second and ____ messages ingested per second
The maximum latency of handling a critical event and applying an automated action is ____.

5. Security

Let’s face it. IoT security is broken today. Mirai botnet launched one of the most scathing DDoS attacks by hijacking out of date IP camera and other consumer devices on the public network. It is imperative that your cloud platform offers comprehensive tools for overall security, i.e. methods for authentication, encryption and user/role based Acess Control Layers as well as logging.   

At a bare minimum, your IoT cloud platform provider must provide unique identity-based authentication methods for your devices such as X.509 based certificates. Enrolling certificates for devices on the field has its challenges so make sure that there are automation tools to handle that (supporting protocols such as SCEP and CEP). The Gateways of your cloud platform should offer SSL or DTLS encryption. Usually, establishing a new secure session is very expensive in terms of CPU as compared to communicating over it, so SSL termination is offloaded to a separate infrastructure such as load balancers or reverse proxies. Ask about the capacity of your platform to handle SSL termination, with different ciphers and authentication methods.

IoT vendor Checklist

My IoT platform currently supports following authentication methods and encryption ciphers.
My IoT platform offers management tools for certificate provisioning and automation.
My IoT platform provides role-based ACL and access logging.
My IoT platform provides end to end data encryption.

6. Redundancy and Disaster Recovery

An IT infrastructure outage is always waiting to happen, either man-made or natural. A simple mistake by an engineer at AWS brought half of the internet down. Does your cloud platform provider have a dedicated infrastructure to handle your data? How often is the data backup taken? Are there any failover cluster provisioned, which will kick in if something goes wrong? Is it running on private cloud instance or sharing the infrastructure with other customers?

IoT vendor Checklist

My IoT platform has following Disaster Recovery strategy:-
My IoT platform takes back up of the data every _______ and the backups are kept for ______
My IoT platform has following SLA and KPI for monitoring uptime and availability:-

7. Hybrid Cloud

One of the key requirement for IoT platform is to fit in with your existing IT system which is often hosted on-premises. Hybrid cloud approach offers multiple benefits in this situation, where the best of both worlds can be optimally utilized. Any mission critical or business sensitive process could be done on local premises while all public and less critical operations could be managed by your cloud platform. 

IoT vendor Checklist

My IoT platform offers on-premises integration with ____ 
My IoT platform offers integration of data and services with our existing workflow. 

8. Solution Lifetime:

If you are an industrial manufacturer consuming services from an IoT startup, your IoT solution is probably going to outlive the company providing it and will require long-term support. It is essential to achieve a vendor/technology agnostic solution which is easily transferable to someone else in case such needs arises. Avoiding vendor lock-in is of prime importance while creating a future-proof architecture. 

IoT vendor Checklist

My IoT platform providers following options for long term support and the possibility of code escrow.
My IoT platform provides clearly documented interfaces, schema, and API for any possible migration to other platforms. 

9. Interoperability

A cloud platform solution is only a middleware. Eventually, the data produced will need to be consumed by multiple applications which may not be available on the platform itself. Also with the innovation in open source space, more and more enterprises today are embracing open source than ever before. It is quite imperative that your cloud platform also supports integration with open source ecosystem which enables your organization to achieve higher productivity and lower TCO.
Does your vendor allow interoperability with 3rd party providers via API/Webhook? Could you seamlessly integrate the solution into your existing workflows or ERP tools?

IoT vendor Checklist

My IoT platform provides integration with following 3rd party providers and services.
My IoT platform provides seamless integration with following open source tools:- (such as Elasticsearch/Spark) 

10. Edge Intelligence

Last but not least, this should be one of the biggest selection criteria in your IoT platform vendor selection for future readiness. The future of IoT platform is moving towards distributed, offline, edge intelligence. As devices become more powerful, they can make an autonomous decision based upon local data rather than delegating every decision to cloud. This approach requires that your IoT platform needs to be able to extend itself seamlessly from cloud to fog and even mist and support new topologies for decentralized computing.

IoT vendor Checklist

My IoT platform provides edge processing via a distributed component running on a gateway.
My IoT platform enables seamless application development for every environment  (Cloud/Fog/Mist)
My IoT platform supports offline processing of data in edge gateway nodes.

Need help in evaluating your IoT platform?

Would your IoT platform suit your current and future needs? Thanks to IoTIFY's unique device virtualization platform, you could validate the performance of your IoT platform at any scale today instead of speculating. Our smart device simulation tool supports multiple protocol and method of authentication as well as completely customizable message contents, which enables you to prototype and build your final IoT system.

Ready to validate your IoT platform today?