What is Azure Digital Twins?
Azure Digital Twins is a platform as a service (PaaS) offering that enables the creation of twin graphs based on digital models of entire environments, which could be buildings, factories, farms, energy networks, railways, stadiums, and more—even entire cities. These digital models can be used to gain insights that drive better products, optimized operations, reduced costs, and breakthrough customer experiences.
Azure Digital Twins can be used to design a digital twin architecture that represents actual IoT devices in a wider cloud solution, and which connects to IoT Hub device twins to send and receive live data.
IoT Hub device twins differ from digital twins in the Azure Digital Twins service. While IoT Hub device twins are maintained by your IoT hub for each IoT device that you connect to it, digital twins can be representations of anything defined by digital models and instantiated within Azure Digital Twins.
Take advantage of your domain expertise on top of Azure Digital Twins to build customized, connected solutions that:
- Model any environment, and bring digital twins to life in a scalable and secure manner
- Connect assets such as IoT devices and existing business systems
- Use a robust event system to build dynamic business logic and data processing
- Integrate with Azure data, analytics, and AI services to help you track the past and then predict the future
Azure Digital Twins capabilities
Here's a summary of the features provided by Azure Digital Twins.
Open modeling language
In Azure Digital Twins, you define the digital entities that represent the people, places, and things in your physical environment using custom twin types called models.
You can think of these model definitions as a specialized vocabulary to describe your business. For a building management solution, for example, you might define models such as Building, Floor, and Elevator. You can then create digital twins based on these models to represent your specific environment.
Digital twins in Azure Digital Twins are different from device twins in IoT Hub. IoT Hub device twins often focus on describing the aspects and capabilities of a device itself, while twins in Azure Digital Twins are more conceptual representations that can store user-defined insights about a device or many related devices.
IoT Hub device twins can be connected to Azure Digital Twins as part of an end-to-end solution that represents devices across services.
Models are defined in a JSON-like language called Digital Twins Definition Language (DTDL), and they describe twins by their state properties, telemetry events, commands, components, and relationships.
- Models define semantic relationships between your entities so that you can connect your twins into a graph that reflects their interactions. You can think of the models as nouns in a description of your world, and the relationships as verbs.
- You can also specialize twins using model inheritance. One model can inherit from another.
DTDL is used for data models throughout other Azure IoT services, including IoT Plug and Play and Time Series Insights (TSI). This type of commonality helps you keep your Azure Digital Twins solution connected and compatible with other parts of the Azure ecosystem.
Live execution environment
Digital models in Azure Digital Twins are live, up-to-date representations of the real world. Using the relationships in your custom DTDL models, you'll connect twins into a live graph representing your environment.
You can visualize your Azure Digital Twins graph in Azure Digital Twins Explorer, which provides the following interface for interacting with your graph:
Azure Digital Twins provides a rich event system to keep that graph current with data processing and business logic. You can connect external compute resources, such as Azure Functions, to drive this data processing in flexible, customized ways.
You can also extract insights from the live execution environment, using Azure Digital Twins' powerful query API. The API lets you query with rich search conditions, including property values, relationships, relationship properties, model information, and more. You can also combine queries, gathering a broad range of insights about your environment and answering custom questions that are important to you.
Input from IoT and business systems
To keep the live execution environment of Azure Digital Twins up to date with the real world, you can use IoT Hub to connect your solution to IoT and IoT Edge devices. These hub-managed devices are represented as part of your twin graph, and provide the data that drives your model.
You can create a new IoT Hub for this purpose with Azure Digital Twins, or connect an existing IoT Hub along with the devices it already manages.
You can also drive Azure Digital Twins from other data sources, using REST APIs or connectors to other services like Logic Apps.
Output to ADX, TSI, storage, and analytics
The data in your Azure Digital Twins model can be routed to downstream Azure services for more analytics or storage. This functionality is provided through event routes, which use Event Hub, Event Grid, or Service Bus to drive your data flows.
Some things you can do with event routes include:
- Sending digital twin data to ADX for querying with the Azure Digital Twins query plugin for Azure Data Explorer (ADX)
- Connecting Azure Digital Twins to Time Series Insights (TSI) to track time series history of each twin
- Aligning a Time Series Model in Time Series Insights with a source in Azure Digital Twins
- Storing Azure Digital Twins data in Azure Data Lake
- Analyzing Azure Digital Twins data with Azure Synapse Analytics, or other Microsoft data analytics tools
- Integrating larger workflows with Logic Apps
This option is another way that Azure Digital Twins can connect into a larger solution, and support your custom needs for continued work with these insights.
Azure Digital Twins in a solution context
Azure Digital Twins is commonly used in combination with other Azure services as part of a larger IoT solution.
A sample architecture of a complete solution using Azure Digital Twins may look like the following:
- The Azure Digital Twins service instance. This service stores your twin models and your twin graph with its state, and orchestrates event processing.
- One or more client apps that drive the Azure Digital Twins instance by configuring models, creating topology, and extracting insights from the twin graph.
- One or more external compute resources to process events generated by Azure Digital Twins, or connected data sources such as devices. One common way to provide compute resources is via Azure Functions.
- An IoT hub to provide device management and IoT data stream capabilities.
- Downstream services to handle tasks such as workflow integration (like Logic Apps, cold storage, Azure Data Explorer, time series integration, or analytics).
The following diagram shows where Azure Digital Twins lies in the context of a larger Azure IoT solution.
You can read about the service limits of Azure Digital Twins in the Azure Digital Twins service limits article. This resource can be useful while working with the service to understand the service's functional and rate limitations, as well as which limits can be adjusted if necessary.
You can view a list of common IoT terms and their uses across the Azure IoT services, including Azure Digital Twins, in the Azure IoT Glossary. This resource may be a useful reference while you get started with Azure Digital Twins and building an IoT solution.