Power BI Studio
Terug naar alle artikelen

Embedded Power BI voor ISV's: 6 architectuurkeuzes die je licentiekosten halveren

Jan Willem den Hollander
Jan Willem den Hollander

Power BI architect, LSS Black Belt. 15 jaar ervaring in data & business intelligence.

Embedded Power BI voor ISV's: 6 architectuurkeuzes die je licentiekosten halveren

Een F-SKU capaciteit van 2GB kost je €2.000 per maand, een F8 loopt op tot €8.000. Voor ISV's die embedded analytics aanbieden wordt dit snel een significante kostenpost. De keuze tussen verschillende embedded architecturen bepaalt letterlijk of je winstgevend blijft.

Het probleem is dat de meeste ISV's embedded Power BI implementeren alsof het een interne BI-oplossing is. Dat werkt, maar kost onnodige duizenden euro's per maand.

De vraag achter de vraag: schaalbaarheid versus kostenefficiëntie

Voor je embedded Power BI architectuur kiest, moet je eerst weten wat je echt wilt bereiken. De meeste ISV's denken dat ze "Power BI in hun applicatie willen embedden". Maar wat ze eigenlijk willen is kostenefficiënt schalen met hun klantgroei.

De echte vraag is: hoe implementeer je embedded analytics zodat je kosten per klant dalen naarmate je groeit, in plaats van lineair stijgen?

Dit vereist een andere architectuur dan wat Microsoft's standaarddocumentatie suggereert. De standaardaanpak is ontworpen voor enterprise scenario's met voorspelbare gebruikersaantallen, niet voor SaaS-platforms die van 50 naar 5.000 klanten willen groeien.

De criteria die er toe doen

Bij het kiezen van je embedded Power BI architectuur zijn vijf criteria bepalend voor je uiteindelijke kosten en schaalbaarheid.

Capaciteitsbeheer en resource-toewijzing

F-SKU capaciteit wordt gedeeld tussen alle embedded content. Een slecht presterende dataset kan je gehele capaciteit blokkeren. Dit betekent dat architectuurkeuzes rond workload isolation direct je stabiliteitsproblemen bepalen.

Power BI embedded werkt het beste wanneer je datasets klein houdt en queries optimaliseert. Een enkele dataset van 5GB kan een F2 capaciteit volledig opslokken, terwijl 20 datasets van 250MB elk probleemloos draaien.

De kunst ligt in het verdelen van workloads. Multi-tenant datasets zijn efficiënter voor capaciteit, maar single-tenant datasets geven betere isolatie.

Licentiemodel en cost-per-user scaling

F-SKU capaciteit schaalt niet lineair met gebruikers. Een F2 (€2.000/maand) ondersteunt theoretisch onbeperkt gebruikers, maar praktisch maximaal 200-500 concurrent actieve gebruikers, afhankelijk van je query-complexiteit.

Pro-user licenties (€8,40 per gebruiker per maand) zijn duurder vanaf 240 gebruikers. Maar ze bieden betere voorspelbaarheid en geen capaciteitsbeperkingen.

Het omslagpunt ligt niet bij 240 gebruikers, maar bij concurrent gebruik. Als je 1.000 gebruikers hebt maar slechts 50 zijn gelijktijdig actief, is F-SKU goedkoper.

Data-architectuur en multi-tenancy strategie

Je data-architectuur bepaalt grotendeels je embedded kosten. Een shared database met row-level security is capaciteitsefficiënt maar complex. Geïsoleerde databases per tenant zijn simpel maar vereisen meer datasets.

Multi-tenant datasets delen resources maar maken troubleshooting lastig. Single-tenant datasets per klant zijn duurder in onderhoud maar bieden complete isolatie.

De keuze hangt af van je compliance-vereisten. GDPR-gevoelige ISV's kiezen vaak voor complete isolatie, SaaS-platforms voor marketing analytics gebruiken meestal gedeelde architecturen.

Query-performance en caching strategie

Query-performance heeft directe impact op je capaciteitskosten. Een slecht geoptimaliseerd dashboard kan 10x meer resources vragen dan nodig.

Import-mode datasets zijn snelst maar verbruiken meer geheugen. DirectQuery is geheugenefficiënt maar belast je database. Composite models combineren beide maar zijn complex in onderhoud.

