With a rapid development of all IoT-related technologies, the number of available solutions both on a hardware and a software side also grows exponentially. IoT market became rather vast and its often hard to pick the right infrastructure for your project. And it is very important to make the right decision while you are still designing the project itself. The wrong choices might lead to a bad situation in the future, where you’ll encounter some impassable wall.
One of the most crucial elements for the IoT solution is a IoT platform your project would run on. There are lots of IoT platforms on the market and all of them has their own pros and cons, things they support and things they don’t, and some of them have a specific niche they excel in. Picking the right one can make your project a success or a huge financial and technological burden.
Let’s go through a list of 10 criteria you should consider when choosing the IoT platform for your project.
Either you are a student that just tries the IoT for fun, or you are designing some smart home solution, or you need a solution for industrial application on a large scale, you can’t be sure about the scale of your project after several years. And generally, you would want to build a solution that would last years and years. A platform with a good scalability would guarantee that one day you couldn’t connect any more devices to your network. So it is very important to make sure that your platform can support a decent number of endpoints.
There is a number of communication protocols that are employed by IoT solutions. There are several things you need to check about this. First of all, you need to check if the platform supports the standard protocols for the industry. Usually, it means the support of the MQTT and HTTP protocols, which are the most common. It would be great if the platform supports some other protocols like CoAP, WebSockets, AMQP. You never know which way the trends will change. The best case scenario – if your platform can support custom protocols. That will make your IoT project more flexible.
The errors are inevitable in any complex system and in IT they are just waiting to happen. You must think not about what you’ll do if an error happens but what you’ll do when it happens. And you need to determine those things before your project goes to production. It would be great if your platform is failover, can recover from small errors itself and have disaster recovery functionality. You don’t want to lose the valuable data or stay oblivious of the problems with your connections. So check if your platform performs data backups and if it has some health monitoring capabilities.
The security is a big issue for the whole IoT industry right now. The rapid growth and numerous different hardware and software solutions left the calm and focused design slightly behind. So there are no clear industry standards on security up to date. The rush to get the IoT products to the market only worsens the situation. You’ve probably heard about the DDoS attacks via IoT devices, hackable web-cameras and smart TVs and other stories about this issue. So you can’t be too careful about it because it can really bite you in the future. You should check whether the platform you choose provides the TLS, does it use encryption when storing the data, has it got the well-protected authentication capabilities.
While you might find the platform that suits all of your need out of the box today, you can never be sure that your needs won’t grow tomorrow. That’s why it is important to check the integration capabilities of your platform. Often, IoT platform developers have some other services that you can use in your project, like big data analytics, some sort of machine learning for making predictions, etc. It is great if you can integrate those services into your project but it would be even better if you could use the third-party solutions. There are all kinds of third-party IoT services that you may want to use later. It might be another data storage service, data processing, analytics or visualization. It would be good for the platform to have easily used API to work with.
Many IoT platforms provide the trigger, alarm and automated reactions functionality. That is one of the biggest assets of IoT platforms. You can get the data from your devices, check them using some algorithm and make a rule the platform should follow based on that data. That sounds pretty cool but you have to check the reliability and the speed of this mechanics. It may be especially important if we are talking about a considerable amount of devices and messages per seconds as it causes the latency increase. So you should check the reliability and an average response time for a trigger. It is also a good idea to check the same things for notifications if the platform supports them.
Here’s another thing you should plan beforehand. If you are going to create an IoT project, you should already have an idea about what technology and devices you would like to use. It would be better if the platform of your choosing has a native support of the devices you need. You also need to think about a future so it would be a big bonus if the platform supports other devices and communication protocols. For example, you might not have the edge devices now in your network but if you’d want to add them in the future you’d better pick a platform that supports it now.
8. Platform deployment
After you develop your project and connect everything you’d need to deploy it somewhere. That might be a big issue in the long run. You can choose the architecture that suits your needs the best and pick a platform that supports that architecture. But to make your solution more flexible you can pick a platform that can support both the cloud, on-premise and hybrid deployment. This might also make it easy for you in the event of the transition to another platform.
9. Technology stack
The design of the IoT platform and a set of programming languages and frameworks used in it can highly influence the challenges of your project’s maintenance. It would be much easier to find staff and generally maintain the projects on a platform that uses modern and popular programming languages, and also well-supported frameworks and tools.
Last but not least – the cost of running the project on a platform. The open-source platforms usually can be run for free on your infrastructure. Other platforms usually have several common pricing methods. Usually, you’ll have to pay for messages sent and devices connected. There might also be optional support payments or some premium-options you might choose. You should think about it very carefully because sometimes the platform that looked like a very cost-effective choice might become a huge burden if your project would grow.
The ThingsIO.AI platform is a scalable product that helps with connecting, managing and testing IoT devices, collect and store the data, visualize it, and apply machine learning algorithms for analytics. ThingsIO supports popular IoT devices such as Raspberry Pi, Node MCU, and ESP8266. It has a great rule engine and a dashboard creator.
Start your free account today at https://thingsio.ai/