Varför ska du använda distributionsstackar?

Slutförd

Du utvärderar om distributionsstackar kan tillhandahålla rätt funktioner för resurslivscykelhantering. Du har ägnat lite tid åt att lära dig om funktionerna i distributionsstackar och hur du kan använda dem för att hantera dina program och Azure-resurser. Du vill veta mer om varför du bör överväga distributionsstackar och dess övergripande fördelar.

I den här lektionen lär du dig om fördelarna med distributionsstackar.

Fördelar med distributionsstackar

Det finns många fördelar som distributionsstackar kan lägga till i resursetableringsprocessen, inklusive:

  • Förenklad etablering
  • Förhindra obehöriga ändringar
  • Tillförlitlig resursrensning
  • Standardiserade mallar
  • Förbättra befintliga processer

Förenklad etablering

Överväg ett program som måste distribueras över flera resursgrupper i flera prenumerationer. I en standarddistribution är det nödvändigt att utfärda flera skapandeåtgärder i omfånget för varje resursgrupp. Distributionspipelinen måste utformas för att hantera resursberoenden och distributionssekvensen.

Med distributionsstackar kan du distribuera programmet med ett enda kommando. I det här exemplet distribueras alla resurser till lämpliga prenumerationer och resursgrupper vid tidpunkten för körningen när distributionen utförs, när distributionsstacken omfångssätts på hanteringsgruppsnivå. Uppdateringar av programmet hanteras på samma sätt via ett enda distributionskommando.

Den här processen minskar avsevärt antalet åtgärder som krävs för att distribuera eller ändra programmet.

Förhindra obehöriga ändringar

Distributionsstackar ger ett extra lager av säkerhet och skyddsräcken som hjälper till att förhindra obehöriga ändringar av dina Azure-resurser.

När du skapar en distributionsstack kan du ange en behörighet som tillämpas på de resurser som hanteras av stacken. Dessa behörigheter, så kallade neka-inställningar, används för att förhindra ändringar eller borttagning från obehöriga användare.

Neka-inställningar kan låta ungefär som rollbaserad åtkomstkontroll i Azure (RBAC) och Azure Locks. RBAC används för att tilldela specifika roller till specifika användare i ett specifikt omfång. Du kan till exempel tilldela deltagarrollen till en användare i resursgruppens omfång. Lås används för att förhindra ändringar eller borttagning av resurser i specifika omfång, oavsett vilken användare som utför åtgärden. Om du till exempel placerar ett skrivskyddat lås i prenumerationsomfånget förhindrar du ändringar eller borttagningar av alla resurser även om användaren har RBAC-behörighet att göra det.

Med inställningar för nekande av distributionsstack kan du implementera kontroller över en samling resurser över omfång, vilket ersätter eventuella RBAC-tilldelningar eller lås som kan finnas på plats.

Tillförlitlig resursrensning

Överväg en utvecklingsmiljö för ett program som distribueras över flera resursgrupper i en prenumeration. Om du vill ta bort miljön och ta bort alla resurser måste du utfärda flera borttagningsåtgärder mot resursgrupperna och resurserna. Om det finns beroenden mellan resurser är det möjligt att borttagningsåtgärden misslyckas. Resurser som tagits bort ur sekvensen kan också orsaka att borttagningsåtgärden misslyckas.

Med distributionsstackar kan du ta bort stacken och alla dess resurser via ett enda API-anrop, utan att behöva förstå beroenden. Den här enkla åtgärden tar bort resurserna på ett tillförlitligt sätt och förbättrar borttagningshastigheten.

En annan fördel med att ta bort resurser som hanteras av en stack är risken för kostnadsbesparingar. Att ta bort ett program och dess resurser som inte hanteras av en distributionsstack är många gånger ett manuellt arbete som är felbenäget. Du kan av misstag glömma att ta bort vissa resurser, vilket fortsätter att medföra kostnader. Distributionsstackar löser det här problemet som ett kostnadshanteringsverktyg, särskilt när du hanterar tillfälliga miljöer.

När du tar bort en distributionsstack kan du använda actionOnUnmanage egenskapen för att avgöra hur Azure hanterar de resurser, resursgrupper och hanteringsgrupper som finns i stacken. Azure kan ta bort resurser, resursgrupper och hanteringsgrupper, eller koppla från dem, vilket innebär att resurserna inte tas bort men inte längre hanteras av stacken.

Standardiserad process och mallar

Att skapa och distribuera en distributionsstack och dess resurser är nästan identiska med en azure-standarddistribution. Till exempel:

Azure CLI-kommandot för att distribuera en Bicep-fil till en resursgrupp är:

az deployment group create \
    --resource-group rg-depositsApplication \
    --template-file ./main.bicep

Azure CLI-kommandot för att skapa en distributionsstack i resursgruppens omfång är:

az stack group create \
    --name stack-deposits \
    --resource-group rg-depositsApplication \
    --template-file ./main.bicep \
    --action-on-unmanage detachAll \
    --deny-settings-mode none

Distributionsstackar stöder användning av Bicep-filer, ARM JSON-mallar eller mallspecifikationer för att definiera resurser i en stack. När du distribuerar en distributionsstack med hjälp av Azure CLI eller Azure PowerShell kan du peka på den specifika mallfilen (Bicep-filen eller ARM JSON-mallen) eller mallspecifikationen. Det är inte nödvändigt att ändra hur du definierar dina resurser.

Förbättra befintliga processer

Om du redan använder infrastruktur som kod för att hantera distributionerna av dina resurser till Azure ger distributionsstackar dig mer kontroll över processen. Som vi beskrev i föregående avsnitt skiljer sig processen för att skapa en distributionsstack inte särskilt mycket från att skapa en resursgruppsbaserad distribution. Möjligheten att distribuera mellan hanteringsgrupper, prenumerationer och resursgrupper med ett enda kommando är mycket enklare med distributionsstackar. Resurssäkerhet är nu en del av distributionsprocessen med staplar.