In 2014 the "Cloud" gained some valuable traction with mature product offerings as well as clarity in service expectation and pricing models emerging. We also saw the rise of the "Internet of Things", but some degree of misunderstanding and media hype exists and will continue to exist well into 2015. Firstly, what is "The Internet of Things" (IOT) and secondly, how can the cloud benefit?
What's old is new again?
For decades machines have contained micro controllers that enable them to perform their task(s), over the years more sophisticated machines evolved with proprietary software protocols and hardware to enable them to talk to each others or central control systems usually with hefty incensing and software costs. These early systems were often referred to as SCADA systems, "Supervisory, Control and Data Acquisition", they have been in existence for at least 20+ years and most oil & gas plants, power generation, building automation and automated factory systems have them.
They are not new by any stretch of the imagination but what has happened in the last 10 years is the growing introduction of cheap Ethernet and Wifi interface modules that have been very economically priced to warrant adding them into these small control systems.
One area that has seen rapid adoption has been home automation and building control. Instead of wiring huge amounts of cable back to a central point, de-centralised nodes linked via Ethernet or Wifi emerged, reducing installation and maintenance costs significantly. With the increase in control nodes there has been a corresponding increase in the data these nodes can provide. By using nonproprietary networking protocols (such as TCP/IP) and network hardware more device platforms can interface into them to utilise that data and open opportunities to provide control and monitoring.
For a typical building, there are 1000's of temperature zones that can be monitored, air-flow into rooms, floor humidity, chilling stages, re-heating stages as well as occupancy detection, lighting control, lift control, water monitoring and regulation and a host of other control and monitoring points for ancillary services. If you even just consider a house, each room could have half a dozen monitoring points, multiply that by the number of rooms as well as the outside environment and the number of connected devices and the data they generate is substantial. Now multiply that by a suburb, city or country! We haven't even started on cars, trucks, trains or our road and environmental infrastructure!
So where is IOT heading and where does "The Cloud" fit in?
Lets assume home automation is big in 2015, it might be if the purchases by Google are an indication. Over the last few years Google has been buying up the cream of the worlds Robotic companies and adding to the list of acquisitions is a (growing) number of home automation companies. My guess is that the future thinkers at Google can see a fully interconnected world where factories are automated, cars drive themselves and people basically work to solve the future problems, robots do the manual labour and systems interact to serve us. Sounds almost futuristic, but its only been 50 years since we travelled into space and the explosion of technology in the last 20 years has outpaced all previous periods in history. Owning the technology that delivers this could be very rewarding. But back to the Cloud, the key outcome of all this information is data generation and control, ideally centralised and ideally secured.
Opening all those devices to open slather access to the Internet for anybody to see is a receipt for disaster and in terms of security would see homes, commercial buildings and any other IOT system the subject of all kinds of security threats. Cloud based servers that provide secured central points of access limit the threat of attacks to IOT systems, Cloud Servers can provide central points of authentication, provide web interfaces for IOT devices that might need to talk different protocols like MQTT or REST and they can be the repository of data generated by IOT devices. We already entrust huge volumes of data to Cloud storage providers so this creates new and exciting opportunities to Cloud Vendors for value added services.
Some Technical Scenarios to consider
Lets get technical, lets assume you have spent $1000's adding automation to your house, you can see the temperature in any room, the attic and outside, you can turn on the lights, the garden sprinklers and regulate the time the pool pump is running as well as monitor your overall power usage. You announce it on a Blog and suddenly 30,000 people go to your home automation page and flood your home Internet link, assuming you have a fixed IP address and a public facing web server! Obviously the traffic load will be an issue, so in reality you don't want people to connect to your home, but while you are home you will need some level of Intranet access to do neat things like enable your security lighting, reduce cooling and air flow to un-occupied rooms and make sure the pool PH level is correct. Even on an intranet using Wifi, there are dangers.
Security for IOT systems is going to be a nightmare!
What protocol should these devices talk? While Internet Protocol (IP) is the defacto transport layer, high level protocols like MQTT are being promoted as the way forward and is sending your data to the Cloud a realistic idea and of any benefit?
Lets say a company offers you money for your power usage data, from this data a real time usage map could be produced that shows power consumption for a collection of streets, a suburb or an entire city. Not only is the data about power usage but its smart enough to report power usage for lighting, heating, cooling, cooking etc brokering this data and being paid for it might produce additional house hold income and create new economic models. Technically data needs to be delivered to those who wish to use it, Cloud Servers could be employed to store the data and broker it onwards to other interested parties, this could be done independently of the data source (your home or office building). If those devices also identify themselves then a whole new marketing segment opens up as well, this might be an unwelcome side effect for future consumers.
For data gathering use cases, pushing data to a Cloud Based server using a protocol like MQTT or a Publish/Subscribe protocol like RabbitMQ or some "yet to become popular" protocol needs to be identified early so the bugs can be ironed out. Personally I like the idea of generating data in JSON format and pushing that to a web service running on the Cloud Server, this data can then be brokered to third parties at a cost that reduces my server bill and subsidises my investment in technology.