Browsed by
Tag: azure

Power BI Embedded … confused?

Power BI Embedded … confused?

So I wanted to write this post, as I’ve gotten a lot of questions about this over the past year. Power BI embedded is a pretty awesome tool. The idea is this, “I want to get cool visualizations into my application, how do I do that?” The answer is Power BI Embedded, here’s a video for those unfamiliar with the product.

But for me, the question that usually comes next is the one I want to cover here. “How do I get this?” There’s a lot of confusion when it comes to Power BI, and that’s because it really comes from a couple of places.

See the source image

Explaining the types of Power BI:

There are essentially three flavors of Power BI:

Power BI Pro: These are individual licenses for those who will be working on the backend to build visualizations, and could be provisioning capacity in azure.

Power BI Premium:  This service is designed around providing dedicated capacity for running data refreshes, and visualizations for your Power BI implementation.  This allows for managing workspaces in the Power BI portal, and additionally does support the embedded functionality.  The primary difference here is that this is an Office 365 sku, so a partner has to purchase licenses through their reseller to add capacity.  Each license (EM1, EM2, EM3, P1, P2,  P3) provides different capacity, found here.

One item worth mentioning on the above skus is that you will see the cores separated into “Back-end” and “Front-end”, the backend cores are responsible for data refreshes, and the front-end cores are for visualization.  This is important because if you implement an EM1 sku, then you are sharing 1 core and it can cause issues with timeouts.

Power BI Embedded:  This service is more targeted at ISVs, and leverages Azure to generate the capacity, the skus are basically identical but the primary difference is that you can add capacity through the azure portal, and it is allocated on a consumption model. So ultimately this can be cheaper, and capacity is allocated easier should they need to add capacity.

At its core, how does this work?

Power BI functions on this idea of workspaces, which are created in the Power BI portal, and then PBIX files with data sets and visualizations are uploaded to it.  Once a workspace is available, capacity has to be added for the processing.  This capacity can come from office skus or Azure depending on how you configure it.

So let me answers some questions about what you want to do?

I wanted to render visualizations in my application, how do I do that?

For this use case you really want Power BI Embedded, with a few Power BI Pro licenses. To purchase Power BI premium requires working with a reseller to purchase licenses and then working strictly with an office portal to support creation of the capacity. You will also be paying for a lot of features you really don’t care about.

For Independent Software Vendors (ISVs) it makes a lot more sense to just buy Power BI embedded, its transacted in the azure portal which makes it very easy to create capacity and scale up as needed.

You will need Power BI Pro licenses as well, for the following use cases, but these are really cheap (a few dollars at the time of this post).

  • Any developer who will be building visualizations.
  • Any operations person (or service account) that will be provisioning or managing capacity.
  • Any service accounts that will be handling communication between the application UI and Power BI. This is required because without a license you will be throttled on the number of request tokens you can generate.

What is the difference between Gov and Commercial in PowerBI?

So for implementation for Power BI, you will require Power BI Pro licenses for the following:

  • Developers working on Power BI visualizations
  • Administrators who manage the Power BI Workspaces
  • Service Accounts from Apps that leverage Workspaces

For Government specifically you cannot access the Power BI Embedded functionality in the Portal without a Power BI Pro licensing. 

One thing worth mentioning, is if you are purchasing Power BI Pro licenses with the intention of using Government, you will need Power BI Pro GCC High, as these are the only licenses that can attach to your Azure AD accounts in the Government Cloud.

How do I purchase Power BI licenses?

Here is a link that talks you through purchasing Power BI Premium. For Power BI Embedded, here’s a link that explains the process in the azure portal.

How do I know how much capacity I need?

There is a great link here that talks about the different skus for Power BI Embedded and specifically it empowers you to chose the appropriate memory and vcore configuration to provision for your workload.

So the question becomes, “How do I know how much I need?”

The capacity required really depends on four elements:

  1. The amount of data being sent over and consumed.
  2. The complexity of any transformations done within Power BI.
  3. The complexity of the visualization.
  4. The demand on the application.

Here’s a whitepaper that was put out for Power BI Capacity planning for Embedded.

Hope that helps?

Hope that helps you with understanding the licensing of Power BI. There is a lot of confusion here and I hope this clears it up. So hopefully with any luck you have a better idea.

See the source image
Return of weekly links – 12/30

Return of weekly links – 12/30

Hello all, so I know that I totally fell off the wagon when it comes to weekly links. December has been a crazy month, I had three business trips, getting ready for Christmas. Due to family coming to town we effectively had 3 Christmas’ and on top of that I got sick.

I’m not complaining just explaining what happened. The holidays are a rough time for a lot of people, and we’ve all had experiences we have to carry with us. So remember in all the craziness that some might be suffering in silence. If you find yourself in this position, please reach out. You are not alone and there are people to help you.

Down to the business…

Cool Stuff:

So as always I have a post here about something fun. And this week I wanted to post about how my wife blew me away with her gift this Christmas. We had our 11th anniversary at Dave and Busters, we decided to double down on stupid fun. When we walked in, they were having a silent auction for MakeAWish and when I was in the bathroom she bid on this item and won.

This is a picture from the Dark Knight, my favorite movie of all time, signed by Christian Bale and the late Heath Ledger.

Getting Started with Azure (developer perspective)

Getting Started with Azure (developer perspective)

