www.apress.com

19-6-18

What Should a Good IoT Platform Have?

by Anand Tamboli

For every product, there are functions and features that are must-have or are nice to have. When we distinguish between the two, the selection becomes relatively simple. Building your own IoT platform makes much more sense. For any middleware platform to be worthy of being part of the Internet of Things, it is imperative that it has the following functionalities and capabilities.

Scalability

Just like any new application or product, things start small and then grow later. Therefore, if the middleware platform must be at the core of the solution, it must be able to scale in the same proportion. It should not be a one-click change, which is okay; however, it should be reasonably easy to scale the platform without breaking existing functionalities and without disrupting existing production setup.

Reliability

In general, it is an obvious expectation that anything that forms the core of a solution or product should be reliable. The level of redundancy built into the middleware slightly varies, depending on the end application, product, or industry vertical. For example, if the IoT platform is for medical devices, financial services, or security systems, the level of reliability expected is relatively high when compared to one for home appliances like a coffee machine or similar others.

Customisation

If you are building your own platform, it can be 100% customised; however, even if you were looking to buy off the shelf, customisation without breaking the bank should be possible. If you cannot customise the middleware, then you have to modify your product or service to be fit for the platform, which is essentially working in the reverse direction.

Supported protocols and interfaces

By fundamental definition, an IoT middleware platform sits between two heterogeneous systems: physical devices and cloud software (and there are umpteen numbers of device types and software). The platform should be able to coordinate with all of them, orchestrate things in unison, and speak all of the languages or protocols. Additionally, it needs the ability to create the required plugin and fill the gap whenever required, such that the middleware platform remains accommodating, for a very long time, before needing an overhaul.

Hardware agnostic

The Internet of Things is essentially a group of heterogeneous connected things, hardware devices, computer systems, and software. This makes the requirement of being hardware-agnostic almost obvious. The reason why it still needs to be explicitly stated is due to a slightly skewed view. Many people think of hardware as an electronic circuit for a sensor, and for that view, we say that an IoT platform should be agnostic of whatever electronics you are using in your circuit. Whether it is an open source hardware design, proprietary circuit, or a mix, the platform should be able to support it.

Cloud-agnostic

Similar to being hardware agnostic, the platform also needs to be cloud agnostic. There are several cloud service providers — including Google, Microsoft, and Amazon Web Services (AWS) — but the platform should have no dependency on the cloud. Whether it is your own service or a third-party cloud running behind a NAS (network-attached storage), the platform should be able to work. A good test of compliance is an answer to the question of whether the platform works on bare-metal servers. That is if you get a virtual private server instance and install the platform, will it work? The answer should be a simple yes, which means the IoT platform is cloud-agnostic.

Architecture and technology stack

A well-defined architecture and the appropriate combination of the technology stack is a key thing that differentiates a good IoT platform from the others. The platform may be built on a rather weird combination of technologies that are not known for working together nicely. Maybe the technology used is going to be deprecated in the next few years, especially during the operational time-span of your usage. If this is the case, you should stay away from it. The same goes for the architecture or the so-called “plumbing” of the middleware. If the architecture is not flexible enough for future changes, that is a red flag. A completely fluid architecture is not a good fit either. You need a good combination of a fluid and a rigid architecture backed by a solid, efficient technology stack.

Security

Over the last several years, the Internet of Things has become a laughing stock, mainly due to poorly managed security aspects in far too many applications and IoT solutions. The saying, “The S in IoT stands for security,” has become commonplace and is a strong indication that security in a middleware platform is as important as it is in other aspects of the IoT ecosystem. Security becomes a vital consideration factor if you choose a multitenant platform. The multitenant aspect makes the system more vulnerable because your own application may be just fine but another application using the same platform (a co-tenant of your application) can create security problems for every other tenant; the risk is always present.

Cost

The budget set for an IoT platform has a relatively larger influence on cost factors; however, overall, if the cost of the platform, whether it was built in-house or bought off the shelf, does not justify the functionality and features, then it must be reviewed. In short, the platform should add enough value to justify its cost.

Support

As much as ongoing support for platform management is essential, there is also support required for solution integration purposes. And as a mandatory requirement, the middleware platform should have strong support in the design, development, deployment, and management of the solution on an ongoing basis.


About the Author

Anand Tamboli is a versatile technologist, and has built several technology systems over the last two decades; small, medium, large, and everything in between. During this period he has garnered deep expertise in various technologies and domains, such as internet of things, machine learning, artificial intelligence, and data science. He is the founder of Knewron Technologies, Australia. With technology as a passion, Anand helps businesses increase efficiency and productivity by leveraging emerging technologies. Sane and sensible adoption of technology is his current area of focus.

This article was contributed by Anand Tamboli, author of Build Your Own IoT Platform.