Terug naar blog
SaaSArchitectuurTechnologieSchaalbaar

Multi-tenant architectuur uitgelegd

Door SaaS Masters1 november 20255 min leestijd
Multi-tenant architectuur uitgelegd
Inleiding

Eén applicatie, duizend klanten

Hoe moderne SaaS-producten meerdere klanten bedienen met één codebase.

Als je een SaaS bouwt, wil je niet voor elke klant een aparte server of database draaien. Dat is duur, complex en onschaalbaar. De oplossing? Multi-tenant architectuur — één applicatie die honderden of duizenden klanten tegelijk bedient, terwijl ieders data volledig gescheiden blijft.

Hoofdstuk 1

Wat is multi-tenancy?

De basis uitgelegd.

Een tenant is een klant of organisatie die jouw software gebruikt. Bij multi-tenancy delen alle tenants dezelfde applicatie, maar ziet elke tenant alleen zijn eigen data.

MULTI-TENANT ARCHITECTUUR Eén applicatie (gedeelde code) Salon Amsterdam eigen data & instellingen Salon Rotterdam eigen data & instellingen Salon Utrecht eigen data & instellingen
Figuur 1 — Eén applicatie bedient meerdere klanten, elk met hun eigen data.

Denk aan Gmail: miljoenen gebruikers delen dezelfde applicatie, maar niemand kan de e-mails van een ander zien. Dat is multi-tenancy in actie.

Hoofdstuk 2

De drie aanpakken

Elke strategie heeft z’n voor- en nadelen.

1

Gedeelde database, gedeelde tabellen

Alle tenants in dezelfde database en tabellen. Een tenant_id kolom scheidt de data. Goedkoop en simpel, maar vereist discipline om data-lekkage te voorkomen.

2

Gedeelde database, aparte schema’s

Eén database, maar elke tenant heeft zijn eigen set tabellen. Betere isolatie, iets complexer om te beheren.

3

Aparte databases per tenant

Maximale isolatie en veiligheid. Maar duurder en moeilijker te schalen. Meestal alleen voor enterprise-klanten.

De meeste SaaS-startups kiezen optie 1 — het is verreweg het meest kostenefficiënt en schaalt goed met Row Level Security (RLS) in PostgreSQL.

Samenvatting

Eén keer bouwen, eindeloos schalen

Multi-tenant architectuur is de ruggengraat van elke succesvolle SaaS. Het stelt je in staat om met één codebase duizenden klanten te bedienen, terwijl ieders data veilig gescheiden blijft. Begin simpel met gedeelde tabellen en groei van daaruit.

✦ ✦ ✦