Caching wordt vaak onderschat. Power BI's automatische caching helpt, maar strategische DAX optimalisatie kan je capaciteitsvereisten halveren.

White-label mogelijkheden en portal integratie

Embedded implementatie bepaalt je ontwikkelcomplexiteit. Power BI's JavaScript SDK geeft volledige controle maar vereist maandenlang ontwikkelwerk. iFrame embedding is sneller maar beperkt je aanpassingsmogelijkheden.

Een white-label portal reduceert ontwikkeltijd van maanden naar weken. Maar het voegt een extra laag toe die onderhouden moet worden.

De keuze hangt af van je time-to-market druk en ontwikkelresources. SaaS-startups kiezen vaak voor snelle implementaties, enterprise ISV's investeren in custom solutions.

Optie A: F-SKU capaciteit met gedeelde architectuur

F-SKU capaciteit met een gedeelde architectuur betekent één of meerdere F-capaciteiten die alle klanten bedienen via multi-tenant datasets.

Capaciteitsbeheer en resource-toewijzing

F-SKU biedt voorspelbare kosten maar vereist actief capaciteitsbeheer. Met een gedeelde architectuur krijg je maximale resource-efficiëntie. Één F4 (€4.000/maand) kan 2.000-5.000 lichte gebruikers ondersteunen.

Het risico zit in "noisy neighbors". Een klant met inefficiënte queries kan de performance voor alle anderen beïnvloeden. Dit vereist query-monitoring en mogelijk query-limiting.

Auto-scaling van F-capaciteit is mogelijk maar duur. Van F2 naar F4 verdubbelt je kosten, terwijl je capacity slechts 2x groter wordt.

Licentiemodel en cost-per-user scaling

F-SKU schaalt excellent tot ongeveer 500 concurrent actieve gebruikers per F2. Daarna heb je een grotere SKU nodig. De kosten per gebruiker dalen naarmate je groeit, wat ideaal is voor SaaS-growth.

Bij 100 gebruikers kost F2 €20 per gebruiker per maand. Bij 400 gebruikers is dat €5 per gebruiker per maand. Deze schaalvoordelen maken F-SKU aantrekkelijk voor groeiende ISV's.

Maar je betaalt ook voor ongebruikte capaciteit. Als je gebruikersactiviteit seizoensgebonden is, betaal je in lage periodes voor overcapaciteit.

Data-architectuur en multi-tenancy strategie

Gedeelde architectuur vereist row-level security (RLS) voor data-isolatie. Dit is technisch complex maar zeer capaciteitsefficiënt. Eén dataset kan duizenden tenants bedienen.

RLS-implementatie vereist zorgvuldige beveiliging planning. Elke query wordt gefilterd op tenant-niveau, wat query-performance kan beïnvloeden.

Database-design wordt cruciaal. Je hebt tenant-identificatie in elke tabel nodig, en je databasequeries moeten efficiënt filteren op tenant-level.

Query-performance en caching strategie

Import-mode is meestal de beste keuze voor gedeelde architecturen. Data wordt geladen in Power BI's in-memory engine, wat snelle queries garandeert ongeacht het aantal tenants.

Caching werkt excellent omdat veel queries tussen tenants vergelijkbaar zijn. Als tenant A een rapport opent, zijn de resultaten vaak bruikbaar voor tenant B's vergelijkbare query.

De uitdaging ligt in refresh-management. Grote multi-tenant datasets kunnen uren duren om te refreshen, wat je real-time capabilities beperkt.

White-label mogelijkheden en portal integratie

JavaScript SDK geeft volledige controle over de embedded ervaring. Je kunt Power BI volledig restylen en integreren in je eigen UI.

Maar dit vereist significante ontwikkelinvestering. Reken op 3-6 maanden voor een volwaardige implementatie met custom authentication, branding en portal integratie.

Voor snellere implementatie zijn er white-label portalen beschikbaar die deze complexiteit abstraheren. DashPortal bijvoorbeeld reduceert implementatietijd tot enkele weken.

Optie B: Pro-user licenties met dedicated architectuur

Pro-user licenties betekenen dat elke gebruiker een €8,40/maand licentie heeft. Dedicated architectuur betekent aparte workspaces of zelfs aparte Power BI-tenants per klant.

