Forum Discussion

alexanderg's avatar
alexanderg
Advocate II
10 years ago
Solved

Approach for build a scaled solution

Hello Everybody

In your experience, Which is the best design approach to architect a scaled solution using Power BI?

Any reply would be helpful, thanks in advance!

  • Anonymous's avatar
    Anonymous
    10 years ago

    alexanderg

    This is just one approach, but I like it for security/backup/ease of use. It leverages AD, the Desktop and the Service.

    1) Security is managed via AD groups to simplify user management. You have control of which end users can read the model, which users can publish reports via that datasource (Enterprise Gateway), which users have access to the Power BI Groups. This also allows for row level security on the model level).

    2) I use the desktop to build/update reports using my SSAS connection. This gives me backups/version control because I have the file which I can re-deploy anywhere, and I can store it in any number of locations including those like Sharepoint where I can see modified dates, etc.

    3) I use Power BI Groups as the only place to pull company level reports into. This gives me the ability to have a group of people manage reports and own them, so everything isn't in one persons workspace.

    4) For most end users, a shared dashboard is going to be easier to understand, so that is typically the best way I've found to intially start sharing reports. Although Content Packs are powerful, and I think are a great "Step 2" for implementing certain solutions, but only after I'm sure the owners and end users know how to use them.

     

    This is a really high level broad strokes bullet point list, but it's typically my recommendation path for larger scalable solutions. At this point in time building business processes has to take the place of admin controls or features since those are not in the tool by default. I'm hoping more of the capabilities are added over time.

     

14 Replies

  • Anonymous's avatar
    Anonymous
    Not applicable

    Since its cloud based are you mostly questioning access to on premisis data and the Enterprise Gateway (EG)?

     

    From the EG persective this is what I hear most recently (a webinar last week from Microsoft):

    • Power BI does not yet support high availablity/redundancy of an EG individual gateway.  Their is a recovery key that can be used ot restore an instance of the EG if necessary.
    • There are Perf Mon counters for the EG.  Its worth tracking those over time as well as well as usual server level measures % CPU, # Memory, etc. as you ramp up usage.
    • Start with 8 cores and adjust based off perfmon counters and usage
    • Potentially locate your EG geographically based off where your Power BI service lives.  You can see that location by logging into the Power BI Service and using the ?/About Power BI option.

    I believe they are going to be publishing some guidance soon.

     

     

    • alexanderg's avatar
      alexanderg
      Advocate II

      Thanks Anonymous, I refer to differents ways to deploy a scaled solution with Power BI, and based on their experiences, which could be the best approach. Since what I've seen every form of implementation has its pros and cons. For Example:

      1- With Power BI Desktop you can create a very complete solution importing data from multiple sources and modeling it and all this running in memory. But the cons is when you publish in the service (Because Actually Doesn't exists an On-Premise solution) you are limited to 250MB in your dataset, so is not scalable (I think so).

      2- The other alternative is create a solution using DirectQuery, with this you are not limited in the dataset and also you get always the most recent data, but the cons is DirectQuery has many limitations in the Query Editor, Modeling, DAX and lose the in-memory technology..

      3- Also we can work with SSAS, but in this way you lose all the ETL capabilities of Power BI, because Power BI will act only as a presentation layer.

      • Anonymous's avatar
        Anonymous
        Not applicable

        alexanderg My 2cents: If you have the option to use SSAS, then go that route. 

        The only downside, that I see, is that it requires more knowledge of different applications to build the backend etl.

         

        The benefits:

        There are no limitations to size (as you mention)

        There are methods for version control (TFS) and backups

        You don't have to rebuild everything if your 1 Desktop file that contains everything becomes corrupt for some unknown reason.

        You get the benefits of using an in-memory model - especially in SQL 2016

        You get to keep your data on-premises (matters to some, not all)

        You can use your model in any visual platform that supports a connection to it

         

        There are probably other benefits, but that's what I can think of at the moment.