Choose Your IoT Platform With Care

30.05.2016 industrial internet , software , anssi rantamäki

When creating an IoT (Internet of Things) system, you have to pay attention to many details. One is choice of the right IoT platform. There are many IoT platforms, and they’re difficult to compare. They are in some ways very similar, but also very different and not directly comparable. 

“IoT platform” can mean many different things. It usually refers to an IoT application platform, in other words a software platform that collects data from various sensors and IoT devices. The collected data can then be analyzed and used in various applications. Such platforms are usually in the cloud. 

Five main platform groups

IoT platforms can be grouped into, for example, five main categories as illustrated in the figure below.

IoT HW platforms are typically devices, various kinds of microchip hybrid computer platforms with a sensor on top. They are typically platforms for prototypes or very small production series. Examples of HW platforms could be devices like Arduino, Raspberry Pi, Beaglebone, ESP8266, Spark Core.

Another group is the so-called proximal connectivity platforms, which refers to action happening nearby. For example, the thermometers and thermostats of the different rooms of a house can be wirelessly connected to a sensor network. Examples of this group are for instance Qualcomm AllJoyn, Intel IoTivity, Google Brillo and Thread.

The third group is the IoT infrastructure platforms, which are used to transfer data from sensors to the cloud. Examples here would be the likes of PubNub, Mocana, Robomq, RabbitMQ, Mosquitto.

The fourth group are the IoT data platforms, which are used to store, use, and analyze data. Examples of data platforms are Hadoop, Apache Storm, Spark Streaming, AWS Kinesis, Azure Stream Analytics.

Finally there are comprehensive IoT software platforms, in other words background platforms for general use offered by Amazon, IBM, and Microsoft, for example. 

This article will focus on this last group, the IoT comprehensive software platforms. 

Four building blocks 

In principle, an IoT system consists of four building blocks. 

  1. A device, in other words a source of data, a physical device, sensor, regulator, etc. 
  2. Data transfer systems and protocols
  3. Data management and storage, integration, and analysis
  4. Data presentation and use. This produces added value for the users. 

IoT comprehensive software platforms consist of the above building blocks 2 and 3. 

No platform as such provides ready-to-use applications, but the advantage of a comprehensive software platform is that it provides a variable selection of different tools for compiling applications. A single comprehensive software platform is usually sufficient for building an IoT system. The software platforms on the market usually provide all necessary services. In addition, a device platform or an existing device is required.  An adaptation of the application has to be implemented on top of the platform. 

Some things are better in some platforms than in others. One can also choose different parts from different platforms, but this option should be analyzed carefully to avoid future complications.

In choosing a software platform, you may have to compromise. You may have to choose it depending on the focus of your area of application and depending on from where you can get the best functions. There are no major price differences between platform providers, and they usually use the same criteria. So in practice, the competitiveness of different platforms doesn't depend on pricing. Processor time can be more expensive for one platform than another, but the situation can be the opposite with data storage.

It’s important to choose a platform that provides tools for doing quick tests. It’s best to always make a solution prototype and test whether it works on the platform. Your background and experiences can also influence the platform choice. If you have expertise in using Microsoft tools, Microsoft Azure can be the best choice. If you already use Amazon’s cloud platform, there may be contract-related reasons to use the same for IoT.

An important business aspect is continuity. Many new platforms have appeared in recent years, many of which are good, but there is no guarantee of how long they’ll be available. When starting a new business, it’s best to avoid the risk of a tool provider going out of business by using large and well-known providers like IBM, Amazon, and Microsoft.

Four service models

The different available service model options often confuse IoT users. In principle, you can buy a service in four different ways.

The first option is to do everything yourself by buying a computer and installing everything yourself. That way you control and own everything yourself, the server hardware, operating system, and software.

The second option is use of a virtual server (Internet as a Service, IaaS), where you rent the hardware but control and own everything else.

The third option additionally provides the operating system and application platform, and you’re only responsible for the application. This is called Platform as a Service, PaaS.

The fourth option, Software as a Service (SaaS), also provides all available applications. 

The two most important options for IoT are PaaS and SaaS. PaaS pricing is based on resource use, on how much you use processor capacity and the database. If you need to search the database often, you need fast access. This is typically rather expensive. A database for long-term storage, which is searched only seldom, is relatively inexpensive. Optimization of database use is important to ensure the best possible pricing and service.

When designing a system, it’s a good idea to plan how much and what kind of storage space you’ll need. The main benefit of PaaS and SaaS services is paying for actual use. There is no need for prior investment in the system; you only pay for actual platform use. Typical pricing criteria for PaaS services are use of processor capacity, memory, databases, and storage space.

Different kinds of storage space

It’s important to understand that IoT systems need three different kinds of storage space.

  1. A reliable and stable cache memory, used for storing sensor data before transferring it for use in applications, for example.
  2. A fast database for use by the applications.
  3. Long-term data storage.

It makes sense to optimize use of the different storage spaces according to your needs because this has a significant effect on the price of the service. You should plan how long you have to be able to quickly access the data needed by the applications and optimize the data amount you use accordingly. After data has been transferred to long-term storage, it’s not a good idea to retrieve it often. But this is where even terabytes of data can be stored for long periods of time. PaaS and SaaS services can be easily changed and increased, so they’re easy to scale up and down.

Differences between the platforms

