|Amazon's AWS IoT - Another IoT Backend
|Written by Harry Fairhead
|Monday, 19 October 2015
When it comes to the Internet of Things, it is difficult to go from an ad man's dream to something real, but the one problem we really don't have is implementing a backend. Yet why is it everyone wants to claim the IoT is here because they have invented yet another backend?
An IoT backend is roughly speaking some sort of cloud facility for collecting and using the vast amount of data we are expecting to wipe out our computational resources from all of the devices connected to the Internet of Things (IoT).
I guess is all depends what you mean by the IoT.
There is no doubt that any vision of the IoT involves some sort of backend processing. The industrial IoT, as envisioned by GE and Intel say, is the place where factories, transport services and so on get online with lots and lots of instrumentation.
Then there is the IoT of the automobile with all of its requirements for interconnection to avoid collisions, traffic jams and lost parking spaces.
Home control IoT needs some sort of backend, but not so much for statistics and optimization as simple access and security control.
There really isn't a single IoT and the backend required isn't just one thing.
At the moment, most IoT things are simple devices that have trouble connecting to the internet and yet most of the big backends take for granted that they can do just this. Amazon's IoT offering makes this assumption and expects the things to communicate using the MQTT message passing protocol. This makes a certain amount of sense as message passing can be configured to handle unreliable communications and asynchronous notifications but this is a sophisticated protocol.
Amazon, however, has gone to the trouble of proving that there is hardware that can be connected in this way. It has starter kits for a range of well known IoT devices - MediaTek Linkit One, BeagleBone Green, Dragonboard, Intel Edison and so on. What you won't find is a basic Arduino or PIC because these aren't big enough to run the comms needed by way of TLS and all the associated security. The closest you will find to an Arduino is an Aruino Yun compatible. The majority of the devices cost around $100.
Once you get beyond the difficulties of the client then things begin to look more promising. The SDK lets a device send messages, complete with authentication and security. What these messages are is up to you.
AWS IoT provides a rules engine that allows you to transform the message and deliver it to an Amazon AWS service of your choice. This is, of course, where the AWS approach to IoT gets the upper hand. You have lots of different ways of responding to a message. The most obvious is Lambda, which can run a short script as a response. In the most general case you could use an AWS VM server to handle the data.
Another nice idea is the device shadow. Basically this is an object that stands in for the device when it isn't available. It persists the state of the device even when not connected. You can send a command to the device shadow to update its status - say set temperature to 90F and - the status will be updated when the device is online taking account of whatever state it reports it is now in.
You can find out a little more from the Invent announcement video:
The AWS IoT is attractive, especially if you already use any other AWS facility. As a backend to the Industrial IoT it has a lot going for it. In most other cases the companies making the devices for cars or your home have other ideas about how to keep you connected - to them rather than to Amazon.
At the moment AWS IoT is in beta and has a free tier for up to 250,000 512 byte messages per 12 months. After that the charge is about $5 per million messages.
or email your comment to: email@example.com
|Last Updated ( Monday, 19 October 2015 )