I was designing a Azure Data Warehouse solution and as part of the assignment there was a frequent question that many users/architects asks i.e. what to use for Modeling? Should we go for Power BI Premium as that seems to be the future or should we go ahead with Azure Analysis Services?
Below Article talks about what these components are in brief and what are the decision factors of using preferred approach and in what condition should we opt for the other component.
We will start with brief introduction of both components and then will move to what edge Azure Analysis Services gives us over Power BI premium and when should we consider Power BI Premium and how does its RoadMap looks like.
Power BI Premium:
Power BI Premium provides dedicated and enhanced resources to run the Power BI service for your organization. For example:
- Greater scale and performance
- Flexibility to license by capacity
- Unify self-service and enterprise BI
- Extend on-premises BI with Power BI Report Server
- Support for data residency by region (Multi-Geo)
- Share data with anyone without purchasing a per-user license
This article is not meant to provide in-depth details about every feature of Power BI Premium — in fact, it just touches the surface. For more information Please refer to Microsoft documentation.
Azure Analysis Services:
Azure Analysis Services is a fully managed platform as a service (PaaS) that provides enterprise-grade data models in the cloud. Use advanced mashup and modeling features to combine data from multiple data sources, define metrics, and secure your data in a single, trusted tabular semantic data model. The data model provides an easier and faster way for users to browse massive amounts of data for adhoc data analysis.
Conclusion and Decision Factors
After going through different articles spread over net & developing different prototype models, discussion with Microsoft teams I concluded at this time Azure Analysis Service is a better candidate for Semantic Layer, The PowerBI premium comes with good flexibility and has great road map ahead infect the future RoadMap also includes to have Azure Analysis Services as Subset of Power BI Premium but as of today Azure Analysis Service has an edge over below factors hence I chose to use it in my semantic layer (I will describe the warehouse architecture i.e. description of all layers and its work but in some other article), please find below deciding factors in favor of Azure Analysis Services
1. 👉 Scaling: With Power BI Premium, you get dedicated capacities. In contrast to a shared capacity where workloads run on computational resources shared with other customers, a dedicated capacity is for exclusive use by an organization. It’s isolated with dedicated computational resources which provide dependable and consistent performance for hosted content. Though you get dedicated capacity but you can not Autoscale up and down as it is the capcity assigned at enterprise level.
Azure Analysis Services delivers enterprise-grade BI semantic modeling capabilities with the scale, flexibility and management benefits of the cloud. we can configuring Auo scale in and out options based on the need.
2. 👉Governance: Azure Analysis Service provides governance i.e. Role based security at both object as well as row level, Power BI premium does not support row level security this feature is in future pipeline of Power BI. Analysis Services uses role-based authorization that grants access to server and model database operations, objects, and data. All users who access a server or database do so with their Azure AD user account within an assigned role. The server administrator role is at the server resource level. By default, the account used when creating a server is automatically included in the Server Admins role. Additional user and group accounts are added by using the portal, SSMS, or PowerShell.
Non-administrative end users who query data are granted access through database roles. A database role is created as a separate object in the database, and applies only to the database in which that role is created. Database roles are defined by (database) Administrator, Read, and Read and Process permissions. User and group accounts are added by using SSMS or PowerShell.
2. a) Row-level security
Tabular models at all compatibility levels support row-level security. Row-level security is configured in the model by using DAX expressions that define the rows in a table, and any rows in the many direction of a related table that a user can query. Row filters using DAX expressions are defined for the Read and Read and Process permissions. Refer to Microsoft Docs for more details.
2. b) Object-level security
Tabular models at the 1400 compatibility level support object-level security, which includes table-level security and column-level security. Object level security is set in the JSON-based metadata in the Model.bim file by using TMSL, or TOM. To learn more, see Object-level security in Microsoft Docs.
3. 👉Pay as You Go: Go up, down, or pause your server. Use the Azure portal or have total control on-the-fly by using PowerShell. You only pay for what you use in case of Azure Analysis Service. PowerBI premium comes with fixed model i.e. the subscription you opt for.
4. 👉Can Import Power BI Models: Azure Analysis Services web designer allows us to import data models from a Power BI Desktop file (PBIX) into Azure Analysis Services. Once imported to AAS, we will be able to use those models with all of the AAS features including table partitioning.
When to Use Power BI Premium
All decision factors considered above are already in road-map of PowerBI Premium and hopefully by next year we will see a much robust version of Power Bi Premium with most of the features but as on today Azure Analysis Services holds an edge over premium, but still if you are in an organization where it is pretty clear that you will not use any other reporting tool than Power BI you can use PowerBI premium as it also brings simplicity along also business users can easily play with the models directly
The most strong case to use Power BI premium is: if you are using multiple data source e.g. Oracle etc where Azure analysis Service does not provide a connector but Power BI connects seamlessly, Power BI Premium also provides connector to multiple other data sources, so if requirement is to fetch data from multiple data sources, Power BI premium is your bet.
The Road-Map Ahead
The RoadMap of Power BI Premium is pretty clear and shiny, it will be the superset with Azure Analysis Services being subset of it. It will have features such as scaling, governance (row and object level security) and you can distribute Power BI models with other reporting services such as Tableau or SpotFire.
There is a also a high possibility for it to provide the feature to import Azure Analysis Services model in to Power BI Premium so that you can upgrade if required (as of now this feature is vice versa i.e. you can import Power BI model in Azure Analysis Service).
Currently the Power BI Premium does not support Auto Scaling and for complex data-sets you need to buy P3 plan as P1 supports only 1 Gigs of data cache which may not be sufficient for bigger data-sets. MS is investing very rapidly in PowerBI and almost every week a new feature is being added/updated to Power BI premium and it is getting content/feature rich day be day.