IoT: approaching the edge

Today’s IoT is dominated by the big cloud providers.

They have amazing infrastructure, hugely complex and efficient management processes, and they process mind-boggling amounts of data every second to keep all our devices talking securely to each other via their servers. IoT would not be here today without them, and of course they are hugely influential within the industry, with products such as the Amazon Echo and Google Home.

Periodically concerns about privacy of our data in the cloud are raised, but largely we’ve been willing to relinquish a certain amount of our personal data to the cloud in return for the convenience and new experiences it offers us. The cloud giants clearly hope this is a trend that will continue, and for now at least it shows no sign of diminishing.

If your business has ambitions in the IoT area, it certainly helps if you’re one of those companies who happens to already own a large cloud infrastructure, but what if you don’t? Would those companies really price their cloud services so that you could compete with them by basing a rival service on their cloud infrastructure? IoT is expected to be big business, and the race to dominate the space is well and truly started.

Most connected ecosystems make heavy use of the cloud as an “always-on” resource that will respond to devices instantly, brokering complex communications over often intermittent infrastructure. The cloud is the one thing you can rely on always being there, right? Well that’s true when its hosting services… but in the IoT the role is reversed. The services are hosted on the devices and the cloud is the “client”. In this case its the device itself where the reliability counts, and, despite best efforts to make the cloud provide a reflection of the current state of the service, its clear that no amount of reliability in the cloud fixes the fundamental role reversal. That reflection may always be there, but is it always up to date?

Cloudy skies ahead?

Using the cloud to “reflect” the state of remote services has unexpected implications for building out large scale systems containing many millions of devices. It means the cloud has to host an awful lot of “reflections” and has to maintain constant connectivity with the actual devices (services) to ensure they are always up to date. Big providers like AWS and Azure provide out-of-the-box implementations of this to help you scale your system, but at a cost. Of course cloud costs are on a general downward trend, but anyone who has done the calculations knows that today the costs for larger deployments are significant, and of course grow rapidly the more successful you are. Thats good news for cloud owners’ bottom line.

Another hot topic in IoT is how to secure everything. One downside of “reflecting” everything in the cloud is that a single compromise of the cloud service can potentially offer up control of all the devices connected to it, or at the very least all the data delivered from those services. Of course there are other potential points of compromise, but the cloud service is an obvious one. It’s an always-on point of attack and requires considerable expertise to secure with confidence.

The concept of ‘edge computing’ — optimizing cloud computing systems by performing data processing at the edge of the network — could provide answers. Today, smartphones and IoT gateways/hubs are remarkably capable compute devices, and the proliferation of these has parallels with the previous slow decline of the mainframe computer in favour of the PC. As this quiet trend progresses there are opportunities to move some processing out of the cloud to “the edge”. This can significantly change the cloud-based cost model, and make the cloud less attractive as a central point to attack.

Are the leading cloud providers becoming “edgy”?

One telling development is the recent rise of “edge add-ons” from the cloud service providers. These make bold claims about allowing seamless transitioning of cloud code onto edge devices, again, at a price. These are relatively new, and in some cases still in the pre-release phase, so the extent to which these really enhance the related cloud offerings is still being evaluated by the market. The pricing models are still being solidified in some cases too, but it seems clear already that there will be a cost associated with running your cloud code at the edge under these systems.

Finding a balance

There are many innovative types of connected services and devices emerging on a daily basis. The optimum balance between cloud-centric and edge computing is different for each one, and its highly likely that both types of system, and hybrids of both will exist side by side. Those businesses which go on to succeed in this area will likely be those that pay attention to the underlying cost model and achieve the right balance for their application.

Image courtesy of Pixabay.com (CC0 1.0)