Terug naar encyclopedie

Encyclopedie

Multi-tenancy

Eén applicatie die meerdere aparte klanten bedient terwijl hun data gescheiden blijft.

Multi-tenancy is een architectuur waarbij één applicatie, vanuit één codebase, meerdere klanten ("tenants") bedient, terwijl de data van elke klant strikt gescheiden blijft. In plaats van voor elke klant een nieuwe kopie van de software uit te rollen, bedient één deployment iedereen, onzichtbaar voor elke klant afzonderlijk.

Hoe multi-tenancy typisch gebouwd wordt

Er zijn een paar gangbare aanpakken, elk met eigen afwegingen:

  • Één database met een tenant-identificatie op elke relevante tabel, de eenvoudigste en meest gebruikte aanpak

  • Aparte database-schema's per tenant, voor sterkere scheiding met wat meer operationele overhead

  • Volledig gescheiden databases per tenant, de sterkste scheiding, meestal voorbehouden voor klanten met strikte compliance-eisen

Waarvoor multi-tenancy goed is

Multi-tenancy vormt de ruggengraat van de meeste SaaS-producten. Het laat je toe één applicatie te onderhouden en te verbeteren terwijl je veel klanten bedient, in plaats van een aparte installatie per klant te onderhouden, wat vanaf een handvol klanten onbeheersbaar wordt.

Waar je op moet letten

De scheiding van data moet waterdicht zijn; een fout waarbij de ene klant data van een andere ziet, is het slechtst denkbare scenario bij deze architectuur. Daarnaast moet je rekening houden met aanpassingen per klant, schaalbaarheid naarmate het aantal klanten groeit, en hoe de data van een klant geëxporteerd of verwijderd wordt wanneer die vertrekt.

Vulpo en Multi-tenancy

We bouwen SaaS-platformen en back-officesystemen die meerdere klanten bedienen vanuit één codebase. Multi-tenancy is iets waar we vanaf de start van een Laravel-project rekening mee houden, niet iets dat er achteraf bij geplakt wordt zodra het een probleem wordt.

Heb je een vraag?

Weten wat een term betekent is één ding; weten of hij iets uitmaakt voor jouw project is iets anders. Twijfel je hoe het van toepassing is, dan lost een kort gesprek dat meestal sneller op dan verder lezen.
We gebruiken cookies en vergelijkbare technologieën om uw surfervaring te verbeteren, websiteverkeer te analyseren en inhoud te personaliseren. U kunt uw voorkeuren op elk moment aanpassen.
Beheer uw toestemming voor cookies.

These cookies are essential for the proper functioning of our website. They enable core functionality such as page navigation, access to secure areas, and basic user interface features.

These cookies enable the website to provide enhanced functionality and personalization. They may be set by us or by third-party providers whose services we have added to our pages.

These cookies allow us to count visits and traffic sources so we can measure and improve the performance of our site. They help us to know which pages are the most and least popular and see how visitors move around the site.

These cookies are used to deliver advertisements that are more relevant to you and your interests. They are also used to limit the number of times you see an advertisement and help measure the effectiveness of advertising campaigns.