So there’s a common question I’ve been getting a lot lately, and that’s “I want to learn Azure, where do I start?” And this is ultimately a very reasonable question, because as much as the cloud has permuted much of the digital world, there are still some organizations who have only recently started to adopt it.

There are many reasons people would choose to adopt the cloud, scalability, cost, flexibility, etc. But for today’s post I’m going to focus on the idea that you have already decided to go to the Azure Cloud and are looking for resources to ramp up. So I wanted to provide those here:

MS Learn: The site provides videos, reading, and walk-through’s that can assist with learning this type of material:

MS Learn for Specific Services: There are several common services out there that many people think of when they think of the cloud, and I wanted to provide some resources here to help with those:

EDX Courses: EDX is a great site with a lot of well made courses, and there are a wealth of options for Azure and Cloud, here are a few I thought relevant, but it is not an exhaustive list.

  • Architecting Distributed Applications: One common mistake, that many make with regard to the cloud is that they think of it as “just another data center”, and that’s just not true. To build effective and scalable applications, they need to be architected to take advantage of distributed compute. This course does a great job of laying out how to make sure you are architected to work in a distributed fashion.
  • Microsoft Azure Storage: A great course on the basics of using Azure Storage.
  • Microsoft Azure Virtual Machines: The virtual machine is the cornerstone of azure, and provides many options to build an scale out effectively. This is a good introduction into the most basic service in Azure.
  • Microsoft Azure App Service: The most popular service in Azure, App Service enables developers to deploy and configure apps without worrying about the machine running under-the-covers. A great overview.
  • Microsoft Azure Virtual Networks: As I mentioned above, Software Based Networking is one of the key pieces required for the cloud and this gives a good introduction into how to leverage it.
  • Databases in Azure: Another key component of the cloud is the Database, and this talks about the options for leveraging platform-as-a-service offerings for databases to eliminate your overhead for maintaining the vms.
  • Azure Security and Compliance: A key component again is security, as the digital threats are constantly evolving, and Azure provides a lot of tools to protect your workload, this is an essential piece of every architecture.
  • Building your azure skills toolkit: A good beginner course for how to get your skills up to speed with Azure.

Additional Tools and Resources, I would recommend the following:

Those are just some of the many resources that can be helpful to starting out with Azure and learning to build applications for the cloud. It is not an exhaustive list, so if you have a resource you’ve found helpful, please post it in the comments below.

Weekly Links – 5/6

Weekly Links – 5/6

So I’ve decided to start doing something new, Like any good dev, I spend a lot of time on the internet, so as I’m working on various projects I’ve decided I’m going to post a bunch of useful links out here that I find as i’m going through my travels. Hopefully you find them helpful too.

Technical Links:

Developer Life:

TerraForm Kubernetes Template

TerraForm Kubernetes Template

Hello All, I wanted to get a quick blog post out here based on something that I worked on, and finally is seeing the light of day.  I’ve been doing a lot of work with TerraForm, and one of the use cases I found was standing up a Kubernetes cluster.  And specifically I’ve been working with Azure Government, which does not have AKS available.  So how can I build a kubernetes cluster and minimize the lift of creating a cluster and then make it easy to add nodes to the cluster.  So the end result of that goal is here.

Below is a description of the project, and if you’d like to contribute please do, I have some ideas for phase 2 of this that I’m going to build out but I’d love to see what others come up with.


The purpose of this template is to provide an easy-to-use approach to using an Infrastructure-as-a-service deployment to deploy a kubernetes cluster on Microsoft Azure. The goal being that you can start fresh with a standardized approach and preconfigured master and worker nodes.

How it works?

This template create a master node, and as many worker nodes as you specify, and during creation will automatically execute the scripts required to join those nodes to the cluster. The benefit of this being that once your cluster is created, all that is required to add additional nodes is to increase the count of the “lkwn” vm type, and reapply the template. This will cause the newe VMs to be created and the cluster will start orchestrating them automatically.

This template can also be built into a CI/CD pipeline to automatically provision the kubernetes cluster prior to pushing pods to it.

This guide is designed to help you navigate the use of this template to standup and manage the infrastructure required by a kubernetes cluster on azure. You will find the following documentation to assist:

  • Configure Terraform Development Environment: This page provides details on how to setup your locale machine to leverage this template and do development using Terraform, Packer, and VSCode.
  • Use this template: This document walks you through how to leverage this template to build out your kubernetes environment.
  • Understanding the template: This page describs how to understand the Terraform Template being used and walks you through its structure.

Key Contributors!

A special thanks to the following people who contributed to this template:
Brandon Rohrer: who introduced me to this template structure and how it works, as well as assisted with optimizing the functionality provided by this template.

Azure Compute – Searchable and Filterable

Azure Compute – Searchable and Filterable

Hello All, so a good friend of mine, Brandon Rohrer and I just finished the first iteration of a project we’ve been working on recently.  Being Cloud Solution Architects, we get a lot of questions about the different compute options that are available in Azure.  And it occurred to us that there wasn’t a way to consume this information in a searchable, and filterable format to get the information customers need.

So we created this site:
This site scrapes through the documentation provided by Microsoft and extracts the information about the different types of virtual machines you can create in azure and provides it in a way that meets the following criteria:

  • Searchable
  • Filterable
  • Viewable on a mobile device

Hope this helps as you look at your requirements in Azure and build out the appropriate architecture for your solution.