Capaciteitsbeheer en resource-toewijzing

Pro-licenties elimineren capaciteitsbeheer volledig. Elke gebruiker krijgt toegang tot Power BI's gedeelde multi-tenant capaciteit. Microsoft managet performance en schaalbaarheid.

Dit betekent geen "noisy neighbor" problemen. Als één tenant inefficiënte queries draait, beïnvloedt dat andere tenants niet. Elke tenant krijgt gegarandeerde resources.

Maar je hebt geen controle over performance. Als Microsoft's gedeelde capaciteit traag is, kun je weinig doen behalve escaleren via support.

Licentiemodel en cost-per-user scaling

Pro-licenties zijn lineair duur: elke extra gebruiker kost €8,40 per maand. Er zijn geen schaalvoordelen. Bij 1.000 gebruikers betaal je €8.400 per maand.

Maar je hebt complete kostenvisibliteit. Je weet precies hoeveel elke nieuwe klant kost, wat pricing en forecasting vereenvoudigt.

Voor ISV's met hoge prijspunten (€100+ per gebruiker per maand) zijn Pro-licenties gemakkelijk te rechtvaardigen. Voor volume SaaS-platforms worden ze snel prohibitief duur.

Data-architectuur en multi-tenancy strategie

Dedicated architectuur betekent aparte datasets per tenant. Dit elimineert RLS-complexiteit maar vereist meer datasets om te onderhouden.

Elke klant krijgt zijn eigen workspace met zijn eigen datasets. Dit biedt complete isolatie maar maakt centraal beheer lastiger.

Database-architectuur wordt eenvoudiger omdat je geen tenant-filtering nodig hebt. Elke dataset verbindt met zijn eigen database of databaseschema.

Query-performance en caching strategie

Performance is voorspelbaarder omdat elke tenant zijn eigen resources heeft. Maar caching is minder efficiënt omdat queries niet tussen tenants gedeeld worden.

Kleine datasets (onder 1GB) presteren excellent in Pro-capaciteit. Grote datasets kunnen trager zijn dan in dedicated F-SKU capaciteit.

DirectQuery wordt een optie omdat je geen capaciteitsbeperkingen hebt. Dit kan database-kosten reduceren door minder data te importeren.

White-label mogelijkheden en portal integratie

Pro-licenties bieden dezelfde embedding mogelijkheden als F-SKU. JavaScript SDK en iFrame embedding werken identiek.

Maar workspace-management wordt complexer. Je moet automatisch workspaces aanmaken voor nieuwe klanten en gebruikers provisionen.

Dit vereist robuuste automation. Handmatige provisioning wordt ondoenlijk vanaf 50+ klanten.

Beslissingstabel: F-SKU versus Pro-licenties

CriteriumF-SKU gedeeldPro-licenties dedicatedOmslagpunt
Kosten bij 100 gebruikers€2.000/maand (F2)€840/maand240 gebruikers
Kosten bij 1000 gebruikers€4.000/maand (F4)€8.400/maandF-SKU 2x goedkoper
ImplementatiecomplexiteitHoog (RLS, multi-tenancy)Medium (workspace automation)-
Performance isolatieRisico noisy neighborsComplete isolatie-
SchaalbaarheidExcellent tot 5000+ gebruikersLineair, geen limiet-
CapaciteitsbeheerActief monitoring vereistGeen beheer nodig-

Kostenbesparing architectuurpatterns

Deze zes architectuurkeuzes kunnen je embedded Power BI kosten halveren zonder functionaliteit in te leveren.

Pattern 1: Hybrid capacity strategy

Gebruik F-SKU voor bulk-gebruikers en Pro-licenties voor power-users. Je SaaS-platform heeft waarschijnlijk 80% lichte gebruikers en 20% intensieve gebruikers.

Plaats light-analytics op F2 capaciteit (dashboard viewing, basic filtering). Plaats complex analytics op Pro-capaciteit (report building, advanced analytics).

Dit bespaart €3.000-5.000 per maand voor platforms met 500+ mixed gebruikers vergeleken met alleen Pro-licenties.

Pattern 2: Smart dataset segmentatie

Splits je data in "hot" en "cold" datasets. Frequente data op snelle capaciteit, historische data op goedkopere opslag.

