Dlaczego warto używać stosów wdrażania?
Oceniasz, czy stosy wdrażania mogą udostępniać odpowiednie funkcje do zarządzania cyklem życia zasobów. Poświęciliśmy trochę czasu na zapoznanie się z funkcjami stosów wdrażania i sposobem używania ich do zarządzania aplikacjami i zasobami platformy Azure. Chcesz dowiedzieć się więcej o tym, dlaczego warto rozważyć stosy wdrożeń i jej ogólne korzyści.
W tej lekcji poznasz zalety stosów wdrażania.
Zalety stosów wdrażania
Istnieje wiele korzyści, które mogą zostać dodane do procesu aprowizacji zasobów, w tym:
- Uproszczona aprowizacja
- Zapobieganie nieautoryzowanym zmianom
- Niezawodne czyszczenie zasobów
- Szablony ustandaryzowane
- Rozszerzanie istniejących procesów
Uproszczona aprowizacja
Rozważmy aplikację, która musi zostać wdrożona w wielu grupach zasobów w wielu subskrypcjach. W przypadku wdrożenia standardowego konieczne jest wystawienie wielu operacji tworzenia w zakresie każdej grupy zasobów. Potok wdrażania musi być zaprojektowany tak, aby obsługiwał zależności zasobów i sekwencję wdrażania.
Za pomocą stosów wdrażania można wdrożyć aplikację za pomocą jednego polecenia. W tym przykładzie podczas określania zakresu stosu wdrożenia na poziomie grupy zarządzania wszystkie zasoby są wdrażane w odpowiednich subskrypcjach i grupach zasobów w czasie wykonywania. Aktualizacje aplikacji są obsługiwane w ten sam sposób za pomocą jednego polecenia wdrożenia.
Ten proces znacznie zmniejsza liczbę operacji niezbędnych do wdrożenia lub zmodyfikowania aplikacji.
Zapobieganie nieautoryzowanym zmianom
Stosy wdrażania zapewniają dodatkową warstwę zabezpieczeń i barier zabezpieczających, które ułatwiają zapobieganie nieautoryzowanym zmianom zasobów platformy Azure.
Podczas tworzenia stosu wdrożenia można określić uprawnienie stosowane do zasobów zarządzanych przez stos. Te uprawnienia, nazywane ustawieniami odmowy, są używane do zapobiegania modyfikacji lub usuwania nieautoryzowanym użytkownikom.
Ustawienia odmowy mogą wyglądać podobnie jak w przypadku kontroli dostępu opartej na rolach (RBAC) platformy Azure i blokad platformy Azure. Kontrola dostępu oparta na rolach służy do przypisywania określonych ról określonym użytkownikom w określonym zakresie. Na przykład przypisanie roli współautora do użytkownika w zakresie grupy zasobów. Blokady są używane do zapobiegania modyfikacji lub usuwania zasobów w określonych zakresach, niezależnie od użytkownika wykonującego akcję. Na przykład umieszczenie blokady tylko do odczytu w zakresie subskrypcji uniemożliwia wszelkie modyfikacje lub usunięcia wszystkich zasobów, nawet jeśli użytkownik ma uprawnienie RBAC do tego.
Ustawienia odmowy stosu wdrażania umożliwiają implementowanie kontrolek w kolekcji zasobów w różnych zakresach, co zastępuje wszystkie przypisania lub blokady kontroli dostępu opartej na rolach, które mogą być wdrożone.
Niezawodne czyszczenie zasobów
Rozważ środowisko programistyczne dla aplikacji wdrożonej w wielu grupach zasobów w ramach subskrypcji. Aby usunąć środowisko i usunąć wszystkie zasoby, należy wydać wiele operacji usuwania względem grup zasobów i zasobów. Jeśli istnieją jakiekolwiek zależności między zasobami, możliwe, że operacja usuwania zakończy się niepowodzeniem. Zasoby usunięte z sekwencji mogą również spowodować niepowodzenie operacji usuwania.
Stosy wdrażania umożliwiają usunięcie stosu i wszystkich jego zasobów za pomocą jednego wywołania interfejsu API bez konieczności zrozumienia zależności. Ta pojedyncza operacja usuwa zasoby w niezawodny sposób i poprawia szybkość usuwania.
Kolejną zaletą usuwania zasobów zarządzanych przez stos jest możliwość obniżenia kosztów. Usuwanie aplikacji i jej zasobów, które nie są zarządzane przez stos wdrożenia, jest często wykonywane ręcznie, co jest podatne na błędy. Można przypadkowo zapomnieć o usunięciu niektórych zasobów, co nadal wiąże się z kosztami. Stosy wdrażania rozwiązane dla tego problemu działającego jako narzędzie do zarządzania kosztami, zwłaszcza w przypadku środowisk efemerycznych.
Podczas usuwania stosu wdrożenia można użyć actionOnUnmanage
właściwości , aby określić sposób obsługi zasobów, grup zasobów i grup zarządzania znajdujących się na stosie na platformie Azure. Platforma Azure może usunąć zasoby, grupy zasobów i grupy zarządzania lub może je odłączyć , co oznacza, że zasoby nie są usuwane, ale nie są już zarządzane przez stos.
Ustandaryzowany proces i szablony
Tworzenie i wdrażanie stosu wdrożenia i jego zasobów jest niemal identyczne ze standardowym wdrożeniem platformy Azure. Na przykład:
Polecenie interfejsu wiersza polecenia platformy Azure służące do wdrażania pliku Bicep w grupie zasobów to:
az deployment group create \
--resource-group rg-depositsApplication \
--template-file ./main.bicep
Polecenie interfejsu wiersza polecenia platformy Azure umożliwiające utworzenie stosu wdrożenia w zakresie grupy zasobów to:
az stack group create \
--name stack-deposits \
--resource-group rg-depositsApplication \
--template-file ./main.bicep \
--action-on-unmanage detachAll \
--deny-settings-mode none
Stosy wdrażania obsługują używanie plików Bicep, szablonów JSON usługi ARM lub specyfikacji szablonów do definiowania zasobów w stosie. Podczas wdrażania stosu wdrożenia przy użyciu interfejsu wiersza polecenia platformy Azure lub programu Azure PowerShell możesz wskazać określony plik szablonu (plik Bicep lub szablon JSON usługi ARM) lub specyfikację szablonu. Nie trzeba zmieniać sposobu definiowania zasobów.
Rozszerzanie istniejących procesów
Jeśli używasz już infrastruktury jako kodu do zarządzania wdrożeniami zasobów na platformie Azure, stosy wdrażania zapewniają większą kontrolę nad procesem. Jak wspomniano w poprzedniej sekcji, proces tworzenia stosu wdrożenia nie różni się bardzo od tworzenia wdrożenia opartego na grupie zasobów. Możliwość wdrażania między grupami zarządzania, subskrypcjami i grupami zasobów za pomocą jednego polecenia jest znacznie prostsza w przypadku stosów wdrożeń. Zabezpieczenia zasobów są teraz częścią procesu wdrażania ze stosami.