Skip to content

Power Platform Terraform Provider

Business Problem

Microsoft's Power Platform and Dynamics 365 are currently primarily managed, governed, and deployed through an admin portal graphical user interface. While some services can be called via API, some of these APIs are undocumented and there is currently no first-party solution for deploying resources using infrastructure as code (IaC). This means that enterprises are not able to manage their Power Platform and Dynamics 365 resources using the same IaC tools and processes they use for all other cloud resources.

Common Challenges

ClickOps doesn't scale: Enterprises can’t expand Power Platform usage beyond their ability to manage and govern the environments they currently have because “ClickOps” doesn’t scale.

Power Platform/Dynamics 365 is treated as an exception: In many enterprises, Power Platform is treated as an exception or not used in solutions because enterprise policies require using industry standard IaC tools and processes for production cloud deployments.

Infrastructure setup is manual: Customers and partners (especially those with dealership, franchisee, or other ISV models) deploy complex software built on Power Platform and Dynamics into customers’, partners’, dealerships’, and franchisees’ tenants. Setting up the infrastructure for that software involves manual work, adding cost and latency to onboarding new businesses.

Consistency: Enterprise development teams struggle to build solutions that combine Power Platform and Azure (like Copilots). This is because infrastructure and ALM tooling is vastly different between the platforms.

Solution and Customer Use Cases

Power Platform Terraform Provider enables customers to manage environments and other resources within Power Platform. This solution is designed to fit with other enterprise Infrastructure as Code resources.

Image shows how Power Platform Terraform Provider interacts with other Terraform modules in an enterprise IaC deployment

This solution was designed to address the following customer use cases and friction points when trying to deploy, manage, and govern Power Platform and D365 resources at scale:

Cross-cloud Deployment: Enterprises want to utilize existing IaC skill sets to manage infrastructure across Power Platform, D365, Azure, Entra ID, and third-party clouds. This is particularly critical for modern solutions like Copilots, which often include resources that span Power Platform and Azure (e.g., Copilot Studio and Azure OpenAI).

Governance and Compliance: Enterprises rely on infrastructure as code to establish processes and enforce policies that mitigate risk. IaC helps them identify and rectify infrastructure drift, use policy to ensure compliance, approve modifications, and keep track of update history. IaC also uses service principal deployments to implement least-privilege administration.

Infrastructure Deployment at Scale: Companies managing cloud resources need to automate complex deployments, use templates for repetitive asks, and apply changes across many environments. Provision environments for application dev teams (Dev, Test, Prod, Pipelines, etc.) or common use cases like copilots.

Infrastructure for ALM: To facilitate agile development, enterprise need to create and destroy ephemeral dev/test environments as needed. Managing this process through IaC helps customers achieve greater consistency between production and development environments. This also enables cross-tenant copying of environment resources for enterprises with non-production tenants for development.

Tenant Management: Enterprises need accelerated infrastructure set up for complex self-hosted products in customer tenants. For enterprises with ISV models (e.g., dealerships or franchises), the capability to initialize tenants for business partners is crucial.

How to get started

Power Platform Terraform Provider can be found in the Terraform Registry.