Gebruik composite models om real-time data (import-mode) te combineren met historische data (DirectQuery). Dit reduceert je capaciteitsvereisten met 40-60%.

Implementeer automatische data-archivering. Data ouder dan 12 maanden naar Azure SQL, alleen recente data in Power BI datasets.

Pattern 3: Query-optimized multi-tenancy

Ontwerp je RLS-filters voor query-performance, niet alleen voor beveiliging. Inefficiënte RLS kan query-performance 10x verslechteren.

Gebruik indexed tenant-columns in je database. Zorg dat elke RLS-query een index kan gebruiken in plaats van full table scans.

Test RLS-performance met realistische datahoeveelheden. RLS die werkt met 1.000 records kan crashen met 1 miljoen records.

Pattern 4: Capacity right-sizing met usage analytics

Monitor je F-capaciteit gebruik met Power BI's Premium Capacity Metrics app. De meeste ISV's over-provisionen hun capaciteit met 50-100%.

Implementeer auto-scaling alleen voor piekmomenten. Basisbelasting op F2, piekbelasting tijdelijk naar F4, terug naar F2 buiten kantooruren.

Gebruik Azure Automation voor capaciteitsschaling. Dit kan €2.000 per maand besparen voor platforms met voorspelbare gebruikspatronen.

Pattern 5: Strategic caching en pre-aggregation

Implementeer aggregation tables voor veel-gebruikte queries. Een pre-geaggregeerde sales-by-month tabel is 100x sneller dan real-time aggregatie.

Gebruik Power BI's automatic aggregations waar mogelijk. Dit kan query-performance 10x verbeteren zonder ontwikkelwerk.

Cache niet alleen in Power BI maar ook in je application layer. API-responses cachen voor 5-15 minuten reduceert Power BI query-volume met 60-80%.

Pattern 6: White-label portal als development accelerator

Bouw geen custom embedded solution vanaf nul. Een white-label portal reduceert ontwikkeltijd van 6 maanden naar 4 weken.

Focus je ontwikkelressources op je core business logic, niet op Power BI embedding infrastructure. SaaS embedded analytics expertise is schaars en duur.

Een portal-oplossing kost €200-500 per maand maar bespaart €20.000-50.000 in ontwikkelkosten. De ROI is binnen 1-3 maanden terugverdiend.

Edge cases: wanneer geen van beide werkt

Sommige ISV-scenario's passen niet in de standaard F-SKU versus Pro-keuze. Deze situaties vereisen hybride of alternatieve architecturen.

Zeer hoge concurrency met lage complexity

Een ISV met 10.000+ gelijktijdige gebruikers die alleen simpele dashboards bekijken. F-SKU heeft concurrency-limieten, Pro-licenties zijn te duur.

Oplossing: Power BI Embedded A-SKU met Azure scaling, of hybride architectuur met cached API-responses en Power BI voor drill-down analytics.

Strict data residency requirements

Klanten in verschillende landen met strikte data-localisatie eisen. Power BI Multi-Geo is beschikbaar maar zeer duur (3x normale kosten).

Oplossing: Regionale Power BI tenants per compliance-gebied, of hybride architectuur met lokale databases en PowerBI voor visualisatie alleen.

Real-time analytics met sub-second latency

SaaS-platforms voor trading, monitoring of operational intelligence die sub-second data updates nodig hebben. Power BI refresh-cycles zijn minimaal minuutelijk.

Oplossing: Hybride architectuur met real-time dashboards in je applicatie en Power BI voor historische analysis en advanced analytics.

Zeer lage pricing met high volume

SaaS-platforms met €5-10 per gebruiker prijspunten kunnen geen €8,40 Pro-licenties rechtvaardigen. Maar F-SKU wordt ook duur bij 5.000+ gebruikers.

Oplossing: Azure cost optimization met Power BI API's voor basic analytics en Power BI voor premium features alleen.

Beslisregels in 3 zinnen

Als je minder dan 240 actieve gebruikers hebt of hogere prijspunten dan €50 per gebruiker, kies Pro-licenties voor simplicity. Als je 500+ gebruikers hebt en kunt investeren in RLS-complexiteit, kies F-SKU voor schaalvoordelen. Anders, start met Pro-licenties en migreer naar F-SKU wanneer je kosten €3.000+ per maand bereiken.