What are Capacities in Microsoft Fabric?
Microsoft has announced Microsoft Fabric at the Build Summit of 2023. One of its most significant features is the separation of storage and compute. However, there seem to be different versions of "compute": SQL, Spark, and Kusto. What exactly drives these compute options? Can we pause them to save money?
In Microsoft Fabric, the compute resources are provided by capacities. These capacities drive all the experiences in Fabric: Azure Data Factory, Spark Notebooks, Kusto Databases, etc. Even Power BI reports will use capacities for compute. Capacities will run workloads concurrently and don't need to be specifically allocated to a resource.
Right now, there are two main methods for purchasing capacities:
- The Power BI path. You purchase capacities just like you did for Power BI Premium. These are the so-called P SKUs. You buy a capacity and pay a monthly fee. The capacity is always running. Note: The A and EM SKUs (used for Power BI Embedded) don't support Fabric.
- The Azure path. Using the Azure Portal, you can purchase F SKUs. In contrast with the P SKUs, you can pause and resume an F SKU, which saves money. You pay for the amount of time the SKU has been running (per second with a one-minute minimum), where the price increases with the size of the SKU. Microsoft has announced that there will be an option to have an Azure Reservation commitment model.
The following table gives a comparison of the different SKU sizes. It also includes the monthly price for the "US West 2" region (as outlined in this blog post):
|SKU||Power BI SKU||Pay-as-you-go monthly price|
If you have a SKU smaller than F64 (= P1), users need a Power BI Pro license to consume Power BI content, just like in Power BI Premium. Report creators always need a Power BI Pro license. As the table shows, high SKUs like F256 or higher come with a significant monthly cost. Make sure to pause your capacity if you don't need it. We will cover how to do this later in this tip.
How to Create an F SKU in the Azure Portal
In the Azure portal, search for "fabric." This should take you directly to the Microsoft Fabric overview page.
Click on Create Fabric Capacity to create a new capacity for Microsoft Fabric in your tenant. Remember that the Azure and Power BI tenant needs to be the same. You will also need contributor rights on your subscription to add a capacity. In the Basic section of the wizard, choose a subscription and a resource group (or create a new one, if needed).
Give the capacity a name and choose a location. The name needs to be unique in the location. The wizard will automatically select a location for you depending on your Power BI tenant's location. You can choose a different location from the dropdown since Microsoft Fabric supports multi-geo capabilities. In this case, though, opting for the same location as the Power BI tenant is advised.
You will also need to specify a size, which can be changed later. The default size is F64, corresponding to a P1 Premium capacity (but is much more expensive). For testing purposes, an F2 capacity should suffice. Since you're creating the capacity, you are the capacity administrator by default. Normally your email will be automatically filled in in the last field. If you want to select another person, you can search for them in Azure AD.
Click on Review + create to go to the validation page. You can create the capacity once the validation has succeeded (which shouldn't take long). In my tenant, it took less than 30 seconds to create a new F2 capacity.
Pausing, Resuming, and Scaling the Capacity
Once the capacity is created, you can easily pause it manually in the Azure Portal.
If a capacity is paused, it can be resumed in the same location. Currently, there's no Fabric API to perform this automatically. (The API is still very limited at the time of writing since the service was still in preview.) Hopefully, this will change soon. Pausing and resuming a capacity should be quick (just a few seconds). There's no auto-suspend or auto-resume possible like in Snowflake.
If you want to scale your capacity to another tier, you can do this in the Change Size screen of the Scale section.
Choose the desired tier and click on Resize.
When I scaled the capacity from F2 to F4, it was done almost instantly. It doesn't matter if the capacity is paused or active. Scaling can be done at any time.
How to Use the F SKU in Microsoft Fabric
Once the capacity is created, we can use it in Microsoft Fabric. First, you must make sure Microsoft Fabric can be used in your tenant. Go to the Admin portal in Power BI/Fabric and follow the steps outlined in the documentation. Ideally, you only allow a subset of users to create Fabric items:
Next, you must assign the capacity we created earlier to a workspace. In the Workspaces section of the Admin portal, search for your workspace and click on Reassign workspace.
While the trial is active, you can choose the Trial option (which will use a P SKU), but ultimately, we're interested in the F SKU we created in Azure. At the bottom, you can find the Fabric capacity option. From the dropdown, select the desired capacity.
Even though I'm an admin for a workspace and the capacity admin, I can not do the assignment myself in the workspace settings since I don't have the Power BI Admin role. As you can see in the screenshot below, the option is greyed out (choosing the trial was an option, though).
It should also be possible to switch your "My workspace" to Fabric by assigning a capacity. Once the capacity is assigned to a workspace, we can create Fabric artifacts in that workspace. You can see you're in a Fabric workspace if a diamond is next to its name (just like in Power BI Premium):
To test our capacity, click on the icon in the left bottom corner and choose one of the Microsoft Fabric personas (you might still be in the Power BI environment, so we need to switch to Fabric):
Once you've selected a Fabric persona, you can create Fabric objects. Click on New to create a new object.
Choose the first option to create a new pipeline (similar to Azure Data Factory pipelines). You'll need to specify a name for your new pipeline:
If the capacity is paused, you'll get a – not so helpful – error message:
If the capacity is running, you can create your pipeline:
- Check out the tip What is Microsoft Fabric? to get an overview of what Fabric can do for you.
- Enable Microsoft Fabric for your organization
- If you want to use P SKUs instead of an F SKU, check out the following article: Managing Premium capacities
- Microsoft Fabric documentation for admins
- Microsoft Fabric licenses
About the author
View all my tips
Article Last Updated: 2023-08-14