If you want to learn Power BI to advanced level it is necessary to master its architecture. In this article we will try to cover all the components of Power BI architecture. We will try to understand how front-end and back-end coordinate to provide best features of Power BI for data analysis.
Let’s start and we want you to make sure that you have read previous articles to understand the basics.
What is Power BI Architecture?
Power BI is a software solution to provide Business Intelligence to the enterprises. Power BI is the product by Microsoft and also has office 365 support. Microsoft Power BI consist of various components which are listed below:
for data preparation and data transformation – Power Query
for client-side development – Power BI Desktop
Access on mobile devices – Power BI Mobile
for powerful data modeling – Power Pivot
for viewing visualizations – Power View
to visualize 3D Geospatial data – Power Map
for natural language-based Q&A – Power Q&A
The process goes like in the beginning, Power BI uses data from various data sources like files, cloud, direct query or gateway services. This data is then cleaned and transformed according to users need. This data cleaning and transformation process take place at client-side development tools like Power BI. Once the data model is ready it can be used in visualizations or reports. A report is a collection of various visualizations like charts, graphs and trees.
Reports generated in Power BI Desktop can be published using 2 methods. First method is publishing through Power BI Service and second method is to publish through Power BI Report Server. The first option is based on cloud-based service platform whereas second option is on-premise solution protected by firewall.
Which are the components of Power BI architecture?
1. Data Sources
Any Business Intelligence tool can be extremely popular like Power BI only when they allow data import from many sources. In Power BI you can import data from Cloud Services or you can import it from live connections. If data import is from on-premise or online services then there is a limit of 1 GB. Below is the list of some of the popular data source option that Power BI provides:
Excel
Json
Oracle Database
IBM DB2 Database
Amazon Redshift
Azure SQL Database
Salesforce Reports
Google analytics
MySQL Database
GitHub
2. Power BI Desktop
This is also known as companion tool or authoring tool as it is for client-side development. Using Power BI Desktop you can import data, transform data, define data relationships, define hierarchies, create visuals and publish report. So, Power BI Desktop provides you with complete solution for data analysis.
3. Power BI Service
Power BI Service is a web app to share reports and collaborate with teammates to create dashboards. As this is a web app it is also known as “Power BI Workspace”, “Power BI Portal” or “Power BI Site”. This service is available with three packages: free, pro and premium.
4. Power BI Report Server
To use this service, you need to have a premium license. Power BI Report Server is much more similar to Power BI Service. The only major difference being Power BI Report Server is used by Enterprises who don’t want to store their data on cloud and can have security concerns. With Power BI Report Server you will be able to create and share the dashboards only with the people who follow proper security protocols.
5. Power BI Gateway
Power BI Gateway is again used more by enterprises whose data is not stored on cloud and can have date security concerns. It is used to extract data from on-premise data sources using secured channels of Power BI. So, Power BI Gateway is mainly used to connect to and access on premise secured data.
6. Power BI Mobile
Many a times you will need to check data and reports when you are not in office or your working space. In such urgent situations Power BI Mobile can come in handy. Power BI Mobile is used to view reports and dashboards on android, iOS and windows mobile devices.
7.Power BI Embedded
Power BI Embedded offer group of APIs which can be used to embed visualizations from Power BI in custom applications.
Power BI Architecture with Working.
We have very well understood features of these components individually. Now it is time to understand how they coordinate or work in a group. Below given is detailed diagram of working of power bi architecture
The upper part in the diagram shows on-cloud services while lower part shows on-premise services. Starting the process, to get the data from data sources Power BI has the feature called ‘Get Data’ using which you can connect to various data sources, on-premise or on-cloud.
We know that, every report or visualization that is shared is on Power BI Service. Many a times reports are accessed through client’s website or mobile app. In order to understand completely how this all runs it is important for us to learn working of Power BI Service. Power BI’s service architecture consists of two parts: Front end and Back end. Identities of various users are stored in Azure Active Directories. The Front-end services are responsible to connect and authenticate using Azure Active Directories. Also, in Front end comes the Azure Traffic Manager and Azure Content Delivery Network. Azure Traffic Manager is mainly responsible to direst user requests to nearest data center after authentication. Azure Content Delivery Network transfer static Power BI files to the user. For backend web client only has two ways to interact with. First being Azure API Management and second being Gateway role. Backend is generally responsible for visualizations, storage, datasets, data refreshing etc.
After Azure API Management authenticates a user request, it is forwarded to Gateway role. Gateway role then processes the requests and forwards them to further suitable components like Presentation role, data role etc.
Data in Power BI
The data of Power BI is shared into two main repositories: Azure Block Storage and Azure SQL Database. The entire metadata and system related data is stored in Azure SQL database. Whereas datasets uploaded by clients are stored in Azure Block Storage. Also, Azure AD Cache helps in real time reporting using the data stored in the in memory of Power BI system. Additionally, Azure Service Bus is used to connect to the on-premise datasets with cloud. The other microservices and components necessary to keep cloud running is managed by Azure Service Fabric.
In brief, we have covered all the important components of Power BI architecture. Additionally, it might be much insightful for people who have read our previous articles on Power BI. There are many such articles coming up on advanced topic so don’t forget to subscribe to the newsletter of MachineLearningTutor.com .