Resurser för arkitekter och utvecklare av lösningar för flera klientorganisationer
Arkitekturer för program med flera klienter
Följande artiklar innehåller exempel på arkitekturer för flera klientorganisationer i Azure.
Arkitektur | Sammanfattning | Teknikfokus |
---|---|---|
SaaS för flera klientorganisationer i Azure | Referensarkitektur för ett SaaS-scenario med flera klientorganisationer i Azure, som distribueras i flera regioner | Webb |
Använda Application Gateway Ingress Controller med en Azure Kubernetes Service (AKS) med flera klientorganisationer | Exempel för att implementera flera klientorganisationer med AKS och AGIC | Kubernetes |
Alla arkitekturer för flera klientorganisationer | Visar en lista över alla arkitekturer som innehåller flera klientorganisationer | Flera |
Designmönster för molnet
Följande molndesignmönster används ofta i arkitekturer med flera klientorganisationer.
Mönster | Sammanfattning |
---|---|
Mönster för distributionsstämplar | Distribuera flera oberoende kopior (skalningsenheter) av programkomponenter, inklusive datalager. |
Federerade identiteter | Delegera autentiseringen till en extern identitetsleverantör. |
Gatekeeper | Skydda program och tjänster genom att använda en dedikerad värdinstans som fungerar som en koordinator mellan klienter och programmet eller tjänsten, validerar och sanerar begäranden och skickar begäranden och data mellan dem. |
Köbaserad belastningsutjämning | Använd en kö som fungerar som en buffert mellan en uppgift och en tjänst som den anropar för att jämna ut tillfälliga tunga belastningar. |
Horisontell partitionering | Dela upp ett datalager i en uppsättning horisontella partitioner eller delar. |
Begränsning | Kontrollera förbrukningen av resurser som används av en instans av ett program, en enskild klientorganisation eller en hel tjänst. |
Antimönster
Överväg antimönstret Noisy Neighbor, där aktiviteten för en klient kan ha en negativ inverkan på en annan klientorganisations användning av systemet.
Microsoft Azures välstrukturerade ramverk
Hela Azure Well-Architected Framework är viktigt för alla lösningar, men var särskilt uppmärksam på grundpelarna Tillförlitlighet. Molnvärdskapets natur leder till program som ofta är multitenanta, använder delade plattformstjänster, konkurrerar om resurser och bandbredd, kommunicerar via Internet och körs på vanlig maskinvara. Detta ökar sannolikheten för att både tillfälliga och mer permanenta fel uppstår.
Arkitekturvägledning för flera klientorganisationer
- Utforma lösningar för flera klientorganisationer i Azure (video): I den här videon beskrivs hur du utformar, utformar och skapar lösningar för flera klientorganisationer i Azure. Om du skapar en SaaS-produkt eller en annan tjänst för flera klienter finns det mycket att tänka på när du planerar för höga prestanda, klientisolering och för att hantera distributioner. Den här sessionen riktar sig till utvecklare och arkitekter som skapar multitenant- eller SaaS-program, inklusive nystartade företag och ISV:er.
- Azure Friday – Utforma lösningar för flera klientorganisationer i Azure (video): I den här videon från Azure Friday beskrivs hur du utformar, arkitekterar och skapar SaaS-lösningar (programvara som en tjänst) för flera klientorganisationer i Azure.
- Accelerera och minska risken för din resa till SaaS (video): Den här videon ger vägledning för övergång till saaS-leveransmodellen (programvara som en tjänst) – oavsett om du börjar med att lyfta och flytta en befintlig lösning från en lokal plats till Azure, överväga en arkitektur med flera klientorganisationer eller försöka modernisera en befintlig SaaS-webbapp.
Resurser för Azure-tjänster
Styrning och efterlevnad
- Organisera och hantera flera Azure-prenumerationer: Det är viktigt att tänka på hur du hanterar dina Azure-prenumerationer samt hur du allokerar klientresurser till prenumerationer.
- Hanteringsupplevelser mellan klientorganisationer: Som tjänstleverantör kan du använda Azure Lighthouse för att hantera resurser för flera kunder från din egen Microsoft Entra-klientorganisation. Många uppgifter och tjänster kan utföras mellan hanterade klienter med hjälp av Azure-delegerad resurshantering.
- Azure-hanterade program: I ett hanterat program distribueras resurserna till en resursgrupp som hanteras av appens utgivare. Resursgruppen finns i kundens prenumeration, men en identitet i utgivarens klient har åtkomst till resursgruppen.
Compute
- Metodtips för klusterisolering i Azure Kubernetes Service (AKS): AKS ger flexibilitet i hur du kan köra kluster med flera klientorganisationer och isolera resurser. För att maximera din investering i Kubernetes måste du först förstå och implementera funktioner för aks-multitenancy och isolering. Den här artikeln om metodtips fokuserar på isolering för klusteroperatorer.
- Metodtips för klustersäkerhet och uppgraderingar i Azure Kubernetes Service: När du hanterar kluster i Azure Kubernetes Service (AKS) är arbetsbelastning och datasäkerhet en viktig faktor. När du kör kluster med flera klientorganisationer med logisk isolering behöver du särskilt skydda åtkomsten till resurser och arbetsbelastningar.
Nätverk
Private Link
- Azure Private Link Service-förklaring och demonstrationer från leverantörsperspektiv (SaaS ISV) och konsumentperspektiv: En video som tittar på Azure Private Link-tjänstfunktionen som gör det möjligt för tjänsteleverantörer med flera klientorganisationer (till exempel oberoende programvaruleverantörer att skapa SaaS-produkter). Den här lösningen gör det möjligt för konsumenter att komma åt leverantörens tjänst med hjälp av privata IP-adresser från konsumentens egna virtuella Azure-nätverk.
- TCP Proxy Protocol v2 med Azure Private Link Service – Djupdykning: En video som visar en djupdykning i TCP Proxy Protocol v2, som är en avancerad funktion i Azure Private Link-tjänsten. Det är användbart i scenarier med flera klientorganisationer och SaaS. Videon visar hur du aktiverar Proxy Protocol v2 i Azure Private Link-tjänsten. Den visar också hur du konfigurerar en NGINX-tjänst för att läsa den ursprungliga klientens privata käll-IP-adress i stället för NAT IP för att få åtkomst till tjänsten via den privata slutpunkten.
- Använda NGINX Plus för att avkoda Proxy Protocol TLV
linkIdentifier
från Azure Private Link-tjänsten: En video som tittar på hur du använder NGINX Plus för att hämta TCP Proxy Protocol v2 TLV från Azure Private Link-tjänsten. Videon visar hur du sedan kan extrahera och avkoda det numeriskalinkIdentifier
, även kallatLINKID
, för den privata slutpunktsanslutningen. Den här lösningen är användbar för leverantörer med flera klienter som behöver identifiera den specifika konsumentklientorganisation som anslutningen gjordes från. - SaaS Private Connectivity-mönster: En exempellösning som illustrerar en metod för att automatisera godkännandet av privata slutpunktsanslutningar med hjälp av Azure Managed Applications.
Webb
- Anspråksbaserad routning för SaaS-lösningar: I den här artikeln beskrivs användningen av en omvänd proxy för att underlätta klientdirigering och mappning av begäranden till klienter, vilket förbättrar hanteringen av serverdelstjänster i SaaS-lösningar.
Lagring och data
- Utforma och skapa SaaS-appar med flera klienter i stor skala med Azure Cosmos DB (video): Lär dig hur du utformar och optimerar SaaS-program med flera klienter med Hjälp av Azure Cosmos DB. Den här sessionen utforskar viktiga designöverväganden som rör klientisolering, kostnadsoptimering och global distribution. Innehållet i den här sessionen gäller oavsett om du har en stor mängd små B2C-klienter eller en låg volym med mycket skeva B2B-klienter.
- Azure Cosmos DB och system med flera klientorganisationer: Ett blogginlägg som beskriver hur du skapar ett system med flera klientorganisationer som använder Azure Cosmos DB.
- Hierarkiska partitionsnycklar i Azure Cosmos DB: Med hjälp av hierarkiska partitionsnycklar, även kallade underpartitionering, kan du partitionera containern internt med flera nivåer av partitionsnycklar. Detta möjliggör mer optimala partitioneringsstrategier för scenarier eller arbetsbelastningar med flera klientorganisationer som annars skulle använda syntetiska partitionsnycklar.
- Azure SQL Database multitenant SaaS-databas innehavarmönster: En uppsättning artiklar som beskriver olika innehavarmodeller som är tillgängliga för ett SaaS-program med flera klientorganisationer med hjälp av Azure SQL Database.
- Köra 1 miljon databaser i Azure SQL för en stor SaaS-provider: Microsoft Dynamics 365 och Power Platform: Ett blogginlägg som beskriver hur Dynamics 365-teamet hanterar databaser i stor skala.
- Utforma en databas med flera klientorganisationer med hjälp av Azure Database for PostgreSQL Hyperskala
- Horisontell, lodrät och funktionell datapartitionering: I många storskaliga lösningar och lösningar med flera klientorganisationer delas data in i partitioner som kan hanteras och nås separat. Partitionering kan förbättra skalbarheten, minska konkurrensen och ge bästa möjliga prestanda. Det kan också ge en mekanism för att dela upp data, med användningsmönstret och av klientorganisationen.
- Strategier för datapartitionering efter Azure-tjänst: I den här artikeln beskrivs några strategier för partitionering av data i olika Azure-datalager.
- Skapa program med flera klienter med Azure Database for PostgreSQL Hyperscale Citus (video)
- Program med flera klienter med Azure Cosmos DB (video)
- Skapa en SaaS med flera klientorganisationer med Azure Cosmos DB och Azure (video): En verklig fallstudie av hur Whally, en saaS-start med flera klientorganisationer, skapade en modern plattform från grunden i Azure Cosmos DB och Azure. Whally visar de design- och implementeringsbeslut som de fattade om partitionering, datamodellering, säker multitenancy, prestanda, realtidsströmning från ändringsflöde till SignalR med mera, allt med hjälp av ASP.NET Core i Azure App Services.
- Designmönster för flera klienter för SaaS-program i Azure SQL Database (video)
Meddelandetjänster
- Azure Event Grid-domäner: Med Azure Event Grid-domäner kan du hantera arkitekturer för multitenanthändelser i stor skala.
- Service Bus-exempel: Kommunikation mellan klientorganisationer med Azure Service Bus: Exempelimplementering av Azure Service Bus som visar hur du kommunicerar mellan en central leverantör och en eller flera kunder (klientorganisationer).
Identitet
- Innehavarorganisation i Microsoft Entra-ID: Microsoft Entra ID har ett eget koncept för flera klientorganisationer, vilket avser drift över flera Microsoft Entra-kataloger. När utvecklare arbetar med Microsoft Entra-appar kan de välja att konfigurera sin app som antingen enskild klientorganisation eller multitenant för att stödja olika scenarier.
- Anpassad identitetslösning med Azure AD B2C: Azure Active Directory B2C är en lösning för hantering av kundidentitetsåtkomst som kan stödja miljontals användare och miljarder autentiseringar per dag.
- Skapa en daemon för flera klientorganisationer med Microsoft platforma za identitete slutpunkten: Det här exempelprogrammet visar hur du använder Microsoft platforma za identitete slutpunkten för att få åtkomst till Microsoft-företagskunders data i en långvarig, icke-interaktiv process. Den använder OAuth2-klientautentiseringsuppgifterna för att hämta en åtkomsttoken, som den sedan använder för att anropa Microsoft Graph och komma åt organisationsdata.
- Autentisera och auktorisera appar med flera klientorganisationer med hjälp av Microsoft Entra-ID: Lär dig hur Du kan förbättra funktionerna i molnbaserade appar i scenarier med flera klientorganisationer.
- Genomgång av Azure-arkitektur: Skapa en Azure-arkitektur med flera klienter för ett B2C-scenario: en genomgång av arkitekturen bakom en mobilapp med flera klienter med Azure Active Directory B2C och API Management.
- Definiera och implementera behörigheter, roller och omfång med Microsoft Entra ID i SaaS-lösningen: Den här artikeln beskriver tre huvudbegrepp som rör Microsoft Entra-autentisering och -auktorisering, som kan användas av SaaS-leverantörer. Den omfattar funktioner för programroller, delegerade och programbehörigheter och omfångsfunktioner.
Analys
- Lösningar för flera klientorganisationer med Power BI Embedded-analys: När du utformar ett program med flera klientorganisationer som innehåller Power BI Embedded måste du noggrant välja den innehavarmodell som passar dina behov bäst.
IoT
- Multitenancy i IoT Hub Device Provisioning Service: En IoT-lösning med flera klienter tilldelar vanligtvis klientenheter med hjälp av en grupp IoT-hubbar som är spridda över regioner.
AI/ML
- Designmönster för SaaS-program med flera klienter och Azure Cognitive Search: I det här dokumentet beskrivs strategier för klientisolering för program med flera klienter som har skapats med Azure Cognitive Search.
- En lösning för ML-pipeline på flera innehavare Sätt: Det här blogginlägget beskriver hur Azure Mašinsko učenje pipelines kan utformas för att stödja flera klienter med hjälp av Azure Mašinsko učenje-arbetsytor.
Community-innehåll
Kubernetes
- Tre innehavarmodeller för Kubernetes: Kubernetes-kluster används vanligtvis av flera team i en organisation. Den här artikeln förklarar tre innehavarmodeller för Kubernetes.
- Förstå Kubernetes Multi Tenancy: Kubernetes är inte ett system med flera klientorganisationer utan kräver anpassad konfiguration. I den här artikeln förklaras Kubernetes-typer av flera klientorganisationer.
- Kubernetes Multi-Tenancy – En metodtipsguide: Kubernetes multitenancy är ett ämne som organisationer blir alltmer intresserade av när deras Kubernetes-användning sprids ut. Men eftersom Kubernetes inte uttryckligen är ett system med flera klientorganisationer kan det vara svårt att utforma en Kubernetes-implementering med flera klientorganisationer. Den här artikeln beskriver dessa utmaningar och hur du kan övervinna dem, och några användbara verktyg för Kubernetes multitenancy.This article describe these challenges and how to overcome them, and some useful tools for Kubernetes multitenancy.
- Capsule: Kubernetes multi-tenancy made simple: Capsule hjälper till att implementera en multitenancy- och principbaserad miljö i ditt Kubernetes-kluster. Det är inte ett PaaS-erbjudande (plattform som en tjänst), utan är i stället ett mikrotjänstbaserat ekosystem med en minimalistisk designmetod som endast använder uppströms Kubernetes.
- Korsplan: Molnbaserat kontrollplansramverk: Med korsplan kan du skapa kontrollplan för din egen lösning med hjälp av en Kubernetes-baserad metod.
Deltagare
Den här artikeln underhålls av Microsoft. Det har ursprungligen skrivits av följande medarbetare.
Huvudsakliga författare:
- John Downs | Huvudprogramtekniker
- Paolo Salvatori | Huvudkundtekniker, FastTrack för Azure
- Arsen Vladimirskiy | Huvudkundtekniker, FastTrack för Azure
- LaBrina Loving | Principal Customer Engineering Manager, FastTrack för Azure
Om du vill se icke-offentliga LinkedIn-profiler loggar du in på LinkedIn.