Moving BI to the Cloud: Ditch SSAS?
Possible Architectures
1: Power BI cloud on existing infrastructure
The first option is the current situation at my customer's. Added an Enterprise Gateway to a rather 'classic' BI infrastructure, providing Power BI in the cloud. Variations are endless here - here's the essence I think:
To get in depth knowledge on Microsoft business intelligence, enrich your skills on Msbi online training
SSAS has several uses here:
- Semantic Model:
- Calculation (measures calculate correctly on different hierarchy levels)
- Abstraction (hiding of technical columns, providing perspectives, etc.)
- Row-level security (RLS; being not in SQL Server < 2016)
- Caching (performance achieved through local / in-mem storage; Columnstore Indexes may minimize the performance gap though)
2: Move DWH to the cloud
SQL Datawarehouse is Microsoft's cloud offering for a scalable DWH:
- Can handle Petabyte+ data
- Upscale / downscale within seconds
- separation between storage and compute
Power BI can connect directly to SQL Datawarehouse. Sounds like the architecture can be simplified, with all BI stuff at least operating on PaaS, which means less operational stuff to care about:
BI in the cloud - Power BI acting as SSAS
However, there are some drawbacks to this option (given the current offering of SQL Datawarehouse): Learn more from Msbi online course
- Power BI has limited storage capability (10 GB in total, 250 MB per model)
- SQL Datawarehouse doesn't offer RLS
- I haven't tested this, so don't take my word for it, but I tend to think SQL Datawarehouse maybe isn't the ideal fit for interactive (BI purposed) querying1.
3: Using self-managed SSAS in a cloud infrastructure
To provide row-level security as well as ensure responsive interactive queries, you could re-introduce SSAS - either on-premises (with a gateway) or in an Azure VM:
SSAS on-prem as semantic & security layer
SSAS in VM as semantic & security layer
In both cases, SSAS is used for all things it was used for in the first architecture:
- semantic model
- row-level security
- caching
Power BI connects using Direct Connect, so you won't be able to mess up and add any modeling in there.
Although every need addressed by the original infrastructure can be addressed with this new infrastructure, note that:
- The highest as-a-service level for SSAS provided is IaaS
- You're not really limited in the size of your DWH, as SQLDWH can easily store more than a Petabyte, which means SSAS-TM (being in-memory) might not suffice when the dataset is really large. Possible solutions are using Direct Query, or using Multidimensional (SSAS-MD).
The Almost-Ideal Architecture
Reading all of above, one could argue that the best way would be to ditch SSAS: bring the semantic model to Power BI, handle RLS in SQL Database, use Direct Connect4 to get the data as-needed from SQL Database, et voilà: BI platform in the cloud! Something like this:
The Impossible Architecture: RLS in SQL Database, Semantic Model in Power BI
A variation on this would be to handle the RLS in Power BI - maybe this is even better, as it makes access control more transparent:
Variation on the Impossible Architecture: Semantic Model & RLS in Power BI, Storage in SQL Database
To be honest: while studying all possibilities, this appeared to me as the solutions for a fully cloud-based infrastructure.
Configure the SSAS cube project with proper security and encryption of passwords. It needs to set the password first before executing the files. Thus, to learn more about cubes and their deployment practically, go through MSBI Online Training Hyderabad.
Comments
Post a Comment