Tutorial: Deploy the Azure Industrial IoT Platform
In this tutorial, you learn:
- About the main components of the IIoT Platform
- About the different installation types
- How to deploy the Industrial IoT Platform
- An Azure subscription must be created
- Download Git
- The Microsoft Azure Active Directory (Azure AD) app registrations used for authentication require Global Administrator, Application Administrator, or Cloud Application Administrator rights to provide tenant-wide admin consent (see below for further options)
- The supported operating systems for deployment are Windows, Linux and Mac
- IoT Edge supports Windows 10 IoT Enterprise LTSC and Ubuntu Linux 16.08/18.04 LTS Linux
The Azure Industrial IoT Platform is a Microsoft suite of modules (OPC Publisher, OPC Twin, Discovery) and services that are deployed on Azure. The cloud microservices (Registry, OPC Twin, OPC Publisher, Edge Telemetry Processor, Registry Onboarding Processor, Edge Event Processor, Registry Synchronization) are implemented as ASP.NET microservices with a REST interface and run on managed Azure Kubernetes Services or stand-alone on Azure App Service. The deployment can deploy the platform, an entire simulation environment and a Web UI (Industrial IoT Engineering Tool). The deployment script allows to select which set of components to deploy.
- Minimum dependencies:
- IoT Hub to communicate with the edge and ingress raw OPC UA telemetry data
- Azure Cosmos DB to persist state that is not persisted in IoT Hub
- Service Bus as integration event bus
- Event Hubs contains processed and contextualized OPC UA telemetry data
- Key Vault to manage secrets and certificates
- Storage for Event Hubs checkpointing
- Standard dependencies: Minimum +
- App Service Plan, App Service for hosting the cloud microservices
- UI (Web app):
- App Service Plan (shared with microservices), App Service for hosting the Industrial IoT Engineering Tool cloud application
- Virtual machine, Virtual network, IoT Edge used for a factory simulation to show the capabilities of the platform and to generate sample telemetry
- Azure Kubernetes Service should be used to host the cloud microservices
Deploy Azure IIoT Platform using the deployment script
To get started with the deployment of the IIoT Platform, clone the repository from the command prompt or terminal.
git clone https://github.com/Azure/Industrial-IoT cd Industrial-IoT
Start the guided deployment. The script will collect the required information, such as Azure account, subscription, target resource and group and application name.
.\deploy -version <version> [-type <deploymentType>]
On Linux or Mac:
./deploy.sh -version <version> [-type <deploymentType>]
Replace <version> with the version you want to deploy.
Replace <deploymentType> with the type of deployment (optional parameter).
The types of deployments are the followings:
minimum: Minimum dependencies
local: Minimum and standard dependencies
services: Local and microservices
simulation: Minimum dependencies and simulation components
app: Services and UI
all(default): App and simulation
The microservices and the UI are web applications that require authentication, this requires three app registrations in the Azure AD. If the required rights are missing, there are two possible solutions:
- Ask the Azure AD admin to grant tenant-wide admin consent for the application
- An Azure AD admin can create the Azure AD applications. The deploy/scripts folder contains the aad-register.ps1 script to perform the Azure AD registration separately from the deployment. The output of the script is a file containing the relevant information to be used as part of deployment and must be passed to the deploy.ps1 script in the same folder using the
cd deploy/scripts ./aad-register.ps1 -Name <application-name> -Output aad.json ./deploy.ps1 -aadConfig aad.json
Other hosting and deployment methods
Other hosting and deployment methods:
- For production deployments that require staging, rollback, scaling, and resilience, the platform can be deployed into Azure Kubernetes Service (AKS)
- Deploying Azure Industrial IoT Platform microservices into an existing Kubernetes cluster using Helm.
- Deploying Azure Kubernetes Service (AKS) cluster on top of Azure Industrial IoT Platform created by deployment script and adding Azure Industrial IoT components into the cluster.
Now that you have deployed the IIoT Platform, you can learn how to customize configuration of the components:
Submit and view feedback for