The newest version of the Azure IoT Edge is still in public preview but this one makes the Edge truly intelligent!
We are now able to both distribute and manage logic on-premise.
Version one of the IoT Edge was and still is based on running an executable. And each module (ingest, transform, distribute) is a class in a dynamic library. And all modules are connected using a broker serving the role as MessageBus. Messages between modules are exchanged using configurable routes.
This first version is still available for download. But the new version is fundamentally different.
Modules hosted as a container
In the new version, we still see modules connected by and exchanging messages using a local MessageBus. But Microsoft has redefined the modules into separate executables, each running is a different container. The containers are hosted in Docker and can run on Linux or Windows.
Microsoft already provided a lot of modules in the Docker Hub, for OPC UA support, for Modbus support, etc. And you can deploy your own modules too!
There are multiple examples available on the Microsoft website which explain how to get started.
In this blog, I show how tweaking some example code leads to even better management and a better understanding of what's happening on the Edge using the Module Twins properties.