Bent u een ontwikkelaar, systeemarchitect of IT-manager die op zoek is naar een oplossing om kosten te besparen, de schaalbaarheid te vergroten en uw cloudgebaseerde applicaties te beveiligen?
Als dit het geval is, dan is multi-tenancy misschien iets voor jou.
In dit bericht zullen we kijken naar de basisprincipes van multi-tenancy, alternatieve technieken om het te implementeren en cruciale factoren waarmee rekening moet worden gehouden. Deze gids biedt je alles wat je nodig hebt om aan de slag te gaan.
Wat is multitenancy precies?
Een enkele software kan meerdere klanten (tenants) bedienen onder het multi-tenancy software-architectuurconcept. Elke tenant heeft zijn eigen gegevens, configuratie en gebruikersinterface en is logisch gescheiden van de anderen.
Dit houdt in dat de gegevens van elke huurder gescheiden zijn van de gegevens van andere huurders en niet toegankelijk zijn voor andere huurders. Bij cloudgebaseerde software, waarbij meerdere klanten dezelfde infrastructuur delen, wordt vaak gebruik gemaakt van multi-tenancy.
Multitenancy is al een tijdje een begrip, maar met de groei van cloud computing, het is de laatste tijd meer bekend. In cloudgebaseerde software is multitenancy een krachtige techniek om kosten te besparen, de schaalbaarheid te vergroten en de flexibiliteit te vergroten.
Waarom is het belangrijk?
Multi-tenancy vindt zijn oorsprong in traditionele mainframe-ontwerpen, toen verschillende programma's en gebruikers een enkel verwerkingshardwareplatform deelden. Met de introductie van hedendaagse hardware-ondersteunde virtualisatie is multi-tenancy enorm populair geworden.
De mogelijkheid om hardware te delen tussen tal van software-instances, zoals virtuele machines en hun applicaties, is naar voren gekomen als een cruciaal kenmerk van cloudgebaseerde software.
Multi-tenancy wordt vaak gebruikt in lokale datacenters en gehoste infrastructuren zoals colocatie en gedeelde IT-services, waardoor verschillende gebruikers een beperkte of gedeelde hardware-infrastructuur kunnen delen.
Vanwege het vermogen om kosten te besparen, de schaalbaarheid te verbeteren en de beveiliging van cloudgebaseerde software te vergroten, is multi-tenancy een essentieel paradigma voor softwareontwerp geworden.
Hoe wordt het bereikt?
Virtualisatie, containerisatie en cloud computing zijn enkele van de benaderingen en technologieën die worden gebruikt om multi-tenancy te realiseren.
Met virtualisatie kunnen meerdere virtuele computers of besturingssystemen op één enkele fysieke machine werken, waardoor verschillende geïsoleerde omgevingen kunnen worden gecreëerd.
Containerisatie daarentegen maakt de ontwikkeling mogelijk van lichtgewicht, geïsoleerde en draagbare omgevingen die dezelfde kernel van het besturingssysteem delen.
Cloud computing is een zeer schaalbare en aanpasbare architectuur waarmee talloze gebruikers een on-demand pool van computerbronnen kunnen delen.
Deze technologieën maken, in combinatie met verschillende beheer- en beveiligingstechnieken, de ontwikkeling mogelijk van een omgeving met meerdere huurders die de isolatie, beveiliging en prestaties van elke huurder verzekert.
Verschil tussen enkele huurder versus meerdere huurders
Het belangrijkste onderscheid tussen single-tenant en multi-tenant omgevingen is dat een klant in een single-tenant omgeving een speciale instance van de applicatie en ondersteunende infrastructuur heeft, terwijl meerdere klanten dezelfde applicatie en infrastructuur delen in een multi-tenant omgeving.
De gegevens van elke klant zijn gescheiden van de gegevens van andere klanten in een omgeving met meerdere huurders, maar ze delen dezelfde codebase en infrastructuur. Dit vermindert de kosten van de leverancier in situaties met meerdere huurders, aangezien ze meerdere klanten kunnen bedienen met een enkele instantie van het programma.
Single-tenant-instellingen bieden daarentegen meer controle, maatwerk en beveiliging omdat elke klant zijn eigen middelen heeft en de acties van de ene klant geen invloed hebben op de acties van de anderen.
Voordelen van multitenancy
- Kostenbesparingen: Omdat multitenancy meerdere klanten in staat stelt dezelfde infrastructuur te delen, kunnen zowel de softwareverkoper als de klanten geld besparen.
- Verbeterde schaalbaarheid: Dankzij multi-tenancy kunnen softwareleveranciers hun infrastructuur eenvoudig schalen om aan de eisen van hun klanten te voldoen, zonder dat ze voor elke klant nieuwe hardware en software hoeven te implementeren.
- Verhoogde flexibiliteit: Multi-tenancy geeft zowel de softwareleverancier als de consument meer vrijheid. Klanten kunnen hun verbruik naar behoefte aanpassen, terwijl softwareleveranciers verschillende serviceniveaus en prijsschema's kunnen bieden.
- Betere beveiliging: Omdat multi-tenancy de gegevens van elke tenant isoleert en voorkomt dat andere tenants er toegang toe krijgen, wordt de beveiliging verhoogd.
- Verbeterd gebruik van bronnen: Multi-tenancy stelt softwareleveranciers in staat om optimaal gebruik te maken van hun hardwareresources, wat resulteert in verbeterde prestaties en efficiëntie.
Benaderingen van multitenancy
Aparte databanken
Elke tenant heeft zijn eigen database onder deze benadering. Dit is de eenvoudigste oplossing en biedt totale scheiding van gegevens tussen tenants. Elke tenant heeft volledige controle over zijn database en kan deze naar wens configureren.
Deze strategie kan echter kostbaar zijn omdat elke tenant zijn eigen database-exemplaar nodig heeft. Bovendien kan het beheer van meerdere databases gecompliceerd en tijdrovend zijn.
Gedeelde database, apart schema
Alle tenants in deze techniek delen één database, maar elke tenant heeft zijn eigen schema binnen die database. Omdat alle tenants één database-exemplaar delen, maakt deze techniek effectief gebruik van bronnen.
Het maakt ook het beheer en onderhoud eenvoudiger omdat er maar één database hoeft te worden beheerd.
Het kan echter moeilijker zijn om te implementeren, omdat het schema van elke tenant zorgvuldig moet worden opgebouwd en onderhouden om voldoende gegevensscheiding te garanderen. Deze methode is ideaal voor scenario's waarin huurders vergelijkbaar zijn data structuren maar vereisen gegevensscheiding.
Gedeelde database, gedeeld schema
Alle tenants in dit model delen één database en één schema binnen die database. Dit is de meest resource-efficiënte optie, aangezien er slechts één database-instantie en één schema nodig zijn om te beheren.
Het kan echter moeilijk zijn om voldoende gegevensscheiding tussen tenants te handhaven. Deze methode is geschikt voor scenario's waarin tenants identieke gegevensstructuren hebben en geen totale gegevensisolatie vereisen.
Verschillende overwegingen voor multi-tenancy
Gegevensisolatie
Gegevensisolatie is een van de belangrijkste aspecten van multitenancy.
Om ongewenste toegang te voorkomen, moeten de gegevens van elke huurder apart en veilig worden bewaard. Dit wordt vaak bereikt door het gebruik van logische of fysieke scheidingstechnieken zoals verschillende databases, schema's of tabellen.
Het is van cruciaal belang om ervoor te zorgen dat gegevens worden gescheiden om de privacy en veiligheid van de gegevens van elke tenant te waarborgen.
Onboarding van huurders
Het proces van het introduceren van een nieuwe huurder in een systeem met meerdere huurders wordt huurder onboarding genoemd. Deze procedure moet zorgvuldig worden beheerd om ervoor te zorgen dat nieuwe huurders op de juiste manier aan boord komen en tegelijkertijd de huidige huurders zo min mogelijk storen.
Dit omvat het leveren van nieuwe resources, het maken van nieuwe accounts en het configureren van de omgeving van de huurder.
Een vereenvoudigde onboarding-procedure kan helpen om de kosten te verlagen en de efficiëntie van het huurdersbeheer te verbeteren.
Performance
Multi-tenancy kan de systeemprestaties verminderen, vooral als tenants bronnen zoals verwerkingskracht, geheugen of opslag delen. Vanwege het luide buureffect kunnen de activiteiten van de ene huurder een impact hebben op de prestaties van andere huurders.
Zorgvuldige toewijzing en monitoring van middelen kan helpen om dit probleem te verminderen en te garanderen dat de prestaties van elke tenant niet worden geschaad.
maatwerk
Het vermogen van elke huurder om zijn omgeving te personaliseren om aan zijn eisen te voldoen, staat bekend als maatwerk. Hoewel maatwerk de waarde van een systeem met meerdere tenants voor elke tenant kan verhogen, kan het ook de complexiteit van het beheer en de kosten verhogen.
Het bereiken van een balans tussen maatwerk en standaardisatie kan helpen om ervoor te zorgen dat het systeem schaalbaar en onderhouden is en toch voldoet aan de specifieke eisen van elke huurder.
Voorbeelden van Multitenancy
Openbare Cloud Multitenancy
Klanten in public cloud multi-tenancy gebruiken instances van resources en services om een architectuur te bouwen die geschikt is voor het hosten van een zakelijke applicatie.
Elke cloudresource of -service deelt onderliggende hardware en netwerkcapaciteit, en hoewel deze strategie de consument misschien van speciale resources voorziet, is het eerder uitzondering dan regel.
Om multi-tenancy te realiseren, maken openbare cloudproviders gebruik van een reeks methodologieën, waaronder VM-gebaseerde en containergebaseerde benaderingen.
Hardware — VM en container
Meerdere virtuele machines en virtuele containers kunnen worden gegenereerd en gehost op een enkele server met behulp van hardwarevirtualisatie, waarbij elke VM een afzonderlijke applicatie of service uitvoert die wordt beheerd door een andere belanghebbende, afdeling of klant.
Hardware multi-tenancy is gebruikelijk in moderne gegevens centra en colocatie-omgevingen, en het is een cruciale factor voor alle cloud computing.
SaaS multitenancy
Omdat software-as-a-service (SaaS)-providers vaak worden gecategoriseerd als cloudproviders, is dit een versie van public cloud multi-tenancy.
Een SaaS-provider kan bijvoorbeeld één exemplaar van zijn programma op één exemplaar van een database gebruiken en online toegang geven aan meerdere klanten. In dit geval zijn de gegevens van elke huurder gescheiden en onzichtbaar voor andere huurders.
Multi-tenancy kan ook worden geïntroduceerd in multi-tier systemen zoals SAP.
Private cloud multitenancy
Multitenancy in een private cloud. Een private cloud is qua multi-tenancy vergelijkbaar met een public cloud, maar een private cloud is toegewijd aan één bedrijf of groep, terwijl een public cloud voorziet in de behoeften van meerdere klanten of organisaties.
Serverloze multitenancy
Serverloos computergebruik is een cloudservice die gebeurtenissen gebruikt om de code van een klant te laden en uit te voeren voordat de infrastructuur wordt afgesloten wanneer de code wordt uitgevoerd.
Veel programma's kunnen dezelfde functie delen en de functie wordt geladen en werkt op elke gedeelde hardware-infrastructuur die beschikbaar is.
Wat zijn mogelijke nadelen?
Een van de grote nadelen is de mogelijkheid van datalekken. Omdat meerdere tenants dezelfde infrastructuur delen, kan een beveiligingslek in de applicatie van één tenant de gegevens van alle andere tenants in gevaar brengen.
Een ander nadeel is de mogelijkheid van luidruchtige buureffecten, waarbij de gebruiksgewoonten van een huurder de prestaties van de applicaties van andere huurders kunnen verslechteren.
Ook kunnen wijzigingen en integraties moeilijk te implementeren zijn en kunnen bepaalde tenants verschillende instellingen of programmaversies vereisen die niet compatibel zijn met die van andere tenants.
Ten slotte is multi-tenancy voor veel toepassingen misschien niet geschikt, vooral niet voor toepassingen die een hoge snelheid of strikte gegevensscheiding vereisen.
Toekomstige aanwijzingen voor multitenancy in cloudgebaseerde software
De toekomst van multi-tenancy ziet er rooskleurig uit nu cloudgebaseerde software zich blijft uitbreiden en aanpassen. Serverloos computergebruik, dat een meer gedetailleerde toewijzing en consumptie van middelen mogelijk maakt, wordt steeds populairder.
Dit heeft het potentieel om multi-tenancy te verbeteren door meer isolatie en resourcegebruik mogelijk te maken. Microservices en containers, die meer flexibiliteit en modulariteit bieden, zijn een andere route voor multi-tenancy.
Bovendien hebben technologieën voor machine learning en kunstmatige intelligentie het potentieel om de toewijzing van middelen en de prestaties in systemen met meerdere huurders te optimaliseren.
Ten slotte zal de toekomst van multi-tenancy in cloudgebaseerde software veranderen als gevolg van technologische verbeteringen en veranderende zakelijke eisen.
Laat een reactie achter