Using Microservices in the Internet of Things
Fred George talked about what organizations can do to successfully deploy microservices and the role that they can play for the Internet of Things at the GOTO Berlin 2015 conference. In an earlier interview InfoQ asked him about the support that is needed to exploit microservices. In this interview Fred George explains how the Internet of Things can exploit microservices and the challenges that the internet of things is posing and how to deal with them. InfoQ also asked him for advice for the software industry regarding the usage of microservices for the Internet of Things.
InfoQ: Can you elaborate how the internet of things (IoT) can exploit microservices?
George: The monolithic IT architectures do not align with an environment where every device has a computer and wireless connection. In my own house, I now have 7 light bulbs and 10 meters of light strips that all have their own processors. Plus I have an Apple TV and an XBox. And how I want to interact with them is probably different than what you would want to do. This requires some level of decoupling (rather than IBM or Oracle or Google or Amazon or Apple telling you this is how you’re supposed to do it). So I want devices announcing themselves and reacting to the actions of other devices (or people). Again, we encounter a fuzzy problem, a domain ideally suited for MicroServices.
So I envision a MicroService that simply indicates whether I am home or away (probably via my iPhone and it geo-location services). Another MicroService reacts to that and, based on the time of day, turns lights on or off (via Apple HomeKit and my Philips Hue controller). With MicroServices, I can keep adding a bit more sophistication through additional services without waiting for one of the big vendors to build an application with that feature.
InfoQ: Can you mention some of the challenges that you have seen with the internet of things?
George: It is still early for me, but two pop to my mind instantly. First is interoperability. How do I get devices from various vendors working with each other? The second is security. How do I protect access to systems in my house from malicious strangers (or hacker acquaintances, in my case)?
InfoQ: Do you have suggestions how to deal with these challenges?
George: For interoperability, there are a couple of standards emerging, and key vendors recognize that if their hub supports multiple interoperaibility standards, it is more likely to be used than a competitor’s. The security is best addressed by using a locked, wireless network, and following best practices to secure it. Then you only need to protect the externally-facing facade from assault. Apple TV, Microsoft XBox, and Amazon Echo all seem to be competing to be that facade.
InfoQ: Are microservices a solution for dealing with interoperability? Can you give an example?
George: Vendors have published their protocols, and have exposed API’s to their various hubs. A MicroService can serve as an adapter between various protocols. It can be lightweight and disposable, both desirable traits in a rapidly evolving environment. Colleagues that are playing with this often use Arduino processor boards for these tasks. The latest generation of these processors run modern languages, draw little power, and can be installed everywhere.
InfoQ: Which advice do you want to give to the software industry regarding the usage of microservices for the Internet of Things?
George: A successful vendor in this space will recognize the need for interoperability, and rather than solving it by successive features in proprietary products, will open up API’s to allow rich communication to their hubs and devices over standard protocols (like RESTful interfaces with http protocols). I anticipate a rich open source model emerging much like some the toy robot and drone markets. Market share is the reward for getting there first with open protocols.
Recently, Amazon is pushing hard to be that integration vendor (see Amazon to flex internet of things). Philips just reversed a decision to exclude external devices from their Hub; the negative community reaction to exclusion was so vehement that Philips understood they would lose market share by such a move (see Philips Hue is getting back its third party smart bulb support). The industry seems to understand what they need to do.