Why Environments Are a Licensing Problem, Not Just a Technical One

Most enterprise IT teams understand Power Platform environments as a technical concept — logical containers that separate apps, flows, and data from each other, providing isolation between development, testing, and production workloads. What most enterprises do not understand is that every environment is also a licensing and cost construct. Each environment with Dataverse consumes Dataverse storage from the organisational pool. Each environment has its own Power Platform request (API call) allocation. And the proliferation of environments — which happens without deliberate governance in virtually every organisation we review — creates compounding cost exposure that is invisible until the bill arrives.

The headline finding across our client engagements: the average enterprise running Power Platform without a formal environment governance policy has between 3x and 8x more environments than it needs. Each unnecessary Dataverse environment consumes a minimum 1GB database storage allocation that does not reclaim itself when the environment sits idle. At scale, environment sprawl is one of the primary drivers of unexpected Dataverse capacity overages.

The environment proliferation mechanism: Every time a developer or maker creates a new environment for a project, that environment allocates Dataverse capacity from the tenant pool. If the project is completed, abandoned, or the maker leaves the organisation, the environment typically remains — often indefinitely. After 24 months of ungoverned growth, a 2,000-user organisation commonly has 80–150 environments, of which 60–70% are inactive. The Dataverse storage consumed by inactive environments contributes directly to overage charges — typically £0.030–0.035/GB/month at EA pricing.

Power Platform Environment Types and Their Licensing Implications

Microsoft provides several environment types, each with distinct capabilities and licensing implications. Understanding the differences is prerequisite to building a rational environment governance policy.

Environment Type Dataverse Included? Storage Allocation API Request Allocation Primary Use Case
Default Environment Yes (automatically) 1GB database (shared from tenant pool) Pooled from tenant capacity Shared tenant default — should not host production apps
Production Environment Optional 1GB database if Dataverse enabled Pooled from tenant capacity Production business applications requiring formal governance
Sandbox Environment Optional 1GB database if Dataverse enabled Pooled from tenant capacity Development and testing — can be reset, copied, converted
Developer Environment Yes (automatically) 1GB database (separate from tenant pool) Separate, reduced allocation Individual developer use — created per-user, scoped to creator
Microsoft Teams Environment Yes (Dataverse for Teams — limited) 2GB per Teams environment (separate Teams pool) Separate, reduced allocation Teams-scoped apps and chatbots — limited capabilities
Trial Environment Yes 1GB database — 30-day expiry Limited Proof of concept — automatically expires if not converted

Developer Environments: The Underused Governance Tool

Developer environments deserve specific attention because they are intentionally designed to reduce the cost impact of individual developer exploration. Each Power Apps or Power Automate licensed user can create a Developer Environment that allocates storage from a separate per-user storage pool, not from the organisational Dataverse pool. This is commercially significant: if developers are creating Sandbox environments for individual exploration work rather than Developer Environments, they are consuming shared tenant storage unnecessarily.

Implementing a governance policy that directs individual developers to use Developer Environments for non-production work — rather than creating shared Sandbox environments — is one of the fastest ways to reduce Dataverse storage consumption in environments where developer activity is high.

Microsoft Teams Environments: The Cost-Contained Option

Teams Environments use Dataverse for Teams — a limited version of Dataverse scoped to Teams contexts. The storage capacity for Teams environments (2GB per Teams environment) comes from a separate pool and does not consume the main Dataverse organisational storage allocation. For apps and chatbots that operate exclusively within Teams and do not require full Dataverse functionality, Teams environments offer a materially lower storage cost profile.

The constraint is capability: Dataverse for Teams does not support all Dataverse features. Apps requiring relationships between tables, complex business logic, external integrations, or Power Pages portals cannot use Teams environments. But for simple Team-scoped productivity apps and Power Virtual Agents (Copilot Studio) bots that answer questions within Teams, the Teams environment is the correct licensing architecture — and the cost difference can be substantial at scale.

Dataverse Storage Consumption by Environment

The three Dataverse storage pools — database, file, and log — each accumulate independently across all environments in the tenant. Understanding the per-environment consumption pattern is essential to managing total organisational storage within entitlement before overages trigger.

Storage Type Overage Rate (EA) Primary Contributors Governance Levers
Database storage ~£0.030–0.035/GB/month Custom table records, Dataverse metadata, audit logs enabled in environments Audit log disable in non-prod, environment deletion, data retention policies
File storage ~£0.010–0.015/GB/month File and image column attachments, email attachments on Dataverse-integrated environments Attachment size limits, external storage for large files, environment archival
Log storage ~£0.014–0.018/GB/month Plug-in trace logs, custom telemetry, Audit log accumulation in production environments Plug-in trace log retention policy, Audit log retention configuration

A common source of unexpected database storage consumption is audit logging enabled on development and sandbox environments. Audit logs are appropriate in production environments where compliance and security monitoring are required. In sandbox environments, audit logging accumulates log storage without serving any compliance purpose — and because sandbox environments are often long-lived, the accumulation can be significant. Disabling audit logging on non-production environments is a zero-cost governance action that typically reduces log storage consumption by 40–60% in organisations with ungoverned environments.

