Sometimes your IoT product needs the cloud. But sometimes it’s better to provide a cloudless solution.
Like it or not, the cloud is an essential part of many IoT products. It provides remote access, superior data processing power, and better security. However, many have legitimate concerns with the cloud. Privacy is one: we may not always want our data sent to the cloud. Another is resilience: what happens if the cloud goes down?
So what should you do?
The answer is straightforward: provide one cloudless version of your product and one that uses the cloud. And make it possible for your users to chose. Why do we even use the cloud at all? There are a number of good reasons.
Why IoT in the Cloud?
First, the cloud makes the tech work better. Components include:
- Data storage: The cloud can store an almost unlimited amount of data.
- Computation: Some mechanisms need an abundance of computational power, which the cloud can provide an almost unlimited amount of.
- Remote access: To provide users with remote access to the IoT devices’ data or to control the devices themselves, you need to have a cloud service that connects the devices with their users.
- Access control: The cloud can provide effective access control mechanisms for your users.
- Data learning: To run effective machine learning algorithms, you sometimes need access to a wide range of data. The cloud lets you collect data from more than one site to cross-reference and combine this data.
- Application integration: IoT systems rarely run on their own. Integration with other software systems is much easier if the backend is located in a single place: the cloud.
- Security updates: when the IoT backend is run in the cloud, a dedicated security team can keep track of and apply security updates as needed. Yes, the cloud actually makes the IoT more secure – not less.
Second, the cloud makes the user experience better:
- Always accessible. As a user, you don’t need to be near your IoT devices to access them.
- Data history. Your entire history will always be available.
- Sharing. You can easily share your data and devices with others.
So if the cloud is so good, why don’t companies always use it?
Privacy is not the only reason why you’d want to avoid the cloud. Other reasons include stability, persistence, data privacy, security, and necessity.
When it comes to stability, if the Internet connection is unstable, the cloud may be difficult to reach, making the system unstable. In persistence, cloud services may go away, so avoiding the cloud may allow the IoT system to run forever without relying on the hosting company to persist.
Additionally, with data privacy, sometimes data should not leave the location where it is generated and a secure network can provide fewer network connections meaning fewer attack vectors. Lastly, sometimes there just isn’t Internet access.
Any cloud-based software may become unreachable if the cloud goes down. It can happen to the best of us. Any IoT solution that wholly depends on the cloud will go out if the cloud goes down. Even worse, the cloud may go away altogether.
Maybe the company that runs the servers goes out of business. Or maybe it just isn’t economically viable to keep it running. This has happened many times. Sometimes the reason for not wanting to use the cloud is very simple: Internet access just isn’t available.
Maybe the IoT system is deployed in a very rural environment. Or underground. Or on the sea. In these circumstances, the cloud isn’t an option.
Cloudless IoT Challenges
Unfortunately, building a cloudless IoT is not always easy.
Challenges include authentication, remote access, data processing, software development, and software updates.
Authentication is significantly easier with the cloud, thanks to mechanisms such as 2-factor authentication. Providing remote access without the cloud is very difficult and in most cases impossible.
Crunching numbers without having access to the abundance of storage and computation that the cloud provides is significantly harder when trying to process data. Many IoT systems need data processing or similar mechanisms, and these systems are often designed to be run in the cloud.
So what is the best way to deal with this?
How To: Cloudless IoT
Sometimes you can get away with a mini-cloud: a scaled-down variant of the same software that would run in the cloud. You can run it on a small computer right next to the IoT devices. Think of a Raspberry Pi-class device.
Unfortunately, sometimes a mini-cloud is not enough. You won’t get the same experience with a mini-cloud as with the real cloud. It would help if you actually had the cloud.
There is one way to solve this. Provide two versions for your users: full and local. The full version with the cloud is easy to use and easy to access. The local version operates only with the mini-cloud. It may not be as easy to use and will not provide full access, but it will not use the cloud.
This is not as simple as it seems: you need to design your system correctly. Many tools and platforms won’t support you. But do it right, and your users will love it. Users can run completely cloudless. Provide your users the option to connect to the cloud, and they will get a supercharged version of your product.
But let your users choose. And make the local version as great as you can.
The cloud is an integral part of the Internet of Things. But not everywhere, and not all the time. Provide a cloudless version of your product and the option to supercharge your IoT product, with the cloud.