The Industrial IoT Microservices depend on several other services and technology:
All OPC UA components use the OPC Foundation's OPC UA reference stack as NuGet packages and therefore licensing of their NuGet packages apply. Visit https://opcfoundation.org/license/redistributables/1.3/ for the licensing terms.
The deployment tool deploys the Industrial IoT Microservices into a Linux VM or Azure Kubernetes Cluster and creates the following required PaaS services:
The Azure IoT Hub is used as cloud broker for Edge to Cloud and Cloud to Edge messaging. IoT Hub manages device and module identities, including OPC UA endpoints and applications.
Azure Cosmos DB is used as a universal database to store job data for publisher and twin, OPC UA address space model data, Certificate requests, and more.
Notification backplane is implemented on top of Service Bus to provide reliable delivery of updates and events between services. A separate Azure Event Hub is used to forward OPC Publisher telemetry to downstream consumers such as Azure Time Series Insights.
Azure KeyVault is used to store configuration secrets such as private keys and passwords securely.
Azure SignalR service is used for scalable UI client notifications without the need of hosting a SignalR endpoint.
A storage account is used by the onboarding Microservice to persist Azure IoT Hub Event Hub Endpoint read offsets and partition information to support partitioned and reliable access from multiple instances.
All Microservices are registered as Application in Azure Active Directory to integrate with Enterprise Authentication and Authorization policies.
Edge modules are deployed through IoT Hub to Azure IoT Edge. to provide protocol translation and a local management plane. Modules are simple Docker containers consumed from a docker registry, such as Microsoft Container Registry (MCR). Edge components only need to open an outbound SSL connection to enable bidirectional services.