Redigera

Share via


Arkitekturmetoder för en lösning för flera klientorganisationer

Azure

Det finns många olika sätt att utforma och skapa lösningar för flera klientorganisationer i Azure. I en extrem kan du dela varje resurs i din lösning mellan alla dina klienter. I den andra ytterligheten kan du distribuera isolerade resurser för varje klientorganisation. Det kan verka enkelt att distribuera separata resurser för varje klientorganisation och det kan fungera för ett litet antal klienter. Men det ger vanligtvis inte kostnadseffektivitet och det kan bli svårt att hantera dina resurser. Det finns också olika metoder som passar mellan dessa ytterligheter, och de har alla kompromisser som skala, isolering, kostnadseffektivitet, prestanda, implementeringskomplexitet och hanterbarhet.

I det här avsnittet diskuterar vi huvudkategorierna av Azure-tjänster som utgör en lösning, inklusive beräkning, lagring och data, nätverk, distribution, identitet, meddelanden, artificiell intelligens och maskininlärning samt IoT. För varje kategori beskriver vi de nyckelmönster och metoder som du kan tänka på när du utformar en lösning för flera klientorganisationer och vissa antimönster att undvika.

Mönster för distributionsstämplar

Mönstret Distributionsstämplar används ofta i lösningar för flera klientorganisationer. Det handlar om att distribuera dedikerad infrastruktur för en klientorganisation eller för en grupp klienter. En enskild stämpel kan innehålla flera klientorganisationer eller vara dedikerade till en enda klientorganisation.

Diagram som visar mönstret Distributionsstämplar. Varje klientorganisation har en egen stämpel som innehåller en databas.

När du använder stämplar för en enskild klientorganisation tenderar mönstret Distributionsstämplar att vara enkelt att implementera, eftersom varje stämpel sannolikt inte känner till någon annan, så ingen logik eller funktioner för flera klientorganisationer behöver vara inbyggda i programlagret. När varje klientorganisation har sin egen dedikerade stämpel ger det här mönstret högsta grad av isolering, och det minskar bullriga granne-problemet. Det ger också möjlighet för klientorganisationer att konfigureras eller anpassas enligt sina egna krav, till exempel att finnas i en specifik geopolitisk region eller att ha specifika krav på hög tillgänglighet.

När du använder stämplar för flera innehavare måste andra mönster övervägas för att hantera flera klientorganisationer inom stämpeln, och problemet Noisy Neighbor kan fortfarande gälla. Men genom att använda mönstret Distributionsstämplar kan du fortsätta att skala när din lösning växer.

Det största problemet med mönstret Distributionsstämplar, när det används för att hantera en enda klientorganisation, tenderar att vara kostnaden för infrastrukturen. När du använder stämplar för en enskild klientorganisation måste varje stämpel ha en egen separat uppsättning infrastruktur, som inte delas med andra klienter. Du måste också se till att de resurser som distribueras för en stämpel är tillräckliga för att uppfylla den högsta belastningen för klientorganisationens arbetsbelastning. Se till att din prismodell kompenserar kostnaden för distributionen för klientorganisationens infrastruktur.

Stämplar för en enskild klientorganisation fungerar ofta bra när du har ett litet antal klienter. När antalet klienter växer är det möjligt men allt svårare att hantera en flotta av stämplar (se den här fallstudien som exempel). Du kan också använda mönstret Distributionsstämplar för att skapa en flotta med flertenantsstämplar, vilket kan ge fördelar för resurs- och kostnadsdelning.

För att implementera mönstret Distributionsstämplar är det viktigt att använda metoder för automatiserad distribution. Beroende på distributionsstrategin kan du överväga att hantera dina stämplar i dina distributionspipelines genom att använda deklarativ infrastruktur som kod, till exempel Bicep, ARM-mallar eller Terraform-mallar. Du kan också överväga att skapa anpassad kod för att distribuera och hantera varje stämpel, till exempel med hjälp av Azure SDK:er.

Målgrupp

Artiklarna i det här avsnittet är avsedda att vara användbara för lösningsarkitekter och ledande utvecklare av program med flera klientorganisationer, inklusive oberoende programvaruleverantörer (ISV:er) och nystartade företag som utvecklar SaaS-lösningar. Mycket av vägledningen i det här avsnittet är allmän och gäller för flera Azure-tjänster inom en kategori.

Nästa steg

Vi rekommenderar att du granskar metoderna för resursorganisation i en lösning för flera klientorganisationer innan du läser vägledningen om specifika kategorier av Azure-tjänster.