The Internet of Things has generated a mix of enthusiasm and concern. There's no question that a web of sensors...
and controllers could enrich our lives -- but it could also be misused in disastrous ways. Fortunately, the cloud can help us harness the good of the Internet of Things and largely prevent the bad.
The Internet of Things (IoT) is a vast collection of devices that are connected to the Internet. And while the industry is already discussing and addressing the security risks associated with the IoT model, another aspect to consider is cost. Even today, a Wi-Fi or 4G or 5G sensor costs three to five times as much as a simple home or office sensor based on a recognized protocol like ZigBee or X10. So, how can a business justify that cost, particularly when Internet-connected sensors would be open to all?
For enterprise IT architects, a cellular-centric view of IoT could require an upgrade of existing processes and networks -- an initiative that's difficult to justify to the CFO. This IoT model also raises new security and compliance concerns that private sensor networks don't, which makes cost justification even more problematic. There are some IoT applications where cellular connectivity is mandatory -- for example, an app that tracks vehicle transportation -- but for the rest, a better model is needed.
The role of cloud, microservices in an IoT model
A better way to approach IoT is to think of it not as a collection of sensors but as a collection of cloud-hosted microservices. Similarly, we should think of the Internet not as a collection of servers but a collection of resources. Microservices can use the same RESTful APIs that are used on the Internet today, making sensors and controllers visible without opening them to vulnerabilities.
Microservices let you perform specific tasks, read specific data elements and change specific parameters. Using these capabilities, organizations can apply security and policy filters to control the way IoT is used -- something that would be very expensive to build into every online sensor and controller.
Cloud-hosted microservices would create an IoT model that's a collection of functions. For example, one set of functions would collect sensors and controllers and make them visible in the form of data rather than devices. It could even add time-stamped data to make it easier for users to project trends and identify correlations. The data could also be indexed by location, allowing it to link to a user's location or route. With the addition of a gateway box, any sensor network could be added to the IoT device collection. This builds a critical mass of sensor data quickly and at a low cost.
The cloud adds a dimension of dynamism to microservices, which is essential to address highly variable IoT workloads. For example, when there's a traffic jam after a concert ends, inquiries to IoT sensors could swamp the devices. But with microservices, a single process could obtain device information and store it for millions to access, scaling the number of microservice processes as needed to address workload changes.
The impact of cloud, microservices on public IoT services
Microservices and cloud also facilitate new levels of customization and innovation for public IoT services. For instance, imagine a sales or service routing application designed to pick a walking route in a major city. Such an app would have to understand the location and data formats of hundreds of sensors that many different agencies deploy -- and few developers could handle the task. However, with simple APIs, a set of microservices could make that information available in a common format. Developers could then publish their microservices to add value.
An IoT model for public services has to reach critical mass to be useful, and anything that complicates cost justification, security, and compliance will delay deployment. Even for enterprise IoT, whether based on private sensors and controllers or on public IoT resources, just getting enough information to sustain worker productivity will be a challenge. Devices alone won't address the challenge, and IT professionals would be benefit more from a microservices model.
Questions remain about how organizations can best assemble microservices from multiple sources into a useful IoT model. But however complicated it might be to create a registry to catalog APIs and cloud-hosted microservices, the process of controlling security, policy and identity for billions of sensors on an individual basis is more complex. To avoid this, organizations pursuing an IoT deployment should consider a cloud and microservices approach.
Ten ways CIOs can prepare for IoT
A look at AWS' IoT cloud service
Using microservices and containers for DevOps