Architecture for Microsoft Sustainability Manager

Microsoft Sustainability Manager is built on the capabilities of Common Data Model, Microsoft Teams, and Microsoft Power Platform. To set up the solution, you need to use Microsoft Cloud Solution Center, which sets up the Dataverse environment, deploys the solutions, data model, and sample data into it.

The following diagram shows the Microsoft Sustainability Manager solution architecture.

A diagram showing the reference architecture of microsoft sustainability manager

Download a printable PDF of this solution architecture diagram.

The rest of this article discusses the component layers that compose the solution architecture layer.

Security

Sustainability users shown in the diagram are those users who interact with Microsoft Sustainability Manager. The following list shows typical sustainability user personas with their respective responsibility definition:

  • Sustainability Lead: Provides the emissions to partner teams.
  • Sustainability Specialist: Responsible for emissions reporting tasks.
  • Emissions Analyst: Analyzes emissions data and sends analysis results to other stakeholders.
  • IT Admin: Collects and ingests emissions data into the system.
  • Operations: Operates facilities, monitors and improves system performance while reducing carbon emissions, energy use and costs, water consumption, and waste.

Authentication

Sustainability users authenticate to Microsoft Sustainability Manager via Microsoft Entra ID like any other Power Apps application. Microsoft Entra ID performs the authentication methods that are enabled in the tenant and enforces any conditional access policies, such as Microsoft Entra multifactor authentication for users accessing the application.

Authorization

Microsoft Sustainability Manager uses the role-based security model in Dataverse to authorize users to access data elements. Built-in security roles are available, or you can configure your own to implement the role-based security model. The access level considers the business unit hierarchy that the user is a member of.

First, you need to model and configure your business unit hierarchy. Then you can copy these built-in security roles and apply them to your business units to create your security segmentation. As part of your user management, you assign these security roles to the end user, teams, or business units.

For more information about how you can work with Microsoft Entra groups, see Security concepts in Microsoft Dataverse.

User interface

Microsoft Sustainability Manager is a model-driven app that interfaces with end users. The Power Platform Power Apps configuration capability exposes data elements to model-driven apps.

Data layer

The Microsoft Cloud for Sustainability data model is the data foundation for Microsoft Sustainability Manager. The data layer consists of three types of data: transactional, master, and activity data. The Dataverse storage stores the transactional and master data. To enhance scalability and performance, ingested activity data is stored in elastic data storage within Dataverse and connected through virtual tables. The solution uses a managed Azure Data Lake to synchronize analytics data, which the managed Power BI reports use to generate quantitative preparation reports or the Sustainability Dashboard.

Analytics

Microsoft Sustainability Manager comes with ready-to-use Power BI embedded reports that utilize the analytics data (managed Azure Data Lake) replicated from the operational Dataverse data. The solution can also generate Excel-based quantitative reports from the emission and activity data stored.

You can extend the analytics by creating custom Dynamics 365 dashboards and Power BI embedded dashboards. Dynamics 365 dashboards can use data that's stored in Dataverse, such as master data. However, you can't query against elastic data storage (virtual tables) where activity and calculated emissions are stored. To include the data in elastic data storage, you can use Power BI Common Data Service (Legacy) connector while creating your custom Power BI report. The Power Query Dataverse connector supersedes the Common Data Service (Legacy) connector. Alternatively, you can feed the Dataverse data to Azure Synapse Analytics Workspace via Azure Synapse Link configuration. You can then use this Azure Synapse Analytics workspace data as a source for your custom Power BI reports.

For more information, see Create a custom report in Microsoft Sustainability Manager.

Collaboration

The Microsoft Sustainability Manager uses the native Microsoft Teams integration to collaborate seamlessly with Dynamics 365 team members. The solution utilizes the collaboration and chat features of Microsoft Teams.

Integration

The data model forms the foundation for the Microsoft Cloud for Sustainability. Depending on the data estate maturity level, the solution might require integration with other systems. There are three core integration scenarios with Microsoft Sustainability Manager.

  • Data import
  • Data export
  • Transactional

Each scenario represents a shape that can be realized using one or more technologies. The following figure illustrates the technology options for the realization of these scenarios.

A diagram showing the integration of microsoft sustainability manager

Download a printable PDF of the diagram.

Data import

Data import is one of the critical processes of Microsoft Sustainability Manager.

The source data can reside in different systems that include:

  • Power Platform: Another Dataverse instance
  • Microsoft 365: SharePoint, OneDrive, and others
  • Azure tenant: Azure Synapse Analytics, Azure Data Lake, Azure database, other data storage options
  • On-premises tenant: Supported database systems and sources connectivity via on-premises data gateway.
  • Other cloud tenants: Connection with establishing Azure ExpressRoute gateway or S2S VPN gateways.
  • Third-party tenants: Connection connectivity with third-party services via custom connectors or published adaptors.

