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 det andra extrema fallet 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 kräver alla kompromisser mellan skala, isolering, kostnadseffektivitet, prestanda, implementeringskomplexitet och hanterbarhet.
I det här avsnittet diskuterar vi huvudkategorierna för 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 och 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 med flera klientorganisationer. Det handlar om att distribuera dedikerad infrastruktur för en klientorganisation eller för en grupp klienter. En enskild stämpel kan betjäna flera klienter eller vara dedikerade till en enda klientorganisation.
När du använder stämplar för en 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 byggas in i programskiktet. När varje klientorganisation har sin egen dedikerade stämpel ger det här mönstret högsta grad av isolering, och det minimerar problemet Med bullrig granne. 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 multitenantstämplar måste andra mönster övervägas för att hantera flera klientorganisationer inom stämpeln, och problemet med den bullriga grannen 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. Varje stämpel måste ha en egen separat uppsättning infrastruktur och infrastrukturen delas inte 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 prismodellen kompenserar kostnaden för distributionen för klientorganisationens infrastruktur.
Stämplar för en 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 med frimärken med en enda klientorganisation (se den här fallstudien som ett exempel). Du kan också använda mönstret Distributionsstämplar för att skapa multitenantstä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 automatiserade distributionsmetoder. 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-filer 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 klienter, inklusive oberoende programvaruleverantörer 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 med flera klientorganisationer innan du går igenom vägledningen om specifika kategorier av Azure-tjänster.