Please log in to watch this conference skillscast.
IoT, the prevalence of specialized interconnected devices, has invaded business and home. The myriad of devices, hubs, and APIs has created a Tower of Babel that makes the Android phone scene seem mild. Such devices are inherently less network reliable than previous products, primarily due to the casual attachment (convenient outlets). Add to this heterogeneous soup the security exposure that has already been exploited in DDoS attacks, and you have an environment begging for technical solutions.
We propose Asynchronous MicroServices as a solution. Borrowing a page from historical J2ME thinking and more recent implementations using IFTTT, we introduce small bridging MicroServices for the various devices. Further, also consistent with MicroServices, we keep these services very simple: They broadcast device status to an event bus, or listen for action commands to relay to the devices from the same bus. Interaction among the various IoT devices is delegated to yet another set of MicroServices.
One exemplary composite application would accept signals from motion detectors to turn on appropriate lights, or alternatively alerting the owner of unauthorized intrusion. Using the same motion detectors, lights can be dimmed and eventually turned off. Room temperatures and even audio/video gear could be adjusted as well. Using Asynchronous MicroServices, we can also set up controlled access from the outside world, rather than exposing each device with its own vulnerabilities.
Finally we wrap up talking about the challenges of implementing this in my own flat using Hue lights, Amazon Alexa, and 4th generation Apple TV. We run these MicroServices in local containers attached to the same home network. Docker support of ARM devices enables low cost redundancy as well.
YOU MAY ALSO LIKE:
- YOW! December 2022: Online (Online Conference on 5th - 13th December 2022)
- IoT and MicroServices (SkillsCast recorded in September 2017)
- Beyond Java 8 with Ben Evans (Online Workshop on 18th - 19th November 2022)
- ScalaCon 2022: Opening Keynote Networking Party (in London on 4th October 2022)
- ScalaCon 2022 (Online Conference on 4th - 8th October 2022)
- Buffalo Rust User Group, First Tuesdays (Online Meetup on 5th - 6th October 2022)
- Team Topology - Enablement mode (Online Meetup on 6th October 2022)
- Uh, Does This Thing Actually Work? Modern Microservices Testing (SkillsCast recorded in August 2022)
- How to Contribute to Java and Open Source Projects (SkillsCast recorded in August 2022)