The past several years have seen a huge growth in the number of companies offering IoT platforms. The market research firm IoT Analytics reported 613 companies offering IoT platforms in 2021! This is a mind-blowing number. IoT platforms vary widely in capabilities but typically focus on one or more of the building blocks of IoT systems – physical devices, internet connectivity, and digital services. In one way or another, they provide software (or in some cases hardware too) that gives companies a head-start when building IoT systems. There are so many companies offering platforms that it is nearly impossible to keep up with all of them. If you are getting into IoT and not familiar with IoT platforms, you might be asking yourself questions like – What makes up an IoT platform? What’s the difference between PaaS and SaaS? What advantages could they have for my company? How do I select an IoT platform?
Let’s tackle these questions one by one.
What Makes Up an IoT Platform?
True IoT platforms typically provide the following features:
- Digital services running in the cloud that physical devices connect to
- Software that runs on devices that communicates with the digital services
- A framework or schema for data messaging and remote command & control of devices
- Security infrastructure to handle device registration, authentication, security credential management
- Tools and methods for updating device firmware over-the-air (OTA)
- Web dashboards for viewing the state of devices and interacting with the system
IoT platforms may or may not also provide other features, including:
- Analytics tools and dashboards
- Digital twins or shadows
- Application deployment orchestration
- Machine learning orchestration
- Rules engines
- Fleet management tools
- Integrations to other services
- Gateway or hub support for bridging devices to the cloud
- Cellular network plans for devices
- Web or mobile application interfaces and templates
Types of IoT Platforms
IoT platforms are not all the same. Their features and target use-cases vary a lot. However, at a high level, they can be grouped into two main categories.
Platform as a Service (PaaS) – Offered by the Big Cloud Service Providers
PaaS platforms provide building blocks to do most things an IoT system needs, but it is up to you to write the custom code that connects it all together. With a PaaS provider, you don’t have to worry about underlying server hardware, but you have to compose their services into a working architecture and manage the deployment of applications that use their services. This is more work but allows more flexibility and the opportunity to customize the system to your needs. Ongoing costs of a PaaS IoT platform are typically lower than a SaaS, but expertise is required to ensure correct usage patterns to avoid larger costs. The big cloud providers all offer PaaS IoT platforms. This includes Amazon Web Services (AWS), Microsoft Azure, and Google Cloud Platform (GCP).
Software as a Service (SaaS) – Offered by Numerous Software Vendors, Large and Small
With a SaaS provider, you get access to use the software application they deploy and manage for you. Or you can license it and deploy it yourself. SaaS platforms typically provide some configurability and integrations with other systems. There is much less work on the cloud side as this is mostly taken care of for you. However, you are limited to the features that the IoT platform provider offers. You may need to invest more in bridging the platform to your other systems. Depending on your use case, a SaaS may provide more advanced features out-of-the-box than a PaaS. Ongoing costs are likely to be higher with SaaS IoT platforms. Examples of SaaS IoT platform providers include Pelion, Losant, Friendly Technologies, Software AG, Blynk, Particle, ThingsBoard, and Golioth.
What Advantages Could They Have for My Company?
The goal of IoT platforms is to provide a foundation for product-makers to build IoT solutions on top of. IoT platforms take care of all the fundamental features that all solutions need (e.g. “the plumbing”), so you can focus on adding value with the differentiating features that you add on top. Users of IoT platforms get a huge benefit from economies of scale – especially if using the most popular platforms. This translates into improved security, more robust services, and lower costs. For these reasons, we always recommend using an IoT platform.
How Do I Select an IoT Platform?
This usually translates into taking a staged approach and focusing on different priorities in each stage. IoT is a journey, not a destination. We have seen the most success when companies tackle each of their challenges in stages, don’t try to do too much too quickly, and don’t lock themselves into long-term decisions too early. Choosing whether to use a PaaS or Saas depends on the stage you are in along your IoT journey.
Our Answer – It depends on your stage in your IoT journey.
If You Are Just Starting on Your IoT Journey
In the disconnected stage your main goals are to learn what technology can do for you, develop a vision for your new product or service with that knowledge, and evaluate your vision based on customer input. At this stage, you shouldn’t be worried too much about scale or efficiency. You need to nail down the problem you want to solve and the solution you propose to solve it with. Ash Maurya, entrepreneur and author of Running Lean, says that “Building a successful product is fundamentally about risk mitigation.” To evaluate and reduce your risk, you need to test your assumptions.
We often recommend building Proof of Concepts and Prototypes in this stage. These experiments are crucial to help you quickly validate the feasibility, desirability, and viability of your plans. They also help rally your organization and potential customers around new possibilities.
SaaS IoT platforms have their most advantage in this stage. They can help you get devices connected and data flowing quickly because they typically have more features ready out-of-the-box. However, since your knowledge about the future is limited at this stage, we recommend you avoid long-term commitments so you don’t get stuck with a solution that doesn’t work for you down the road.
If You Are Working on Your First Connected Product
In the connecting stage, you should have some confidence in your problem-market fit and you should have a better idea of what benefits IoT can bring to your business. Now you need to build a system to deal with the rigors of production. You also need to adapt your organization to support your new product or service.
We recommend shifting your focus to creating robust experiences for your customers spanning across the physical devices and digital interfaces they interact with. You need to consider the other parts of the system such as mobile applications, web applications, database storage, operations dashboards, etc that you’ll need for your customers and your internal teams to interact with the system.
PaaS IoT platforms start to have a strong advantage in this stage. More often than not, we see the needs of the company outstretch the features provided by a SaaS. Therefore, there is a need to augment the capabilities of the SaaS platform or bridge it to your other systems. For example, if a SaaS IoT platform does not provide long-term data storage, you will need to create a bridge that pulls data from the platform’s service and puts it into a database that you control in the cloud. Maintaining and monitoring this bridge is non-trivial which may lead to you wanting to consolidate everything into your existing cloud. For reasons like this, we typically recommend PaaS platforms at this stage.
If You Already Have Connected Products Out in the Market
The connected or accelerating stages are all about maximizing the benefit of IoT, taking advantage of the valuable data you are likely getting, and aligning your costs to revenue. You should be focused on scaling up your system while you improve your connected customer relationships and build up new processes and skills. These are not insignificant tasks. It takes in-house expertise. Your team needs to understand your systems, be able to improve efficiencies and optimize costs. You’ve got to get data to the right place when you need it, and it has to drive reliable actions across all your infrastructure.
PaaS IoT platforms offer the most advantage at this stage. You have more control of your systems and are not locked into a specific software platform. You have the ability to customize and have tighter integration with your existing systems. This lets you adapt and evolve to meet the needs of your customers over time.
Which Production Architecture Works for You?
Considering the needs of your production system likely go beyond the needs of your prototypes and minimum viable product (MVP), it is best to think about what additional features you will need to augment the capabilities of your selected IoT platform. The diagrams below show the difference between augmenting a SaaS platform versus a PaaS platform.
What Else Should Be Considered when Choosing an IoT Platform?
When selecting an IoT platform, you are also choosing an ecosystem to join. This has ramifications that go beyond just the platform. Consider the following questions:
- What device types are already supported / how easy is it to support the devices I need?
- How close does the platform fit my use-case?
- How easy is it to get started and use?
- What skills do I need on my team to utilize the platform?
- Will my team get the support we need to succeed?
- Is the service reliable / highly available / trustworthy?
- What additional features and services will I have to develop?
- What systems do I need to integrate with? How easy is that?
- What will my ongoing costs be for the IoT platform as well as other systems I need to maintain.
- What happens if I want to change to a different IoT Platform?
- Am I building the skills and knowledge we need inside my organization to succeed in the future?
Jumpstarting Your IoT Systems with Starter Components
Building a system based on a PaaS platform offers a lot of flexibility and control. But you are faced with configuring and deploying your own applications to get your system running. There are a lot of reasons why you don’t want to create things from scratch. You need a head start. You need to follow good patterns and industry best practices. So, what should you do?
We believe that starter components, a.k.a. solution templates, solution implementations, etc, offer a great jumpstart to standing up a robust system. The big cloud companies know this and offer templates for various use-cases. These can be used in any stage of the IoT Journey. For example, AWS has a Smart Product Solution solution implementation that features capabilities to connect devices, process and analyze telemetry data, etc within a scalable framework. A fundamentally great feature of this is that it is based on AWS Cloud Development Kit (CDK) which means it can be programmatically deployed in minutes. Microsoft Azure has similar solution examples that can also be deployed and tested relatively quickly.
We don’t recommend you try to build an IoT system from scratch. There are great solutions available from both SaaS and PaaS providers. They offer massive benefits in enabling you to build secure and scalable IoT solutions. However, we recommend you consider your organization’s goals and the stage you are in before locking yourself into an IoT platform. Be sure to start with your customer needs and build backward. Prototype and get things right before scaling. A SaaS IoT platform can be great for building proof of concepts or prototyping but may not work for you long term. For maximum customization, flexibility, and tighter integration with your other cloud applications we recommend a PaaS IoT platform. And for the lowest risks and maximum benefits, we recommend using pre-built components that can be customized to your needs.