IoT software platforms are very similar in terms of their technology and architecture. The differences are more in what they emphasize and in what the service provider considers important. For example, IBM’s platform is largely based on analytics whereas Microsoft’s Azure emphasizes remote services and parallel services and their integration. Amazon’s service is the most traditional cloud service. ThingWorx and Cumulocity services on the other hand have good tools for getting started quickly. Their strengths are in visualization and user interface creation. If your needs are heavy in analytics, IBM is a good choice. If the biggest need is data, it’s better to go to Amazon.

Choosing the platform

Many factors affect the choice of an IoT software platform.

  1. Fast prototyping.
    IoT in practice means new business activity models. It’s necessary to be able to try them out quickly and determine which models work. All the platforms mentioned in this article are good for fast prototyping. The best is perhaps IBM’s Watson because it doesn’t require any outside tools or programming. There is also no limit on the evaluation time (only the data amounts). At the other extreme is Azure, which requires the use of the Visual Studio tools. That’s no problem if these tools are already in use anyhow.
  2. Tools
    Different platforms provide support for different programming languages. If one of these is your organization’s forte, make sure that it’s supported on the platform you’re interested in.
  3. Continuity
    There are hundreds of new businesses in the world creating IoT platforms. Some may be very innovative, but it can be risky to base your business on one of them. It makes sense to use large and well-known providers like IBM, Amazon, and Microsoft. They are the winners in the long run. Small startups die or are bought up by one of these big companies.
  4. Vendor lock-in
    Each platform implements the services in its own way, and these are not compatible with other platforms. Moving services from one platform to another probably works best between platforms based on Cloud Foundry, for example IBM Watson and GE Predix.
  5. Hosting model
    If it is essential for your IoT application that data is stored in specific geographical areas or on otherwise precisely defined servers, you should check the IoT platform’s hosting model and the locations of its data centers. IBM, for example, offers a cloud-in-a-box model with which all IBM’s PaaS services can be put on your own server.

You can of course also combine different services and providers. For example, if your application is closely connected with Microsoft systems and requires storing large amounts of data and doing cognitive analysis of the data, Azure can be seamlessly integrated with existing Microsoft Enterprise applications. Amazon’s AWS offers the powerful big-data service Kinesis, and IBM the unique analytics of Watson.

About the author

Anssi Rantamäki is an Inudstrial Internet professional with more than 15 years of experience in demanding IT development projects.

For more information please contat Tomi Kyllönen at +358 40 848 6116 or


Latest articles

  • Case SKS – Wireless LoRa based sensor 31.03.2017 industrial internet , wireless , electronics , software

    SKS Automation needed a sensor suitable for industrial use that works wirelessly. The selected LoRa technology transmits measurement data wirelessly up to tens of kilometers, and it connects easily to Industrial Internet applications. ARM mbed technology significantly reduced the time needed to pull off the project.

  • Case Rivender - Stores without salesclerks 16.03.2017 industrial internet , electronics , software

    Grocery stores will make a comeback in suburbs and small towns if entrepreneurs warm to the unmanned store solution ModulShop of Rivender Ltd. The invention is predicted to become a huge success in Finland and European export markets. The solution is based on Finnish leading-edge know-how.

  • Yocto Project - Embedded systems easier and faster 16.12.2015 mikko elomaa , yocto , vesa norrbacka , linux

    Embedded Linux developers often have to create their own distribution to precisely define the contents of the operating system. Those who nowadays choose embedded Linux for a project have several alternatives, one of which is the Yocto Project. Yocto is not an embedded Linux distribution but a development environment with which one can quickly and easily create custom versions.

  • Accreditation for the EMC test lab 30.08.2016 espotel , laboratory

    The FINAS accreditation service has granted accreditation to the Jyväskylä testing laboratory of Espotel Oy, which is part of the Etteplan Group, in accordance with requirement SFS-EN ISO/IEC 17025:2005.

  • Choose Your IoT Platform With Care 30.05.2016 industrial internet , software , anssi rantamäki

    When creating an IoT (Internet of Things) system, you have to pay attention to many details. One is choice of the right IoT platform. There are many IoT platforms, and they’re difficult to compare.

  • Functional safety – case Labkotec 08.06.2016 industrial , industrial applications , electronics , software , safety critical , jarmo kangasaho

    The formation of ice on wind turbine blades can be a significant risk factor. Labkotec has provided ice formation monitoring systems for a long time already. The newest version was developed according to ISO 13849 for increased functional safety.

  • Product certification – case Asqella 17.12.2015 testing , laboratory , ismo kaastinen , product certification

    Nowadays more and more products contain electronics and maybe some kind of wireless technology. People do not always realize that all electronic device must be certified, in other words checked, tested, and approved, before the sales of the product can start.

  • DFT – Remember two things 15.02.2016 testing , test systems , consulting , production testing , electronics

    To make sure the required testing for your upcoming product is possible to do, and preferably even easy to do, you have to take the testing requirements into account when the product is being developed. This is called design for testability or design for testing (DFT).

  • Agile or not? 16.02.2016 programming , consulting , software , agile

    The concept of agile software development has been around for a long time already. It has similarities to lean manufacturing, the management philosophy started at Toyota.

  • IVD device development – Orion Diagnostica’s QuikRead go® 03.02.2016 medical

    An IVD device does not only have to comply with regulatory requirements and pass all certifications but also often contains complicated measurement technology and precision mechanics.