Power Platform Request (API) Limits and Environment Licensing

Power Platform API requests — the volume of operations that Power Apps, Power Automate, and Power Pages can execute per day — are pooled at the tenant level based on the licensed user population. This pooling mechanism means that a single environment running a high-volume automated process can consume the API allocation of hundreds of users, effectively throttling applications running in other environments for the remainder of the day.

The request allocation formula is: each Power Apps per-user licence contributes 40,000 requests/day to the tenant pool; each Power Automate per-user licence contributes 40,000 requests/day; each M365 E3/E5 user (who has access to limited Power Apps and Automate) contributes 6,000 requests/day. The tenant pool is the sum of all these contributions.

The high-volume flow problem: A single Power Automate flow running every minute and executing 10 API operations per run consumes 14,400 requests/day. In an organisation with 1,000 M365 E3 users (6,000 requests each = 6M/day pool), this single flow consumes 0.24% of the daily pool — manageable. But in a large-scale integration scenario with 50 such flows running simultaneously, the consumption is 720,000 requests/day — which begins to materially constrain the pool for other users. High-volume integration flows should be licensed under Power Automate per-flow plans (~£100/flow/month) which provide 250,000 requests/day per flow — isolating consumption from the shared pool.

Application Lifecycle Management (ALM) and Environment Architecture

Professional Power Platform development requires at minimum three environments per application: Development, Test/Staging, and Production. This is the minimum viable ALM architecture. Without environment separation, changes deployed to the production environment cannot be tested in isolation, rollback is difficult, and uncontrolled changes create business continuity risk.

The licensing implications of ALM environments are often overlooked in initial deployment planning. Each environment in the ALM pipeline that enables Dataverse consumes 1GB database storage minimum from the organisational pool — before any data accumulates. For an organisation with 20 production applications following minimum ALM standards, that is 60 environments (20 × Dev/Test/Prod) consuming 60GB of database storage allocation at minimum, simply from the environment overhead, before a single record is stored.

This is not a reason to avoid ALM — proper ALM is a prerequisite for maintainable Power Platform applications. It is a reason to account for ALM environment storage consumption when sizing Dataverse capacity and to ensure that development and test environments follow active retirement policies when applications are decommissioned.

Managed Environments: The Governance Licensing Question

Microsoft introduced Managed Environments as a premium governance capability in 2022. Managed Environments require that users in those environments hold either a Power Apps per-user Premium licence, a Power Automate per-user Premium licence, or a Dynamics 365 Enterprise licence — effectively requiring paid licences for users who might otherwise be using the M365-included Power Platform entitlements.

The governance capabilities Managed Environments provide include: IP cookie binding for app access security, DLP policy scope enforcement, Pipelines for ALM (managed release pipelines between environments), solution checker enforcement, usage analytics per environment, and weekly digest notifications. For organisations that need systematic governance across many Power Platform environments — particularly in regulated industries — Managed Environments justify the premium licence requirement. For organisations with straightforward Power Platform footprints, the standard environment governance controls are often adequate.

Environment Governance Framework

The following framework reflects what we implement for clients to bring Power Platform environment proliferation under control and eliminate unnecessary Dataverse storage consumption. It requires no new licences — only policy, process, and configuration changes.

Step 1: Environment Audit

Run an environment inventory from the Power Platform Admin Centre. Document each environment: type, creation date, owner, Dataverse enabled (Y/N), last modified date, app and flow count. Most organisations discover during this exercise that 40–60% of environments have had no activity in 6+ months. These are candidates for deletion after a 30-day owner notification period. The storage reclaimed from this exercise alone frequently eliminates Dataverse overages.

Step 2: Environment Creation Policy

Restrict environment creation to Power Platform admins or a designated Centre of Excellence team. Remove the default setting that allows all licenced users to create Production and Sandbox environments. This single control, implemented through the Power Platform Admin Centre tenant settings, prevents future environment proliferation without restricting what approved environments can do.

Step 3: Environment Classification and Naming Convention

Implement a naming convention that includes: purpose (DEV/TEST/PROD/POC), application name, owning team, and creation year. Example: PROD-FieldService-Operations-2024. This makes environment purpose immediately visible in the Admin Centre and simplifies lifecycle management decisions. Without a naming convention, environments accumulate with names like "John's test" or "New environment (2)" — making ownership and status assessment impossible at scale.

Step 4: Lifecycle Management Policy

Define explicit retention policies for each environment class: Trial environments expire after 30 days (Microsoft policy — enforce it); Proof-of-concept environments expire after 90 days unless converted to Production; Development environments are reviewed and decommissioned when their associated Production application is retired; Production environments require a named owner who is responsible for decommissioning.

Step 5: Storage Governance

Implement the CoE Starter Kit capacity monitoring dashboard to track per-environment storage consumption. Set alerts when any environment exceeds 5GB database storage outside of Production tier. Configure audit log retention at 30 days in Development and Sandbox environments, and at a compliance-driven duration (typically 90–365 days) in Production environments. Disable plug-in trace logging in all environments where active debugging is not occurring.

