General introduction about IoT platform and why do we need them?

If I ask what do you want to do with IoT, most of the answers will be: collecting data and generating value by analyzing data. Or some people just want to monitor something or remotely control something, which also needs them to connect devices together with the internet.

You can connect your raspberry pi, and control it with a web page. Check out this example I found online, fabulous tutorial.

You can also set up an AWS server and pass real-time temperature data from your Arduino to the cloud using Kafka or DynamoDB.

Use your Wii to play a game with your family seems like a connected IoT device as well…

But you don’t need an IoT platform to do that, you can do it by just doing it….

So, my question is: what is an IoT platform, and when do you even need it?

Let’s take a look at what Google says:

I have to say… Google, you have changed… Good job PTC, your efforts in internetofthingswiki works ;-P

So Google is not very helpful, usually, if one term has been discussed and searched for many times, it should be highlighted at the top… Anyway, I found some terms:

  • IoT platforms are a vital component of the IoT ecosystem and can provide immense value to businesses. – from here
  • An IoT platform is a multi-layer technology that enables straightforward provisioning, management, and automation of connected devices within the Internet of Things universe, from here
  • To make it simple, the IoT platform is a middleware between the devices and user applications. In fact, they may more than just simply connecting your IoT devices together. from here

All make sense… however, the first one doesn’t help you too much. The second one sounds fancy but hard to understand. The third one is much better for normal people to understand.

So an dummy-proof version of IoT platform is:

Platform between your devices and applications that help you connect them and build IoT solutions

Why do we need it?

I think the core value of IoT platform is that it makes everything related to IoT just much easier.

Building an IoT solution requires several components:

  1. connect IoT devices, can be sensors, smart devices (phone, TV, robots, etc)
  2. manage IoT devices. (how to check their status, reboot, or turn off them, etc)
  3. manage the data those IoT devices captured. Integrate with storage places, streaming it to somewhere, etc
  4. Build end user-facing applications to show data, dashboard, or control panel to remotely control devices.

IoT platform takes all of them, and offer such as SDKs to make your life much easier and scalable.

Most of the IoT platform providers they offer serverless service, and manage the load balancer, auto-scaling, etc, for you. Without scalability, it’s useless for companies. Without scalability, it’s just a kid’s DIY project at the attic.

Today’s IoT platforms, roughly, can be divided into 3 categories, by the way, everything is on the cloud:

Platform as a service (PaaS)

like AWS IoT Core, Microsoft Azure IoT, Google IoT, Alibaba IoT, etc. They provide a platform for developers to build things. Don’t expect you can plugin and play using AWS IoT for your company, you need to hire developers to build your solutions yourself. Don’t listen to those sales people bullshitting how easy it is to use their platform… you need to spend money and time build the end solution yourself.

Half PaaS + industrial specific SaaS

A lot of companies they provide platforms, usually built on top of AWS, Azure, or Google, and make it a bit easier (their value added part) for developers to create things. And they also offer SaaS solution on top of their platform, in some specific areas and industries. Examples can be Yokogawa IoT platform (based on Azure), PTC Thingworx (based on Azure). Hey! why all on Azure?! I think Microsoft has a great portfolio for enterprise customers in their Azure cloud… i.e., existing cloud strategy influences the decision of choosing the IoT platform a lot!

Just SaaS.

Those companies don’t build platforms, they just use AWS, Azure or Google IoT platforms. So it’s not built for developers, they deliver the last piece for end-user customers. A web app or mobile app. Those are usually consultancy companies, integration companies or many of them are startups. Examples: Machinemax who provide assets tracking and predictive maintenance solutions.

Oooookay, enough…(I hate long articles!!!) there are many ways to categorize IoT platform, and you may have totally different ideas. Comment below, happy to exchange opinions.