Controlelijst voor het ontwerpen en bouwen van multitenant-oplossingen in Azure
Wanneer u uw multitenant-oplossing in Azure bouwt, zijn er veel elementen die u moet overwegen. Gebruik deze controlelijst als uitgangspunt om u te helpen bij het ontwerpen en bouwen van uw multitenant-oplossing. Deze controlelijst is een aanvullende resource voor het ontwerpen van multitenant-oplossingen in Azure-reeks artikelen. De controlelijst is gestructureerd rond de zakelijke en technische overwegingen en de vijf pijlers van het Azure Well-Architected Framework.
Tip
Nadat u deze controlelijst hebt doorlopen, neemt u de Beoordeling van het SaaS-traject om uw SaaS-product te evalueren door uw inzicht in multitenant-architectuur en de afstemming ervan op best practices voor SaaS-bewerkingen te analyseren.
Zakelijke overwegingen
- Begrijp wat voor soort oplossing u maakt, zoals business-to-business (B2B), business-to-consumer (B2C) of uw bedrijfssoftware en hoe tenants verschillen van gebruikers.
- Definieer uw tenants. Meer informatie over het aantal tenants dat u in eerste instantie en uw groeiplannen gaat ondersteunen.
- Definieer uw prijsmodel en zorg ervoor dat het overeenkomt met het verbruik van Azure-resources van uw tenants.
- Begrijp of u uw tenants moet scheiden in verschillende lagen. Lagen kunnen verschillende prijzen, functies, prestatiebeloften, geografische locaties enzovoort hebben.
- Bepaal op basis van de vereisten van uw klanten de tenantmodellen die geschikt zijn voor verschillende onderdelen van uw oplossing.
- Wanneer u klaar bent, verkoopt u uw B2B multitenant-oplossing met behulp van de Commerciële Marketplace van Microsoft.
Overwegingen voor betrouwbaarheid
- Bekijk de controlelijst voor azure Well-Architected Reliability, die van toepassing is op alle workloads.
- Meer informatie over het antipatroon Noisy Neighbor. Voorkom dat afzonderlijke tenants van invloed zijn op de beschikbaarheid van het systeem voor andere tenants.
- Ontwerp uw multitenant-oplossing voor het groeiniveau dat u verwacht. Maar overengineer niet voor onrealistische groei.
- Definieer serviceniveaudoelstellingen (SLO's) en eventueel SLA's (Service Level Agreements) voor uw oplossing. SLA's en SLA's moeten zijn gebaseerd op de vereisten van uw tenants.
- Test de schaal van uw oplossing. Zorg ervoor dat het goed presteert onder alle belastingsniveaus en dat het correct wordt geschaald naarmate het aantal tenants toeneemt.
- Pas chaos-engineeringprincipes toe om de betrouwbaarheid van uw oplossing te testen.
Beveiligingsoverwegingen
- Pas de principes zero Trust en minimale bevoegdheden toe in alle lagen van uw oplossing.
- Zorg ervoor dat u gebruikersaanvragen correct kunt toewijzen aan tenants. Overweeg om de tenantcontext op te nemen als onderdeel van het identiteitssysteem of door een andere middelen te gebruiken, zoals tenantautorisatie op toepassingsniveau.
- Ontwerp voor tenantisolatie. Test uw isolatiemodel continu.
- Zorg ervoor dat uw toepassingscode alle toegang tot meerdere tenants of gegevenslekken voorkomt.
- Voer doorlopende penetratietests en beveiligingscodebeoordelingen uit.
- Inzicht in de nalevingsvereisten van uw tenants, inclusief gegevenslocatie en nalevings- of regelgevingsstandaarden waaraan u moet voldoen.
- Beheer domeinnamen correct en vermijd beveiligingsproblemen zoals zwevende DNS- en subdomeinovernameaanvallen.
- Volg servicespecifieke richtlijnen voor multitenancy.
Overwegingen voor kostenoptimalisatie
- Bekijk de controlelijst voor Azure Well-Architected Cost Optimization, die van toepassing is op alle workloads.
- Zorg ervoor dat u het verbruik per tenant adequaat kunt meten en correleren met uw infrastructuurkosten.
- Vermijd antipatroon. Antipatronen omvatten het niet bijhouden van kosten, het bijhouden van kosten met onnodige precisie, realtime meting en het gebruik van bewakingshulpprogramma's voor facturering.
Overwegingen voor operationele uitmuntendheid
- Automatisering gebruiken om de levenscyclus van de tenant te beheren, zoals onboarding, implementatie, inrichting en configuratie.
- Inzicht in de verschillen tussen het besturingsvlak en het gegevensvlak in uw multitenant-oplossing.
- Zoek het juiste evenwicht voor het implementeren van service-updates. Houd rekening met zowel de vereisten van uw tenants als uw eigen operationele vereisten.
- Controleer de status van het algehele systeem, evenals elke tenant.
- Configureer en test waarschuwingen om u te waarschuwen wanneer specifieke tenants problemen ondervinden of hun verbruikslimieten overschrijden.
- Organiseer uw Azure-resources voor isolatie en schaal.
- Vermijd antipatroon voor implementatie en configuratie. Antipatronen omvatten het uitvoeren van afzonderlijke versies van de oplossing voor elke tenant, het coderen van tenantspecifieke configuraties of logica en handmatige implementaties.
Overwegingen voor prestatie-efficiëntie
- Bekijk de controlelijst voor Goed ontworpen prestatie-efficiëntie van Azure, die van toepassing is op alle workloads.
- Als u een gedeelde infrastructuur gebruikt, moet u plannen hoe u problemen met Noisy Neighbor kunt beperken. Zorg ervoor dat de ene tenant de prestaties van het systeem voor andere tenants niet kan verminderen.
- Bepaal hoe u uw reken-, opslag-, netwerk- en andere Azure-resources schaalt om aan de vereisten van uw tenants te voldoen.
- Houd rekening met de schaallimieten van elke Azure-resource. Organiseer uw resources op de juiste manier om antipatroon van de resourceorganisatie te voorkomen. U hoeft uw oplossing bijvoorbeeld niet te overarchitecteren om binnen onrealistische schaalvereisten te werken.
Medewerkers
Dit artikel wordt onderhouden door Microsoft. De tekst is oorspronkelijk geschreven door de volgende Inzenders.
Belangrijkste auteurs:
- Arsen Vladimirskiy | Principal Customer Engineer
- Bohdan Cherchyk | Senior klanttechnicus
Andere inzender:
- John Downs | Principal Software Engineer
Als u niet-openbare LinkedIn-profielen wilt zien, meldt u zich aan bij LinkedIn.