Internet of Iotas

Published: by

From the Cambridge Dictionary of English:

iota (n.) - an extremely small amount

From the Wikipedia:

Internet of Things (IoT) - the network of physical objects—devices, vehicles, buildings and other items—embedded with electronics, software, sensors, and network connectivity that enables these objects to collect and exchange data.

As electronics get smaller and smaller, not just wearables like an Apple Watch, but even tiny full computers like the Raspberry Pi, the "things" in "IoT" become more like "iota."

The benefits of IoT seem quite large, which is why they are one of the hottest current sectors in technology. Yet the exponential growth in the numbers of connected devices, all of which require their own software stack - both operating system and application - creates a new order of management complexity.

Yesterday, Todd Beets pointed out a company that tries to solve that management headache, resin.io.

https://twitter.com/toddbeets/status/737706863970525185

This is the challenge for IoT owners:

  1. There are two primary parts I care about when managing IoT devices: building the software, and having the software run on my devices
  2. If it were up to me, I would have the software, when ready, deploy magically to the many devices. Deployment and management are necessary headaches, like taxes, but I would much rather they do not exist.
  3. These devices are deployed all over my office, my campus, a city or the world, and thus need to be well secured.

The smart people at Resin realized that this chain is identical to the one that has been solved over the last decade on the cloud software side, by companies such as Engine Yard, Heroku, dotCloud in its day (which became Docker) and AWS Beanstalk.

This is the Platform-as-a-Service (PaaS) model.

Once the servers to which you deploy your software are no longer under your physical management - i.e. in the cloud - it becomes relatively simple to argue that they need not be under your virtual management either, since what you really care about is your application, not the underlying server, virtual or physical.

This abstraction created the opportunity for PaaS models to be acceptable, by removing everything after the "application ready, push to deploy" stage. Let the PaaS provider manage all of it for you.

As the number of servers (physical and virtual) has grown significantly, leading to much larger management and orchestration challenges, the appeal of PaaS grew, as it lets companies worry about their software, not their servers... eventually leading to so-called "serverless" models like AWS Lambda that focus entirely on software functions rather than software stacks.

IoT physical devices partially reverse this trend; they have come back under management of the owner. They no longer are in well-defined (but hidden from software owners' view) data centres; they are everywhere! At the same time, the small size and low cost of devices and connectivity which make IoT possible, in turn, create a scale management headache on par with containers, yet not as easily amenable to "well-defined networks and data centre locations" solutions.

Resin (and I am sure there are competitors) take the simplicity of PaaS, add in the management of cloud, and provide them wrapped in a single service.

I love the model. Why should IoT recreate the management headaches of years past?

Technical side note: Resin's operating system stack for running your software on IoT devices is designed quite well. It is very similar to Rancher Labs' RancherOS, which takes the container paradigm to its logical conclusion. This stack works particularly well in IoT environments, where one cannot assume easy physical access or reliable and high-speed network connections. Further, I respect Resin for being open about the design; they even appear to have open-sourced much of their stack.

What does one get when combining IoT with PaaS? Internet of Things as a Service? IoTaaS? Or since they often are tiny devices, just IoTas?

Every now and then I come across companies that take the more efficient models the industry has evolved for managing technology and applying them to newer areas. Last year, I discovered Packet, who not only have a great offering, but are run by good people with whom I have had the pleasure of interacting. This year it is Resin.