The CoE Starter Kit is free and worth deploying. Microsoft provides the Power Platform Centre of Excellence Starter Kit — a collection of apps, flows, and dashboards that provide tenant-wide visibility into environment inventory, app and flow usage, maker activity, and Dataverse storage consumption. It does not require additional licences beyond the existing Power Platform footprint. For any organisation with more than 50 Power Platform users, the governance intelligence the CoE Starter Kit provides is operationally essential and directly reduces the cost of Dataverse overage management.

Environment Licensing and EA Negotiation

Power Platform environments themselves are not directly licenced — you do not buy "environment slots." What you licence is user access to capabilities (Power Apps per-user, Power Automate per-user, Dynamics 365) and infrastructure capacity (Dataverse storage add-ons). The environments are the containers for deploying that licenced capability. The commercial implications of environment architecture are felt in two ways:

Dataverse capacity sizing in the EA. When negotiating Dataverse add-on capacity blocks in your EA, account for the environment overhead in your model. A common error is modelling only production application data volume and missing the storage consumed by the ALM pipeline (Dev/Test environments), the default environment, developer environments, and any historical environments that have not been decommissioned. This leads to undersizing the capacity commitment and triggering overages during the EA term — typically at list price, not EA price.

Managed Environments and licence up-lift. If you deploy Managed Environments for governance, all users in those environments require paid licences — you cannot mix M365-seeded Power Platform access with Managed Environments. If your intention is to govern all environments as Managed Environments, this effectively eliminates the "free" Power Platform tier from your deployment and requires full per-user licencing across your maker population. Model this cost before committing to Managed Environments as your default governance model.

EA Negotiation Lever Application Expected Value
Dataverse capacity block commitment Pre-commit to capacity block (e.g. 5GB or 10GB block) rather than waiting for overage charges Block pricing 40–55% cheaper than per-GB overage rate
Environment governance as due diligence Demonstrate reduced storage footprint from governance programme — reduces capacity commitment needed Direct reduction in committed capacity volume
Power Automate per-flow for high-volume Shift high-volume integrations to per-flow plans — reduces per-user API pool pressure Avoids hidden API throttling; typically cost-neutral or cheaper than per-user at scale
Dynamics 365 as capacity anchor Dynamics 365 Enterprise licences contribute the largest per-user Dataverse storage entitlement — include D365 licences before paying for standalone capacity add-ons 250MB database per D365 Enterprise user vs 10MB for Power Apps per-user

Frequently Asked Questions

How many environments can we have without incurring extra cost?

Microsoft does not charge per environment — the cost is in the Dataverse storage consumed. However, every Dataverse-enabled environment allocates a minimum 1GB database storage from the organisational pool at creation, regardless of whether any data is stored. With an organisational Dataverse storage entitlement calculated from your licence mix, the practical limit is the point at which environment overhead storage (environments × 1GB) exceeds your entitlement. For a 1,000-user org with M365 E3, the base Dataverse entitlement is approximately 10GB database + 20GB file + 2GB log — enough for roughly 10 environments at minimum overhead before data-driven consumption is added.

Can we delete environments to reduce Dataverse storage overages?

Yes — deleting an environment releases the Dataverse storage it consumed back to the organisational pool. This is one of the fastest remediation actions for storage overage situations. However, environment deletion is irreversible; all apps, flows, and data within the environment are permanently deleted. Always backup production data before deleting any environment, and implement the 30-day notification policy before deleting environments that have active owners.

Does the Default Environment consume storage even if we don't use it?

Yes. The Default Environment is automatically created with Dataverse enabled for every Microsoft 365 tenant that has Power Platform licences. It consumes storage from the organisational pool. More importantly, the Default Environment is accessible to all licenced users in the tenant by default — making it the most common location for ungoverned, personal-use apps and flows that accumulate data without IT visibility. Restricting who can create apps and flows in the Default Environment (via DLP policies and environment security settings) is a governance action with both security and cost implications.

What is the relationship between environments and DLP policies?

Data Loss Prevention (DLP) policies in Power Platform operate at the environment scope. You can create tenant-wide DLP policies that apply to all environments, and you can create environment-specific DLP policies for exceptions. The commercial relevance: if your DLP policy governance strategy requires environment-specific policies for different business units or compliance requirements, the number of environments you manage directly affects the administrative overhead of your DLP governance programme. Reducing unnecessary environments reduces DLP policy complexity — another non-financial benefit of environment governance that reinforces the case for the programme.

Get Microsoft Licensing Intelligence Weekly

Independent analysis on Power Platform, Azure, and EA negotiation — direct to your inbox every week.

No spam. Unsubscribe at any time.

Power Platform licensing review included in our advisory engagements

We identify Dataverse overages before they hit, right-size your licence mix, and build the environment governance policies that prevent future sprawl. 500+ engagements. $2.1B managed.

Book a Free Advisory Session

Power Platform Licensing White Paper

The complete guide to Power Apps, Power Automate, Dataverse, and Copilot Studio licensing — with environment governance best practices.

Download the guide →