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 | Web |
Application Gateway-ingangscontroller gebruiken met een multitenant Azure Kubernetes Service (AKS) | Voorbeeld voor het implementeren van multitenancy met AKS en AGIC | Kubernetes |
Alle multitenant architecturen | Een lijst met alle architecturen met multitenancy | Meerdere |
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. |
Load Leveling op basis van wachtrij | 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 gegevensarchief onderverdelen in een set met horizontale partities of shards. |
Beperking | Beheer het verbruik van resources die worden gebruikt door een exemplaar van een toepassing, een afzonderlijke tenant of een hele service. |
Antipatroon
Houd rekening met het antipatroon Ruisbende buren, waarbij de activiteit van de ene tenant een negatieve invloed kan hebben op het gebruik van het systeem van een andere tenant.
Microsoft Azure Well-Architected Framework
Hoewel het hele Azure Well-Architected Framework belangrijk is voor alle oplossingen, 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 besproken 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 oplossingen voor multitenant software-as-a-service (SaaS) ontwerpt, ontwerpt en bouwt in Azure.
- Versnel uw traject naar SaaS (video): Deze video biedt richtlijnen voor de overgang 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
- Meerdere Azure-abonnementen organiseren en beheren: het is belangrijk om te overwegen hoe u uw Azure-abonnementen beheert en hoe u tenantresources toewijst aan abonnementen.
- Beheerervaringen voor meerdere tenants: Als serviceprovider kunt u Azure Lighthouse gebruiken om resources te beheren, voor meerdere klanten 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 is opgenomen in het abonnement van de consument, maar een identiteit in de tenant van de uitgever heeft toegang tot de resourcegroep.
Compute
- Best practices voor clusterisolatie in Azure Kubernetes Service (AKS): AKS biedt flexibiliteit bij het uitvoeren van multitenant-clusters 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.
- Best practices 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
Private Link
- Uitleg en demo's van de Azure Private Link-service vanuit de provider (SaaS ISV) en consumentenperspectief: een video die de Azure Private Link-servicefunctie bekijkt waarmee multitenant-serviceproviders (zoals onafhankelijke softwareleveranciers saaS-producten bouwen). 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: een video die dieper ingaat op 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 proxyprotocol-TLV
linkIdentifier
te decoderen vanuit de Azure Private Link-service: een video die bekijkt hoe u NGINX Plus gebruikt 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 wel genoemdLINKID
, kunt extraheren en decoderen van de privé-eindpuntverbinding. 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.
Web
- Routering op basis van claims voor SaaS-oplossingen: in dit artikel wordt het gebruik van een omgekeerde proxy besproken om tenantroutering en toewijzingsaanvragen aan tenants te vergemakkelijken, 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 blogpost waarin wordt besproken hoe u een multitenant-systeem bouwt 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 partitiesleutels. Dit maakt optimale partitioneringsstrategieën mogelijk voor scenario's met meerdere tenants of workloads die anders synthetische partitiesleutels zouden gebruiken.
- Tenancypatronen voor Multitenant SaaS-databases in Azure SQL Database: een reeks artikelen waarin verschillende tenancymodellen worden beschreven die beschikbaar zijn voor een SaaS-toepassing met meerdere tenants, met behulp van Azure SQL Database.
- Het uitvoeren van 1 miljoen databases in Azure SQL voor een grote SaaS-provider: Microsoft Dynamics 365 en Power Platform: een blogbericht waarin wordt beschreven 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-opstartproces, een modern platform helemaal opnieuw heeft gebouwd op Azure Cosmos DB en Azure. Whally toont de ontwerp- en implementatiebeslissingen die ze hebben genomen met betrekking tot partitionering, gegevensmodellering, veilige multitenancy, prestaties, realtime streamen van wijzigingenfeed naar SignalR en meer, allemaal met behulp van ASP.NET Core op Azure-app Services.
- Ontwerppatronen voor meerdere tenants voor SaaS-toepassingen in Azure SQL Database (video)
Berichten
- 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 van 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 een eigen concept van multitenancy, wat verwijst naar het werken in 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 identiteitsoplossing met Azure AD B2C: Azure Active Directory B2C is een oplossing voor toegangsbeheer voor klantidentiteiten die miljoenen gebruikers en miljarden verificaties per dag kan ondersteunen.
- Bouw een multitenant-daemon met het Microsoft Identity Platform-eindpunt: In deze voorbeeldtoepassing ziet u hoe u het Microsoft Identity Platform-eindpunt gebruikt om toegang te krijgen tot de gegevens van Microsoft-zakelijke 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.
- Overzicht van Azure Architecture: Een multitenant Azure-architectuur bouwen voor een B2C-scenario: een overzicht van de architectuur achter een mobiele multitenant-app met Azure Active Directory B2C en API Management.
- Machtigingen, rollen en bereiken definiëren en implementeren met Microsoft Entra-id in SaaS-oplossing: in dit artikel worden drie hoofdconcepten behandeld die betrekking hebben op Microsoft Entra-verificatie en -autorisatie, die kunnen worden gebruikt door SaaS-providers. Het omvat functionaliteit voor toepassingsrollen, gedelegeerde en toepassingsmachtigingen en functionaliteit voor bereiken.
Analyse
- Multitenancy-oplossingen met ingesloten analyses in 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 multitenant IoT-oplossing wijst doorgaans tenantapparaten toe met behulp van een groep IoT-hubs die verspreid zijn over regio's.
AI/ML
- Ontwerppatronen voor saaS-toepassingen met meerdere tenants en Azure Cognitive Search: in dit document worden tenantisolatiestrategieën besproken voor multitenant-toepassingen die zijn gebouwd met Azure Cognitive Search.
- Een oplossing voor ML-pijplijn op meerdere tenants: in dit blogbericht wordt beschreven hoe Azure Machine Learning-pijplijnen kunnen worden ontworpen om meerdere tenants te ondersteunen met behulp van Azure Machine Learning-werkruimten.
Community-inhoud
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.
- Inzicht in Kubernetes Multi Tenancy: Kubernetes is geen systeem met meerdere tenants, en vereist aangepaste configuratie. In dit artikel worden kubernetes-multitenancytypen uitgelegd.
- Kubernetes Multi-Tenancy: Een handleiding voor aanbevolen procedures: Kubernetes-multitenancy is een onderwerp waarin organisaties steeds meer geïnteresseerd zijn naarmate hun Kubernetes-gebruik zich verspreidt. 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.
- Capsule: Kubernetes multitenancy gemaakt eenvoudig: Capsule helpt bij het implementeren van een omgeving met meerdere tenants en beleid 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.
Medewerkers
Dit artikel wordt onderhouden door Microsoft. De tekst is oorspronkelijk geschreven door de volgende Inzenders.
Belangrijkste auteurs:
- John Downs | Principal Software Engineer
- Paulo Salvatori | Principal Customer Engineer, FastTrack voor Azure
- Arsen Vladimirskiy | Principal Customer Engineer, 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.