You can import data into Sustainability Manager in multiple ways, depending on the data type, source, user experience level, and import frequency. The following table summarizes the methods and provides considerations and guidelines for when to use them.

Method Description Consideration Use when
Excel template Using a dedicated excel template for each data category. Supports heterogeneous data import. Consider using the latest template version and mind the required fields, format, and rules for successful import. Data volume and the effort required for transformation is low.
Power Query Import The Power Query guided experience is the most comprehensive ingestion approach available within Microsoft Sustainability Manager. It allows you to import data for multiple entities through multiple sources, all through a single import with detailed guidance to ensure that the ingestion is successful. Evaluate the availability of the connector, scalability (data volume and data volatility), and the complexity of data cleansing and transformation required. Data import scenarios where the Power Query connectors support natively and you want control over data transformations.
First-party partner connectors Building data connectors for the Microsoft Sustainability Manager solution to bring data directly from external solutions. Must go through privacy, security, and compliance reviews before they're moved into production. Sustainability Manager natively supports the source provider or partner.
Custom connectors Allowing you to create (and even share) a connector with its own triggers and actions. Limited to the capabilities of the API or service they're connecting to. Extra development and maintenance work to keep the connector up to date due to changes to the API or authentication methods. Sustainability Manager doesn't natively support the source provider or partner, and there are limitations on creating a first-party connector (Power Query).
Azure Data Factory or Synapse pipelines Creating data flows to transform the data before ingesting it into Dataverse. Data Factory service limits. Data imports requiring multi-stage transformation.
Manual Using Microsoft Sustainability Manager manual import capability to import individual or bulk records. To update activity data records in Sustainability Manager, you must delete previously imported data and reimport all the data. Fixing individual records and when bulk data import integration is costly or data volatility is low.

Using Custom Dimensions provides the organizations to include different properties of the activities data recorded. It's a flexible way to extend the Microsoft Sustainability Manager data model. You can use custom dimensions in calculations and reports to extract insightful analysis.

Note

Ingesting custom dimensions is only available via the Power Query experience only.
Also it isn't available for reference data.

Organizations can use the Data approval management (Preview) to enable staging the data in a pending stage so it doesn't affect the calculations, analysis, and reporting. After it's authorized users review and approve it, the data becomes available for all corresponding functions

A diagram showing the data approval management and custom dimensions features spanning across data, calculations and reporting

Data export

You might want to export data from Sustainability Manager to stage for custom analytics or feed other systems for processing. The following table summarizes the methods and provides considerations and guidelines for when to use them.

Method Description Consideration Use when
Azure Synapse Link for Dataverse Replicating the Dataverse data to Synapse Analytics or Data Lake for analytics and custom reporting. Tables that aren't supported. Data analytics and custom reporting. Also, as an intermediate stage of data export.
Azure Data Factory or Synapse pipelines. Creating data flows to transform the data received from Dataverse before staging it. Data factory service limits. Data export scenario with complex, multi-stage transformation.
Manual Manual data export of selected entity to CVS, XML, or Excel files. Export limits. As needed export needs for low and medium size data volumes.

Transactional

Transactional integration scenarios can arise when you need to exchange information between systems and update data in real time. Transactional integration ensures that you complete the transaction accurately and completely. The following table summarizes the methods and provides considerations and guidelines for when to use them.

Method Description Consideration Use when
Dataverse API OData v4 implementation to provide CRUD operations using a standard set of interfaces, providing an interface that is open to a wide technological audience. Power Platform service protection API limits, request limits and allocations. Mostly for transactional integration when discrete CRUD operations are required.
First-party custom APIs (Generalized emission calculation API) Custom APIs created by Microsoft Cloud for Sustainability to calculate emissions for specific actions that consolidate many operations into a single operation or expose a new type of trigger event. Power Platform Service Protection API limits, request limits and allocations. Triggering emission calculation is required as per an event.
Custom API Creating your own API in Dataverse. Power Platform service protection API limits, request limits and allocations. One or more operations need to be consolidated into a single operation or need to expose a new type of trigger event.

Error handling

Error handling during the data imports plays a vital role to make sure your data is ingested properly and reports are showing the latest information for Sustainability reports & analytics. Sustainability Manager lets users review and fix errors in the data imports. These error reports are now available for all three import types, templates, Power Query guided flow and partner experience.

For more information, see Error handling for data import in Microsoft Sustainability Manager

Next steps