Microsoft Power BI is a self-service analytics tool. It is responsible for covering various topics of analytics such as data analysis, performing ETL, preparing datasets, modeling the data, report building, visualizations of the reports, and much more.
To learn Power BI and deep dive into the possibilities, it is essential to learn its Architecture. This is the same way as if you want to learn any new programming language you need first to understand its working(architecture) and syntax. Power BI Architecture consists of many components.
Power BI Architecture
Power BI Architecture Consists of 4 steps:
- Data Integration
- Data Transformation
- Building Powerful Reports and Publishing
- Creating a Dashboard
Data comes from various sources and is in different formats. When data is imported in Power BI, up to 1 GB is stored in a compressed way in the form of datasets, and if the data exceeds beyond that like most of the big data generally do, it is stored in an area which is termed as a staging area in Power BI. If your data always exceeds 1 GB, then you will have to opt for Azure analytics service or Power BI Premium.
The data that is integrated is not ready to visualize and report building. It needs to be pre-processed and cleaned to remove the redundant and null values. This processing of data is known as data transformation. Once it is processed, it needs to be loaded into Data Warehouse.
Building Reports and Publishing
Once the data is transformed, it is now ready to build reports with the help of visualizations and charts provided in Power BI. The built reports can be published to share on Power BI Service or on-premise Power BI Server.
Creating a Dashboard
You can create a dashboard once the report is published. The dashboards retain the filter applied to the individual elements or visuals, and if it is pined on the dashboards, then the report page aids it to interact with the help of filters and slicers.
As the steps stated above, it is clear that the reports need to be published before creating a dashboard. So, let us discuss how the reports are published in the Premise and On-Cloud by Power BI.
It is clear from the diagram that the upper half is on the cloud part of the architecture while the lower part is on-premise part of the Power BI architecture. Power BI integrates the data, transforms it and then the report is created. The created report can be published on-premise Power BI Report Server or on-cloud Power BI Service, according to your organization’s work ethics.
Power BI Architecture Working
Data can be transferred to Power BI Desktop with different data sources. It allows the users to create reports and publish it on Power BI Report Server or Power BI service. SQL data servers and Power BI publisher aids in creating mobile reports, paginated reports, KPIs, datasets, etc. Power BI publisher also allows us to publish the excel workbooks to the Power BI Report Server. Thus, all kinds of reports can be published in Power BI Report Server and then from there it can be distributed to the end-users.
Whenever you want to publish your report on-cloud to Power BI Service, then Power BI gateway is very important. Power BI gateway acts as a bridge or a secured channel for transferring the report. Via-direct connections it is possible to connect to on-cloud data sources for Power BI tools.
Power BI Service Architecture
The reports published on Power BI Service can be accessed on the client’s platform like mobiles, tablets, websites, etc. Power BI Service architecture is divided into two parts: Power BI Web Front End Cluster and Power BI Back End Cluster. These two parts are usually defined as clusters as it consists of many different parts inside it.
Web Front End Cluster
Front end cluster is also called as Web Front End Cluster acts as an intermediate between the clients and Back end Cluster. Its main work is to establish the initial connection of the client with Azure Active Directory and authenticate the client. Once the authentication is done, Azure Traffic Manager directs the client’s request to Azure Content Delivery Network, which provides all the static files or content to the client as per its geographic location.
Back End Cluster
Back End Cluster is responsible for managing data connections, data refreshing, visualizations, storage, reports and other services in Power BI. The web point has only two direct points to interact with the data at the back end. Those two points are Azure API management and Gateway Role, they are responsible for authentication, routing, load balancing, etc.
Working of Power BI Service
- Power BI uses Azure SQL Database to store the datasets and Azure Block Storage to store system-related data and metadata.
- It authenticates the user and sends it to the Gateway Role which in turn according to their requests sends them to the appropriate component like Data Role, Presentation Role, Data Movement Role, and Background Job Processing Role
- The queries like dashboards and reports are managed by presentation role. It also sends queries to Gateway Role, which in turn sends it to Data Movement Role or Data Role for the relevant datasets.
- Azure Service Bus does the work of connecting and fetching the on-premise dataset with the cloud.
- All Microservices and components that are related to Power BI are allowed by Azure Service Fabric
- The Azure Cache helps to report the data that is stored in the Power BI system’s memory.
Thus, we have discussed in detail Power BI architecture. We discussed the working of Power BI Architecture and its steps in detail. We also discussed the working of the front end cluster and back end cluster of Power Bi service Architecture.