Bronnen voor architecten en ontwikkelaars van multitenant-oplossingen
Architecturen voor multitenant-toepassingen
De volgende artikelen bevatten voorbeelden van multitenant-architecturen in Azure.
Architectuur | Samenvatting | Focus op technologie |
---|---|---|
Multitenant SaaS in Azure | Referentiearchitectuur voor een SaaS-scenario met meerdere tenants in Azure, dat in meerdere regio's wordt geïmplementeerd | Het web |
Application Gateway-ingangscontroller gebruiken met een AKS- (Multitenant Azure Kubernetes Service) | Voorbeeld voor het implementeren van multitenancy met AKS en AGIC | Kubernetes |
alle multitenant-architecturen | Een lijst met alle architecturen met multitenancy | Veelvoud |
Cloudontwerppatronen
De volgende cloudontwerppatronen worden vaak gebruikt in multitenant-architecturen.
Patroon | Samenvatting |
---|---|
Patroon Implementatiestempels | Implementeer meerdere onafhankelijke kopieën (schaaleenheden) van toepassingsonderdelen, inclusief gegevensarchieven. |
Federatieve identiteit | Verificatie delegeren aan een externe id-provider. |
Gatekeeper | Beveilig toepassingen en services met behulp van een toegewezen hostinstantie die fungeert als een broker tussen clients en de toepassing of service, aanvragen valideert en opschont, en aanvragen en gegevens ertussen doorgeeft. |
Wachtrijgebaseerde Load Leveling | Gebruik een wachtrij die fungeert als buffer tussen een taak en een service die wordt aangeroepen, om onregelmatige zware belastingen soepel te laten verlopen. |
Sharding | Een gegevensopslag onderverdelen in een set met horizontale partities of shards. |
Snelheidsbeperking | Beheer het verbruik van resources die worden gebruikt door een exemplaar van een toepassing, een afzonderlijke tenant of een hele service. |
Antipatronen
Houd rekening met het noisy neighbor-antipatroon , waarbij de activiteit van de ene huurder een negatieve invloed kan hebben op het gebruik van het systeem door een andere huurder.
Microsoft Azure Well-Architected Framework
Als u SaaS (Software as a Service) ontwerpt, gebruikt u de workload Azure Well-Architected Framework voor SaaS- om praktische architectuurrichtlijnen te krijgen die specifiek zijn voor SaaS-oplossingen.
Hoewel het hele Azure Well-Architected Framework belangrijk is voor alle oplossingen, waaronder multitenantarchitecturen, moet u speciale aandacht besteden aan de pijler Betrouwbaarheid. De aard van cloudhosting leidt tot toepassingen die vaak multitenant zijn, gedeelde platformservices gebruiken, concurreren voor resources en bandbreedte, communiceren via internet en worden uitgevoerd op basishardware. Dit verhoogt de kans dat zowel tijdelijke als meer permanente fouten ontstaan.
Richtlijnen voor multitenant-architectuur
- Multitenant-oplossingen ontwerpen in Azure (video): In deze video wordt beschreven hoe u multitenant-oplossingen ontwerpt, ontwerpt en bouwt in Azure. Als u een SaaS-product of een andere multitenant-service bouwt, moet u rekening houden met hoge prestaties, tenantisolatie en implementaties beheren. Deze sessie is gericht op ontwikkelaars en architecten die multitenant- of SaaS-toepassingen bouwen, waaronder startups en ISV's.
- Azure Friday - Multitenant-oplossingen ontwerpen in Azure (video): In deze video van Azure Friday wordt besproken hoe u saaS-oplossingen (software-as-a-service) met meerdere tenants ontwerpt, ontwerpt en bouwt in Azure.
- Versnellen en De-Risk Uw traject naar SaaS (video): Deze video bevat richtlijnen voor het overstappen naar het SaaS-leveringsmodel (Software as a Service), ongeacht of u begint met het opheffen en verplaatsen van een bestaande oplossing van on-premises naar Azure, rekening houdend met een multitenant-architectuur of een bestaande SaaS-webtoepassing wilt moderniseren.
Resources voor Azure-services
Governance en naleving
- het organiseren en beheren van meerdere Azure-abonnementen: het is belangrijk om te overwegen hoe u uw Azure-abonnementen beheert en hoe u tenantresources toewijst aan abonnementen.
- cross-tenant beheerervaringen: Als Serviceprovider kunt u Azure Lighthouse gebruiken om resources voor meerdere klanten te beheren vanuit uw eigen Microsoft Entra-tenant. Veel taken en services kunnen worden uitgevoerd voor beheerde tenants, met behulp van gedelegeerd Resourcebeheer van Azure.
- Azure Managed Applications: In een beheerde toepassing worden de resources geïmplementeerd in een resourcegroep die wordt beheerd door de uitgever van de app. De resourcegroep bevindt zich in het abonnement van de klant, maar een identiteit binnen de tenant van de uitgever heeft toegang tot deze groep.
Berekenen
- Aanbevolen procedures voor clusterisolatie in Azure Kubernetes Service (AKS): AKS biedt flexibiliteit bij het uitvoeren van clusters met meerdere tenants en het isoleren van resources. Als u uw investering in Kubernetes wilt maximaliseren, moet u eerst AKS-functies voor multitenancy en isolatie begrijpen en implementeren. Dit artikel met aanbevolen procedures is gericht op isolatie voor clusteroperators.
- Aanbevolen procedures voor clusterbeveiliging en -upgrades in Azure Kubernetes Service: wanneer u clusters beheert in Azure Kubernetes Service (AKS), is workload- en gegevensbeveiliging een belangrijke overweging. Wanneer u multitenant-clusters uitvoert met behulp van logische isolatie, moet u met name de toegang tot resources en werkbelastingen beveiligen.
Netwerken
Privélink
- Uitleg en demo's van de Azure Private Link-service vanuit het perspectief van de SaaS ISV-provider en de consument: Een video die de Azure Private Link-servicefunctie behandelt, waarmee multitenant-serviceproviders (zoals onafhankelijke softwareleveranciers die SaaS-producten bouwen) in staat worden gesteld. Met deze oplossing kunnen consumenten toegang krijgen tot de service van de provider met behulp van privé-IP-adressen van de eigen virtuele Azure-netwerken van de consument.
- TCP Proxy Protocol v2 met Azure Private Link Service: Deep Dive: een video met een uitgebreide beschrijving van TCP Proxy Protocol v2. Dit is een geavanceerde functie van de Azure Private Link-service. Dit is handig in scenario's met meerdere tenants en SaaS. In de video ziet u hoe u Proxy Protocol v2 inschakelt in de Azure Private Link-service. U ziet ook hoe u een NGINX-service configureert voor het lezen van het privé-IP-adres van de bron van de oorspronkelijke client, in plaats van het NAT-IP-adres, voor toegang tot de service via het privé-eindpunt.
-
NGINX Plus gebruiken om TLV-
linkIdentifier
proxyprotocol te decoderen vanuit de Azure Private Link-service: een video waarin wordt gekeken naar het gebruik van NGINX Plus om het TCP Proxy Protocol v2 TLV op te halen uit de Azure Private Link-service. In de video ziet u hoe u vervolgens de numeriekelinkIdentifier
, ook welLINKID
genoemd, van de privé-eindpuntverbinding kunt extraheren en decoderen. Deze oplossing is handig voor multitenant-providers die de specifieke consumententenant moeten identificeren waaruit de verbinding is gemaakt. - SaaS Private Connectivity-patroon: een voorbeeldoplossing die één benadering illustreert voor het automatiseren van de goedkeuring van privé-eindpuntverbindingen met behulp van door Azure beheerde toepassingen.
Het web
- Claim-gebaseerde routering voor SaaS-oplossingen: In dit artikel wordt het gebruik van een omgekeerde proxy besproken om tenantroutering te vergemakkelijken en verzoeken aan tenants toe te wijzen, waardoor het beheer van back-endservices in SaaS-oplossingen wordt verbeterd.
Opslag en gegevens
- SaaS-apps met meerdere tenants op schaal ontwerpen en bouwen met Azure Cosmos DB (video): Leer hoe u SaaS-toepassingen met meerdere tenants ontwerpt en optimaliseert met behulp van Azure Cosmos DB. Deze sessie verkent belangrijke ontwerpoverwegingen met betrekking tot tenantisolatie, kostenoptimalisatie en wereldwijde distributie. De inhoud van deze sessie is van toepassing of u een groot aantal kleine B2C-tenants of een laag volume met zeer scheve B2B-tenants hebt.
- Azure Cosmos DB- en multitenant-systemen: een blogbericht over het bouwen van een multitenantsysteem dat gebruikmaakt van Azure Cosmos DB.
- hiërarchische partitiesleutels van Azure Cosmos DB: Met behulp van hiërarchische partitiesleutels, ook wel subpartitionering genoemd, kunt u uw container systeemeigen partitioneren met meerdere niveaus van partitiesleutels. Dit maakt optimale partitioneringsstrategieën mogelijk voor scenario's met meerdere tenants of workloads die anders synthetische partitiesleutels zouden gebruiken.
- Azure SQL Database multitenant SaaS-database-tenancypatronen: Een reeks artikelen die verschillende tenancymodellen beschrijven die beschikbaar zijn voor een multitenant SaaS-toepassing, door gebruik te maken van Azure SQL Database.
- 1 miljoen databases uitgevoerd in Azure SQL voor een grote SaaS-provider: Microsoft Dynamics 365 en Power Platform: een blogbericht dat beschrijft hoe het Dynamics 365-team databases op schaal beheert.
- Een multitenant-database ontwerpen met behulp van Azure Database for PostgreSQL Hyperscale
- Horizontale, verticale en functionele gegevenspartitionering: In veel grootschalige en multitenant-oplossingen worden gegevens onderverdeeld in partities die afzonderlijk kunnen worden beheerd en geopend. Partitioneren kan de schaalbaarheid verbeteren, conflicten verminderen en de prestaties optimaliseren. Het kan ook een mechanisme bieden voor het delen van gegevens, door het gebruikspatroon en door de tenant.
- strategieën voor gegevenspartitionering door azure-service: in dit artikel worden enkele strategieën beschreven voor het partitioneren van gegevens in verschillende Azure-gegevensarchieven.
- Multitenant-toepassingen bouwen met Azure Database for PostgreSQL Hyperscale Citus (video)
- Multitenant-toepassingen met Azure Cosmos DB (video)
- Een multitenant SaaS bouwen met Azure Cosmos DB en Azure (video): Een praktijkstudie over hoe Whally, een multitenant SaaS-opstart, een modern platform volledig nieuw heeft gebouwd in Azure Cosmos DB en Azure. Whally toont de ontwerp- en implementatiebeslissingen die ze hebben genomen met betrekking tot partitionering, gegevensmodellering, veilig multitenancy, prestaties, realtime streamen van wijzigingenfeed naar SignalR en meer, allemaal met behulp van ASP.NET Core in Azure App Services.
- Multitenant-ontwerppatronen voor SaaS-toepassingen op de Azure SQL Database (video)
Berichtenuitwisseling
- Azure Event Grid-domeinen: Met Azure Event Grid-domeinen kunt u multitenant gebeurtenisarchitecturen op schaal beheren.
- Service Bus-voorbeeld: communicatie tussen tenants met behulp van Azure Service Bus: voorbeeld-implementatie van Azure Service Bus die laat zien hoe u communiceert tussen een centrale provider en een of meer klanten (tenants).
Identiteit
- Tenancy in Microsoft Entra ID: Microsoft Entra ID heeft zijn eigen concept van multitenancy, dat verwijst naar het opereren binnen meerdere Microsoft Entra-directory's. Wanneer ontwikkelaars met Microsoft Entra-apps werken, kunnen ze ervoor kiezen om hun app te configureren als één tenant of multitenant om verschillende scenario's te ondersteunen.
- Aangepaste merkidentiteitsoplossing met Azure AD B2C: Azure Active Directory B2C is een klantidentiteitstoegangsbeheeroplossing die miljoenen gebruikers en miljarden authenticaties per dag kan ondersteunen.
- Een multitenant-daemon bouwen met het Microsoft Identity Platform-eindpunt: in deze voorbeeldtoepassing ziet u hoe u het Microsoft Identity Platform eindpunt kunt gebruiken om toegang te krijgen tot de gegevens van zakelijke Microsoft-klanten in een langlopend, niet-interactief proces. De OAuth2-clientreferenties worden gebruikt om een toegangstoken te verkrijgen dat vervolgens wordt gebruikt om Microsoft Graph aan te roepen en toegang te krijgen tot organisatiegegevens.
- multitenant-apps verifiëren en autoriseren met behulp van Microsoft Entra ID: ontdek hoe u met Microsoft Entra ID de functionaliteit van cloudeigen apps in scenario's met meerdere tenants kunt verbeteren.
- Azure-architectuuroverzicht: Een multitenant Azure-architectuur opzetten voor een B2C-scenario: een overzicht van de architectuur achter een multitenant mobiele app met Azure Active Directory B2C en API Management.
- machtigingen, rollen en bereiken definiëren en implementeren met Microsoft Entra-id in de SaaS-oplossing: dit artikel bevat drie hoofdconcepten met betrekking tot Microsoft Entra-verificatie & autorisatie, die kunnen worden gebruikt door SaaS-providers. Het omvat functionaliteit voor toepassingsrollen, gedelegeerde & toepassingstoestemmingen en functionaliteit voor scopes.
Data-analyse
- Multitenancy-oplossingen met ingesloten analyses van Power BI: bij het ontwerpen van een multitenant-toepassing die Power BI Embedded bevat, moet u zorgvuldig het tenancymodel kiezen dat het beste bij uw behoeften past.
IoT
- Multitenancy in IoT Hub Device Provisioning Service: een IoT-oplossing met meerdere tenants wijst doorgaans tenantapparaten toe met behulp van een groep IoT-hubs die zijn verspreid over regio's.
AI/ML
- Handleiding voor het ontwerpen van een beveiligde multitenant RAG-deductieoplossing: in dit document wordt beschreven hoe u het patroon Retrieval-Augmented Generatie (RAG) in multitenant-oplossingen toepast, waarbij tenantspecifieke gegevens moeten worden gebruikt voor deductie.
- Ontwerppatronen voor SaaS-toepassingen met meerdere tenants en Azure AI Search: in dit document worden tenantisolatiestrategieën besproken voor multitenant-toepassingen die zijn gebouwd met AI Search.
- nl-NL: Een Oplossing voor ML-Pijplijn in een Multi-Tenancy Wijze: Dit blogbericht beschrijft hoe Azure Machine Learning-pijplijnen kunnen worden ontworpen ter ondersteuning van meerdere tenants met behulp van Azure Machine Learning werkruimten.
Communityinhoud
Kubernetes
- Drie tenancymodellen voor Kubernetes: Kubernetes-clusters worden doorgaans gebruikt door verschillende teams in een organisatie. In dit artikel worden drie tenancymodellen voor Kubernetes uitgelegd.
- Understanding Kubernetes Multi Tenancy: Kubernetes is geen multitenant-systeem en vereist aangepaste configuratie. In dit artikel worden kubernetes-multitenancytypen uitgelegd.
- Kubernetes Multi-Tenancy - Een best practices guide: Kubernetes multitenancy is een onderwerp waarin organisaties steeds meer geïnteresseerd zijn naarmate hun Kubernetes-gebruik wordt verspreid. Omdat Kubernetes echter niet expliciet een multitenant-systeem is, kan het lastig zijn om een multitenant Kubernetes-implementatie te ontwerpen. In dit artikel worden deze uitdagingen beschreven en hoe u deze kunt overwinnen, en enkele handige hulpprogramma's voor Kubernetes-multitenancy.
- nl-NL: Capsule: Kubernetes multitenancy eenvoudiger gemaakt: Capsule helpt bij het implementeren van een multitenancy-omgeving met beleidsregels in uw Kubernetes-cluster. Het is geen PaaS-aanbieding (Platform as a Service), maar is in plaats daarvan een ecosysteem op basis van microservices met een minimalistische ontwerpbenadering, waarbij alleen Upstream Kubernetes wordt gebruikt.
- Crossplane: Het cloudeigen besturingsvlakframework: Met crossplane kunt u besturingsvlakken bouwen voor uw eigen oplossing met behulp van een kubernetes-benadering.
Bijdragers
Dit artikel wordt onderhouden door Microsoft. Het is oorspronkelijk geschreven door de volgende inzenders.
Hoofdauteurs:
- John Downs | Hoofd Software-ingenieur
- Paulo Salvatori | Principal Customer Engineer, FastTrack voor Azure
- Arsen Vladimirskiy | Hoofdklantingenieur, FastTrack voor Azure
- LaBrina Loving | Principal Customer Engineering Manager, FastTrack voor Azure
Als u niet-openbare LinkedIn-profielen wilt zien, meldt u zich aan bij LinkedIn.