Leverage Power BI Deployment Pipelines with Premium per user licensing

At Microsoft Ignite, there were two really exciting announcements when it comes to enterprise features for Power BI. Both directly took my attention, as well as for many others. Obviously, the first one is Power BI Premium per user (PPU) licensing. Secondly, Deployment Pipelines reached General Availability!

Two super important features for enterprises and the maturity of Power BI! Let’s have a look at both announcements and how these announcements together will have a massive impact!

Ignite releases

Before we look at the two together, let’s first have a quick look at what exactly has been released and announced at Ignite.

Premium per user (PPU)
One of the biggest announcements was Power BI Premium per user for sure! Soon, Microsoft will release a new type of license to have Power BI Premium capabilities in a per user licensing model. With that, Premium functionality will become available for many more Power BI users for an affordable price, as the high entry price is lifted now.

There are some minor differences in the exact functionality for Power BI Premium on capacity and users bases. But nothing that is stopping us from integrating two amazing things together. For the full release and answer to most questions related to the PPU license can be found in this blog by Christopher Finlan.

Deployment Pipelines General Availability
The second thing that I am super excited about is the general availability of Power BI Deployment Pipelines. Since the very beginning, I am a huge fan of Deployment Pipelines, although there are some functionalities missing for end-to-end deploying of your entire enterprise solutions. Nevertheless, the most important missing features are on the roadmap!

Not too long ago, I wrote a blog about the comparison between Azure DevOps and Power BI Deployment Pipelines. Guess what, the team announced that there is an integration between both services coming up! I could not be more excited about this!

Why is this such a big deal?
Well, deployment pipelines is a pretty big deal for the maturity of your solutions and the way how your content flows through your DTAP pipeline. A proper approach where you define separate workspaces for each stage in the DTAP approach, keeps everything separated and helps you to have a stable and untouched production workspace.

Back in November 2019, I blogged about a multi-tier deployment setup, where you define a specific workspace for each stage in the DTAP approach. As this blog is related to Azure DevOps the approach is very similar to what we can do with Deployment Pipelines inside of Power BI. Depending on your way of working you might prefer one or the other. Nevertheless, I want to remind you once again about the upcoming Azure DevOps integration for Power BI deployment Pipelines.

DTAP staged approach with multiple workspaces

Now we know that Deployment Pipelines are very useful, what has Power BI Premium to do with this? Well, Deployment Pipelines is a premium feature. Each workspace assigned to a Power BI Deployment Pipeline must be assigned to a Premium capacity. But… now it gets interesting!

PPU and Deployment Pipelines

Combining these two announcements together, results in huge advantages! Before I am going to tell you what the optimal solution will be, let’s first have a look at what problem we try to solve here.

Small organizations
Currently, it is very hard for small organizations to get everything out of the Power BI platform. Features like Deployment Pipelines are only available when you have a Premium Capacity in your organization. Especially for small organizations this can be a huge blocker to professionalize their Application Lifecycle Management. With the new PPU licensing, this blocker will be lifted which democratizes these Premium features for a lower Premium per user price.

Overcommitting your Premium Capacity
As each workspace in our Deployment Pipeline must reside in a Premium Capacity, this might result in unfortunate situations. As all content deployed to workspaces on a premium capacity uses a part of the Premium Capacity memory, you might occupy your capacity quickly, as all content is saved on the Premium Capacity trice (Development, Test and Production).

The memory occupancy aside, your content developers work in the development workspace throughout the day. In this workspace they publish new content, refresh dataflows, process datasets and more. All this results in CPU consumption on your Premium Capacity.

All actions executed in development and test workspaces, might impact the stability of your production content. At least if all workspaces in all stages are assigned to the same Premium Capacity. This might result in overcommit your Premium Capacity sooner or later.

To fix this, you want to put your development and test workspaces on another Premium Capacity than your production workspace. This is not very cost effective, as a P-SKU costs a lot of money and you have to commit to it for a full year. Using A-SKUs in Azure might help here but are still pretty expensive to have up and running during workhours.

Premium per user as cost saver!
As having a separate capacity for non-production workspaces is a luxury, it would be great if we had another option. Well, we will as soon as Premium per user licensing is available!

One of the limitations of PPU licensing, is that only users with a PPU license can interact with the content in these workspaces. Nevertheless, for a lot of cases this will fulfill the need of a staged content delivery approach. The need for a Premium Capacity allocated to the workspace will be lifted as soon as we have the PPU license on our hands!

So how will this work? All content in both development and test workspaces will be published and created by your content developers. For these developers you assign a PPU license, which gives them full Power BI Premium functionality during development. The Production workspace on the other side, will still be assigned to a Premium capacity.

With that, only the developers can interact with the content in the development and test workspaces, while the production workspace still benefits from the sharing option to unlicensed users that comes with the Premium Capacity based license.

PPU driven Deployment Pipeline. Note that only in production a Premium Capacity is assigned to the workspace.

Wrap up

As the new PPU license gives the same functionality as capacity-based licensing, the described approach will not have any limitation when it comes to functionality. Combining the new PPU license and capacity-based license, you can prevent unpredictable memory and CPU utilization on your production capacity, while not needing to buy and commit to an expensive capacity-based license.

Personally, I see a huge advantage in this approach as it helps further professionalizing the deployment strategy and cost savings at the same time, for both small and large organizations!

Finally, there is one last thing where I do not have any clarity yet and I am curious to see how this will be handled with the Premium per user licensing. In todays setup with Deployment Pipelines, users configuring the pipeline need to have Premium Capacity assignment permissions, as every workspace created by the pipeline needs to be allocated to the capacity. Not sure yet how this will work with the PPU licensing. Will this blocker also be lifted?

Links

I also have to thank Mike Carlo. During the MVPs react, a monthly call where MVPs talk in a YouTube livestream about the recent announced and released features, we had a chat about PPU licensing related to Deployment Pipelines. Mike and I both had the same idea on our mind and we chatted a bit about it. Below, you can watch the full recording of September 2020 MVPs React.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s