Licensing is always an important topic for any technology, often it can drive architectural decisions. In many cases, licensing models can be difficult to understand, particularly since vendors tend to not like to dwell on discussions of cost. My last post on Fabric licensing was an attempt to help to clarify some of the “squishy” language around licensing for the recently introduced Microsoft Fabric.
That recent post centers on the cost for Fabric compute, but there is another licensing component to Fabric – for storage. With the GA of Fabric last week at Microsoft Ignite, the time is approaching that customers will be charged for storage, so it’s equally important to understand how that works as well. This recently became obvious to me as I was a participant in an online discussion with MVPs and product team members about this very topic, and if we’re not clear, chances are that another clarification post is required.
This discussion was started by Tristan Malherbe (@Datatouille), and he did most of the clarifying work – I am just posting here for accessibility. Thanks Tristan!
As mentioned above, there are two components to Fabric costs, the cost for compute, and the cost for data storage. The cost for compute is a function of the capacities that are used (Microsoft Fabric – Pricing | Microsoft Azure). Due to the way Fabric stores data, that cost is quite cheap, especially compared to the cost of storing data in transactional database systems (ie Azure SQL). It is in line with general blob storage in an Azure storage account at a list price of approximately $0.025/GB/month. Simple enough, right?
This storage price is true for all Fabric artifact that store data, with one exception. Power BI artifacts are exempt from additional storage costs up to 100 TB of storage per capacity. Any storage beyond that amount is subject to the ~$0.025/GB/month charge. The question therefore is, what, exactly is a Power BI artifact?
Qualifying Power BI artifacts are:
semantic models (datasets)
It should be noted however that when the recently introduced OneLake integration for import-mode semantic models is used the data cache is stored OneLake, NOT in the semantic model itself. It is therefore subject to the Fabric storage pricing, but it will not count against your 100 TB storage quota for Power BI storage.
ALL Fabric SKUs include 100 TB storage for Power BI artifacts
A Power BI artifact is any of the following items: datasets, reports, dashboards, dataflows (Gen1), datamarts, paginated reports
Any other Fabric artifacts (lakehouse, warehouse etc.) are charged ~ $0.025/GB/month for storage
Semantic models using the “OneLake integration for Import-mode semantic models” are charged ~ $0.025/GB/month for storage
Shortly after Premium capacities were announced for Power BI, I published a post titled Understanding the Power BI Capacity Based SKUs to help the Power BI community understand how this new license model worked. With the recent announcement of Microsoft Fabric, that model got a little more complex. Admittedly, it’s not the same radical departure that Power BI Premium was initially – in fact, it’s based on the same model, but there are several nuances that are worth understanding.
For those familiar with Power BI user and capacity licenses, the easiest way to understand the differences brought by Microsoft Fabric is to think of all of the new Fabric features as new Premium features in Power BI. Fabric also introduces a new type of capacity, the F sku in addition to (for the moment at least) the P and A skus currently available to Power BI. For those less familiar, and for more detail, a more comprehensive discussion is warranted.
User vs Capacity based licenses
Power BI has two different licensing models, user based, and capacity based. Power BI is a component of Fabric, but all other Fabric assets use only capacity-based licensing. Therefore, within the context of Fabric, the Power BI license only pertains to Power BI assets. There are three user-based licenses for Power BI: Free, Pro, and Premium per user. A user’s license determines which workspaces that the user can access.
A workspace contains assets created by users and provides a logical security boundary. Workspaces are also bound to a capacity, and that binding determines which capacity is used when these assets are utilized.
A capacity is a collection of resources that are consumed when various assets are utilized. For example, when a user renders a report, or a dataset refresh is run, resources are consumed from the workspace’s underlying capacity. There are several capacity types and sizes, and the type of capacity determines the capabilities that are available to the workspace.
There are five capacity types commonly in use with workspaces today. These are:
Shared (or Pro)
Premium per User
Premium A sku
Premium P sku
Fabric F sku
Shared capacities (also referred to as Pro capacities) are the default capacity that any new Power BI workspace is backed by. Shared capacities are for Power BI only and are provided by Microsoft at no extra cost. Shared capacities do not provide Premium or Fabric features and impose certain operating limits. To access a workspace that is backed by a shared capacity, a user must have a Power BI Pro license.
Premium per User capacities are available to users that have a Premium per User license. PPU capacities are for Power BI only, are provided by Microsoft at no extra cost and they do provide most Premium, but not Fabric features. To access a workspace that is backed by a Premium per User capacity, a user must have a Power BI Premium per user license.
All other capacity types are purchased for the tenant by an organization. There is a wide variety of options to choose from. To utilize Fabric features, the capacity must be either a P or an F sku. P skus have been with us since Premium was initially introduced, and F skus have been introduced with Fabric. Functionally there is no difference between the two, apart from how they are purchased, which is covered below. A complete summary of capacity features and resources can be seen below.
Dataset size limit
Refreshes per day
Automatic Page Refresh
.5 hr min
1s min / change detect
1s min / change detect
1s min / change detect
1s min / change detect
AI Capabilities (Auto ML, CS)
Other Fabric assets
* Limited by the UI. Unlimited refreshes available programmatically ** Limited by the UI. Unlimited refreshes available programmatically. Direct Lake mode datasets will not require refresh.
Capacity Resources by sku
Capacity Units (CU)
Max Dataset size (GB)
As you can see in the above chart, the A4. P1, and F64 skus all have the same resource level. Therefore, an organization could purchase an F64 capacity, disable Fabric features, and have exactly the same experience as with the P1 sku. The only difference between them is the way that they are acquired, which is discussed below.
In addition to features and resources, the capacity that backs a workspace also determines the user license that is required to consume Power BI resources contained within it. It is worth noting here that no matter what capacity backs a workspace, a Power BI Pro license is required to publish reports to it.
The license requirements for the various capacity types can be seen in the table below. Again, this pertains to Power BI artifacts only – all other Fabric artifacts require a P or F capacity and can be accessed by users without a Power BI license.
Workspace access by Power BI License
Premium A SKU
Premium Per User
Premium P SKU
Power BI Pro
Premium per user
*Fabric capacity must be F64 or above for access with a free license. Below F64 requires Power BI Pro.
User licenses are relatively straightforward. Free licenses are available to any Azure Active Directory account. Power BI Pro licenses are part of Microsoft 365 E5 licenses, and can also be purchased separately from the Microsoft 365 store. Premium per User licenses include Power BI Pro, and can also be purchased separately, or as an add-on to an existing Pro license from the Microsoft 365 store.
Capacity acquisition is significantly more complicated. Indeed, the way that they are acquired can often play a role in selecting the appropriate capacity type for a given scenario.
The Premium P sku is purchased from the Microsoft Office store, and it requires an annual commitment. That is enough to make many smaller organizations pause before trying it out. The Premium A sku is purchased from Azure, can be turned on and off, and is billed hourly. It also has a significantly lower entry point. The A1 sku has only 1/8 the resources of a P1 sku, and is significantly cheaper to get started with. If Power BI features are the only thing of interest, thne the A sku presents a compelling choice, but it does not support Fabric features.
The new Fabric skus appear to bridge the gap between the P and A skus. Fabric skus are available in a much wider variety of resource levels (F2 to F2048) which makes them approachable for organizations that want to get started or have less demanding requirements. They can be scaled up past the maximum currently available in P5. Finally, they are purchased from Microsoft Azure and do not require an annual commitment (using pay-as-you-go). Pricing was recently announced and can be found at the Microsoft Fabric blog here – Announcing Microsoft Fabric capacities are available for purchase.
As mentioned above, a P1 is functionally equivalent to an F64. However, the price of an F64 in the blog post is approximately 40% higher than that of a P1. This is because the P1 requires an annual commitment and is effectively discounted by that very same 40%. The Fabric skus will also have an option to opt in for an annual commitment, and to then enjoy a significant discount, presumably making the cost of the P1 and the F64 equivalent. The details of this have not yet been announced, so your mileage may vary.
In order to “try before you buy”, a 60-day trial license is available. Details of the trial can be found here – Fabric (preview) trial. The trial will grant the requesting user a Premium-per-user license along with an F64 capacity. It’s a preview of all Power BI capabilities, and the capacity allows for the testing of all Fabric capabilities.
One word of warning with trials. If a user with a free license accesses Power BI assets that they have right to, but are unlicensed for, a free trial will automatically be granted, and the clock will start ticking on a 60-day trial. This grants the user not only a Premium per User license, but also a Fabric capacity. This does provide a seamless experience for the user but may come as a shock when the 60-day period is up.
While the existing Power BI Premium skus will continue to exist for those that want them, the Fabric skus are clearly the way forward. They provide all the same features as the legacy capacities, with increased sizing options on both the lower and higher end of resource requirements. The option to pay as you go or to take a commitment means that they can be both approachable and cost-effective, Finally, if all you need is Power BI features, you can turn off Fabric, and still enjoy these flexibility benefits.
At Microsoft Ignite this week, the Power BI team unveiled the next generation of the architecture for their “dedicated capacity” customers. This architecture promises to resolve many of the issues experienced with the first generation of Premium, and opens up several possibilities moving forward.
The Power BI dedicated capacity SKUs (which include Premium) were introduced 3 years ago in order to provide a scalable pricing model, and to provide predictable performance. Unlike the Pro SKU, which is licensed per user, these SKUs represent specific sets of resources running in Azure. There are currently 3 SKUs in this category, the A SKU (purchased hourly from Azure, the EM SKU (for embedding), and the well know P or Premium SKU.
When an organization purchases one of these SKUs, they are essentially purchasing memory, CPU cores and storage. The isolation allows for predictability, but it also means that when the resources become over allocated, catastrophic errors can occur. Refreshing a data set can also be particularly memory intensive, and the memory usage during a refresh could increase by more than double what might be normally required. This has an impact on normal operations during refresh, and means that capacity need to be over-sized to accommodate refresh in some cases.
Once acquired, Gen-1 capacities need to be configured, and decisions made as to what services to allow, and how many resources to allocate to them. It’s not always obvious as to what those settings should be. I’ve also seen situations where an overzealous administrator gets so excited about the new Premium capacity that they assign hundreds of workspaces to it, and bring reports to their knees.
Gen-2 – A Different Approach
The new “Gen-2” architecture aims to deliver the isolation and predictability that dedicated capacity brings, without the drawbacks. Gen-2 is in fact, not dedicated, as resources are drawn from a massive pool as needed. However, the performance level is guaranteed, and is focused on CPU cycles. In fact, memory is not even a consideration, apart from per-dataset overall size limits.
Memory will be allocated as needed to refreshes, ending the need to worry about refreshes failing, or impacting end user experiences. The CPU charge for refreshes will be allocated immediately, but the usage allocation will be spread out throughout the day. This provides consistent fast performance without requiring resource overallocation to handle peaks due to resourcing. Memory is no longer a factor whatsoever for refresh.
This architecture also allows for automatic scale up/down for intensive or unpredictable workloads. Administrators will no longer need to make so many decisions up front, or react to changes as frequently. If autoscale is not enabled, queries can potentially be slowed down, but a refresh kicking off can no longer make reports unavailable. The new architecture is moving back to a SaaS model, after being rather close to IaaS with Gen 1
In the past, services that required full isolation like Paginated reports were not available on some of the lower end A and EM SKUs. With this new architecture, they will be available on all of them. In fact, with the newly announced Premium per user SKU, they will even be available on a per user basis.
This new architecture will be available to all of the “dedicated” SKUs, A, EM and P. The preview of the new P SKU will begin later in 2020. As an ISV, I am particularly interested in this new architecture for the A SKUs. The memory spikes caused by large refreshes have been particularly problematic for us in the past. Gen-2 architecture appears to be just what the doctor ordered.
I have often referred to this group of SKUs as the dedicated capacity SKUs in the past, but with this change, that term is no longer accurate. With the term Premium being so pervasive, I think we’ll just have to call them all Premium SKUs, whether they are P or otherwise.
Today at Microsoft Ignite, Microsoft announced the upcoming availability of a new licensing model for Premium features in Power BI entitled “Premium per User”. With this model, individual users, or subsets of users can subscribe to most of the capabilities of Power BI Premium for an additional monthly fee.
Three years ago, Microsoft introduced the capacity based Premium license. Prior to this, the only license available for Power BI was the user based Pro license, which listed at $10 per user per month. The problem with this model was that large organizations found it to be prohibitively expensive, especially for casual user. The capacity based SKUs (Premium) had the effect of solving that problem. An organization could purchase their own dedicated resources and then allocate them in any way they saw fit. Report consumers do not need a Pro license with this model.
While Premium went a long way to solve the cost problem with large organizations, it introduced a significant new issue with smaller to mid sized organizations. The problem is the price tag. The entry level Premium SKU (P1) carries a list price of $5,000 US per month. This means that an organization needs to have more that 500 regular Power BI users before the cost of Premium starts to make sense from a sharing only perspective.
Compounding the price tag issue, since the release of Premium, more and more features have been released that require it to function. Features like Paginated reports, AI capabilities, deployment pipelines, and the XMLA endpoint all require Premium. A small organization may have the need for this type of feature, but cannot justify the spend of a Premium license.
The new Premium per user (PPU) license promises to solve this problem. Premium per user will be a new license that will include all of the capabilities of the Pro license, but will also include almost all of the features available in Premium. Details about which features are available can be found here. It will NOT include unlimited sharing. Users with this license will be able to publish content to a PPU workspace, and that content can be consumed by other users that have a PPU license.
The next question is of course going to be “great, so how much is it?”. Therein lies the rub. Microsoft is not saying, at least not at this point. From the official blog post announcing the PPU license, Microsoft says:
“Stay tuned for the official pricing announcement as we get closer to the GA timeframe. I guarantee you won’t want to miss it“
Arun Ulag, Corporate Vice President, Power BI
It does seem awfully odd to announce a new license without stating the price, but that’s the situation that stands today. However, given that the goal of this SKU is clearly to make Premium features more accessible across the board, I fully expect it to be quite reasonable.
If, as I expect, the price is reasonable, the PPU license will unlock a lot of doors, making Premium far more widely available. In fact, I expect that PPU will become the go-to license generally. Now, we simply have to wait for the price, before we get too excited.
*Update – October 2017* – This post is still valid but more options are now available. I have another post outlining the changes here.
On May 3, Microsoft announced sweeping changes to the pricing of Power BI by introducing a new “Power BI Premium” SKU. The announcement itself can be found here, and there a number of other related resources worth that I am listing here for convenience:
Power BI Premium is intended to address deficiencies in the current pricing model primarily with respect to sharing content. In my opinion, the new model succeeds in this goal for the most part, but it leaves a significant number of customers behind, and it also leaves many unanswered questions. These problems need to be addressed for Power BI to succeed in its goal of bringing BI to the masses. Overall, I like what Microsoft is trying to do with this new pricing model, and with a few tweaks, I think that it can resonate.
First, we need to understand the new model, and to do that, we need to understand the former model and the need for Premium. Given that the former model (consisting of free and Pro licenses) has not been replaced (although it is changing significantly), we will refer to it as the original model, and when Premium is added to it, we will refer to that as the Premium model. The original model is still completely relevant moving forward.
The original model and the need for change
The original model is relatively simple, and relatively unique to the industry. Power BI users are licensed for either free or Pro features. If a report contains any Pro capabilities, any consuming user requires a Pro license. A free user can create a report that uses Pro features, but that same user will not be able to consume that report in the free service. This is a very important distinction to understand. The author of a report (using Power BI Desktop) could be a free user, use a Pro feature, and after deploying the report to the service, be unable to use it in the service.
Difference between free and Pro from a feature standpoint is no longer (as of this writing) available on the Power BI pricing page, however, prior to June 1, 2017 it is the list below.
Therefore, if a report is configured to be refreshed more than once per day, or even if the time of day is specified, or if the report uses on-premises data, then all users accessing that report require a Pro license. Given that Power BI is all about bringing Business Intelligence to the masses, when each one of those masses needs to pay $10/month, it tends to constrain adoption, particularly if a report’s audience is organization wide, and you are in a very large organization.
Report sharing is also relatively limited. Reports can be shared anonymously, which is insecure. Dashboards and their constituent reports can be shared either internally or externally, but they are read only. Finally, both dashboards and reports can be shared through Group workspaces (now app workspaces). Currently, Group workspaces do not allow for external sharing, but they are the preferred means of sharing. However, they too require Pro licenses, which constrains adoption. For the free user, anonymous and dashboard sharing are the only real options.
The introduction of Power BI Premium aims to solve some of the sharing issues listed above, and therefore to help drive adoption. Premium capacity is an add on to a Power BI tenant (organization), and is different that free or Pro licenses which are assigned to users. An organization can purchase Premium capacity, and then a Pro user (this is restricted to Pro) can move or publish content to the Premium capacity. Once the content is in Premium storage, all users can utilize all the features in the dashboards and reports. Premium effectively removes all feature barriers from the reports.
Premium storage also brings many performance enhancements, such as the ability to refresh data up to 48 times per day (vs the previous 8), and the effective removal of data model size limits.
Without Premium, there are also several changes to the original licensing model. According to the May 3 Announcement FAQ on the Power BI community site:
“Beginning June 1, the free service will have capabilities equivalent to Power BI Pro. This includes the same 1 GB workbook size limit, up to 8 daily scheduled refreshes for datasets, and maximum 1 million rows/hour streaming data rate. We’re also providing access to all data sources, including those available through the on-premises data gateway. Peer-to-peer dashboard sharing, group workspaces (now called app workspaces), export to PowerPoint, export to CSV/Excel, and analyze in Excel with Power BI apps are capabilities limited to Power BI Pro.”
Therefore, after June 1, 2017, Pro features are effectively an addition to the free features, and the feature differences should be as below:
“Going forward, we will improve the free service to have the same functionality as Power BI Pro, but will limit sharing and collaboration features to only Power BI Pro users.”
The only features that Pro will have that free will not are those that are related to sharing. The above feature list reflects that.
Power BI Embedded
Power BI Embedded is the way that developers can embed Power BI in their applications. Using Power BI Embedded, until now, developers build reports, deploy them to their Azure instance, and call them from their applications. End users do not need any sort of Power BI licenses, and the developers are charged per report “render session”. This charging model has been one of the criticisms of Power BI embedded in that it is very difficult to predict costs. ISVs are at the mercy of the end users viewing reports, and any measure that is put into place to curb these render sessions is by definition a disincentive to adoption.
The fact that Embedded runs in a different namespace than the core Power BI service is another, leading to differences between the capabilities of Power BI Embedded and the core Power BI service. For example, the current iteration of Power BI Embedded cannot use the On-Premises Data Gateway, which can be quite restrictive.
Power BI Embedded is changing to use the new Premium capacity model. ISVs will purchase Premium capacity, and serve reports to their end users from that space. There will only be a single namespace for all Power BI content.
Power BI Premium solves to sharing problem for organizations that want to distribute their BI assets across the organization. If organizations would be accessing on premises data, a key feature of Power BI for enterprises, the Pro license requirement has discouraged adoption. With Premium capacity, an report publisher can share content with as many users as necessary without worrying about licensing the target users. Even better, those target users can be external, further extending the reach of that content.
For large enterprises, this has the potential to turn Power BI from a niche solution to something that is used by everyone.
The changes to the original model also makes things clearer for report designers and publishers. These publishers can work with the full range of Power BI features while the report is being built, and while they are themselves using it. When it comes time to share the report to a wider audience, they can publish it to Premium capacity where anyone can access it. If the organization has not purchased Premium, then the original model applies, and all recipients will still require a Pro license.
On the Power BI Embedded side, switching to Premium capacity completely eliminates the unpredictability of the current model. The fact that the reports will be rendered from the core Power BI service means that it will be fully on par with other Power BI reports, and developers will be able to take advantage of the full spectrum of Power BI features as they appear in the service.
What’s not so good
If you are a large company, there is very little not to like with this new model. It was large organizations that felt most of the pain with the original model, and it is they that benefit most from the Premium model. In fact, in my opinion, they are the only ones that benefit from the Premium model. Well, they and organizations that have no sharing requirements. The issue here is cost.
The Premium pricing estimator can be found online, but at present, it boils down to this. The smallest block of capacity that can be purchased by an organization is “P1”. To publish content to Premium capacity, you must also have a Power BI Pro license. Therefore, the minimum cost of entry is $4,995 (P1) plus $9.99 (Pro) for a total of $5,004.99 per month. This is well out of the reach of most small to medium sized organizations. In fact, an organization needs to be larger that 500 users (and those would be active Power BI users) for Premium to begin to make sense from a licensing perspective. The model size limit removal and the increased refresh frequency are also compelling reasons to move to Premium, but it’s easy to see that Premium is only for larger organizations.
Compounding this issue for small to medium sized organizations is the fact that as of June 30, dashboard sharing has been removed from the free SKU of the original pricing model. Any dashboards that had previously been shared broadly to free users will cease to function as of the cut-off date. If Premium does not make sense for these organizations, then they do have the option of purchasing Pro for the consumer. To help ease this transition, Microsoft is offering a year’s worth of Power BI Pro to all active free users that signed up prior to May 3, 2017.
However, dashboards can be shared with external users, and it’s a pretty tall order to expect an external user to subscribe to Pro just to be able to read your report.
With Power BI Embedded switching to the Premium model, the ISV now needs to buy Premium capacity. Given that the entry price for Premium is so high, it is (in my opinion) out of reach of most of the services that would rely on it, not to mention those developers that simply want to get up to speed on it or do some testing. There has recently been some indications on the forums that the barrier to entry won’t be as high for developers, but even a figure as low at $600/month may still be too high for many to swallow.
Overall, I think that the Premium pricing model solves a problem that desperately needed to be solved. This approach opens the door to Power BI truly democratizing Business Intelligence and becoming almost as ubiquitous as Excel. The opening up of features to the free SKU and focusing the Pro SKU on sharing means less confusion for report designers.
Unfortunately, for the moment price stands in the way of that goal of many small-medium sized businesses. These businesses may be small in stature, but they are many in number. The removal of sharing from the free SKU actually represents a step backward for them. The floodgates have been opened for large businesses, but the stream has been dammed for smaller ones.
Fortunately, pricing is a simple problem to solve. My hope is that the entry point for Premium comes down to something that would make sense for even a 10-person company, and that the cost for developers using Embedded could scale with far more elasticity, starting at $0 to encourage investment. These changes would, in my opinion, truly set the stage for Power BI dominance.