Putting the 'I' in IoT - Building Digital Twins with Akka Microservices
Akka Microservices for IoT Digital Twins
For most IoT users, the physical device is only part of the story–a digital twin (a.k.a. virtual companion) for each device is usually needed. Imagine a smart home smoke detector that beeps loudly but fails to notify residents or authorities on a mobile device because of a system error. That’s just IoT without the “I”.
In this webinar with Hugh McKee, Developer Advocate for Akka Platform, we’ll look at “What on Earth”, a demo exploring how Akka Microservices serves as an ideal solution for high-scale digital twinning for IoT–exemplified by Tesla in this TechRepublic article.
What we cover in this presentation:
- Demo IoT App: “Where on Earth”, a deceptively simple demo that can launch thousands to millions of simulated IoT devices using Akka Actors, which are used to represent the current state of each device and process telemetry messages. Then we’ll scale it up.
- Design Concepts: How CQRS and Event Sourcing is employed, using Akka Projections to take data from an event log and project it onto a map as simulated IoT digital twins–a multi-step operation conducted between two microservices–at a rate of thousands devices per second on minimal infrastructure.
- Code Review: A deeper look at some code and how these two Akka microservices utilize different parts of the Akka toolkit, including Akka Cluster (and cluster singletons), Akka Persistence, Akka gRPC, Akka HTTP, and Akka Projections.
Try The Demo Project Yourself
Check out the demo projects yourself on GitHub, where you can find the WoE Simulator and WoE Twin microservice examples used in this presentation. Note that these projects are still a work in progress, and the README areas will be updated.
If you'd like to learn more about Akka, check out our "How Akka Works" tutorials:
- Webinar: https://www.lightbend.com/blog/interactive-demo-akka-cluster-nodes-under-attack-visualized
- Video / Demo: https://www.lightbend.com/blog/akka-cluster-quickstart-dashboard-part-1-getting-started
- Full Project: https://www.lightbend.com/blog/how-to-distribute-application-state-with-akka-cluster-part-1-getting-started
We also invite you to visit the Akka website for in-depth documentation, and if you feel like it's time to explore opportunities with Lightbend, you can schedule a demo for your team: