Event Driven Architecture Publish Subscribe for the Internet of Things is important
The Internet of things is projected to be a multi-trillion dollar market with billions of devices expected to be sold in a few years. It is happening.
What is driving IOT is a combination of much lower cost hardware, lower power communications. This is enabling virtually everything to become connected cheaply.
There is a lot of emphasis on watches but a vast array of devices that make our lives easier and smarter are flooding the market, fuel efficient thermostats, security systems, drones and robots of all types for business but eventually for the home.
Tesla has proved that the connected car is a very useful thing. Virtually every car manufacturer has decided to move in this direction rapidly.
The industrial market for connected control and monitoring has existed and will expand in automated factories, logistics automation, building automation. However, efficiencies are being found with new areas, for instance, connected tools for the construction site enable construction companies to better manage construction process.
We are also seeing increased intelligence from what I call the network effect. The excess value created by the combination of devices all being on a network.
There can be no doubt that even in the most pessimistic scenario it is a multi-trillion dollar market.
The remarkable thing is that all the protocols for the Internet of things share one common characteristic. They are all designed around publish/subscribe. TIBCO, the company I founded used publish/subscribe to build trading floors. What do trading floors and weather stations at home, light switches and robotic lawn mowers have in common?
The commonality is that information on a trading floor comes from numerous sources and is distributed to whoever needs it. In the same way information from a numerous IOT devices could be used by many subscribers. If I publish a message like shut off all living room switches it is not different conceptually from saying I just bought 100 shares of IBM. The trade may trigger a number of processes in a trading firm. The command triggers a number of actions of different devices.
Publish subscribe led to massive efficiency gain winning in 3 years virtually the entire financial world. Today, trading floors are still built on publish subscribe event driven architecture.
The benefit of publish subscribe event driven computing is simplicity and efficiency.
Devices or endpoints can be dynamic, added or lost with little impact on the system. New Devices can be discovered and rules applied to add them to the network and establish their functioning. All the IOT standards support some form of discovery mechanism so that new devices can be added as close to seamlessly as possible. Over the air a message can be delivered once to many listeners simultaneously without any extra effort by the publisher. When the cost of publishing is high, for instance a battery powered device less work means longer life and cheaper cost.
Security and Privacy
There is a problem with all this efficiency and flexibility. Security and privacy. Most of the protocols do support a way to encrypt messages but there are serious issues in security and privacy with todays protocols. Z-Wave probably has the best story of the IOT protocols although vulnerabilities have been discovered recently. Zigbee also supports security mechanisms. There are a dozen IOT protocols and the diversity means a lot of devices will not be secure and it is likely that different protocols will have different vulnerabilities. Authentication of devices is not generally performed so various attacks based on impersonation are possible.
Most of the devices and protocols don’t automate software updating. Sometimes quite complicated action is needed to update software on devices. This can lead to vulnerabilities persisting for a long time.
Eventually these issues will be worked out and devices will automatically download authenticated updates. The packets will be encrypted to prevent eavesdropping and it will be harder to hack IOT device security but this could take years. Enterprise versions of devices will undoubtedly flourish which support better security as this will be a requirement for enterprise adoption.
Publish subscribe generates a lot of excitement I think because of the agility it gives people to leverage information easily providing for faster innovation and more network effect. Point to point technologies lead to brittle architectures that are burdensome to add or change functionality. I have always found the publish subscribe paradigm an exciting way of designing systems. I am excited that IOT has become a new venue where we can explore the creativity that is engendered by this publish subscribe paradigm I started.
This EDA Series:
Event Driven Architecture – Internet of Things – What do trading floors and home thermostats have in common?
Event Driven Architecture – Enterprise Concerns: High Availability / Disaster Recovery / Fault Tolerance / Load Balancing / Transactional Semantics / Performance Design
Other Articles you may find interesting:
MicroServices – Martin Fowler, Netscape, Componentized Composable Platforms and SOA (Service Oriented Architecture)
Publish / Subscribe Event Driven Architecture in the age of Cloud, Mobile, Internet of Things(IoT), Social