Opis szablonów usługi Azure Resource Manager i Azure ARM

Ukończone

Usługa Azure Resource Manager (ARM) to usługa wdrażania i zarządzania dla platformy Azure. Zapewnia warstwę zarządzania, która umożliwia tworzenie, aktualizowanie i usuwanie zasobów na koncie platformy Azure. Za każdym razem, gdy wszystko zrobisz z zasobami platformy Azure, usługa ARM jest zaangażowana.

Gdy użytkownik wysyła żądanie z dowolnego narzędzia, interfejsów API lub zestawów SDK platformy Azure, usługa ARM odbiera żądanie. Usługa ARM uwierzytelnia i autoryzuje żądanie. Następnie usługa ARM wysyła żądanie do usługi platformy Azure, która podejmuje żądaną akcję. Wyniki i możliwości są widoczne we wszystkich różnych narzędziach, ponieważ wszystkie żądania są obsługiwane za pośrednictwem tego samego interfejsu API.

Korzyści z usługi Azure Resource Manager

Usługa Azure Resource Manager udostępnia następujące możliwości:

  • Zarządzanie infrastrukturą przy użyciu szablonów deklaratywnych zamiast skryptów. Szablon usługi Resource Manager to plik JSON, który definiuje, co chcesz wdrożyć na platformie Azure.
  • Wdrażanie i monitorowanie wszystkich zasobów rozwiązania jako grupy, a także zarządzania nimi, zamiast obsługi tych zasobów indywidualnie.
  • Ponownie wdróż rozwiązanie w całym cyklu życia programowania i masz pewność, że zasoby są wdrażane w spójnym stanie.
  • Zdefiniuj zależności między zasobami, aby były wdrażane w odpowiedniej kolejności.
  • Zastosowanie kontroli dostępu do wszystkich usług, ponieważ kontrola dostępu oparta na rolach (RBAC) jest natywnie zintegrowana z platformą zarządzania.
  • Zastosowanie tagów do zasobów w celu logicznej organizacji wszystkich zasobów w subskrypcji.
  • Wyjaśnienie rozliczeń organizacji, wyświetlając koszty dla grupy zasobów korzystających z tego samego tagu.

Poniższy film wideo zawiera omówienie usługi Azure Resource Manager.

Infrastruktura jako kod

Infrastruktura jako kod to koncepcja, w której zarządzasz infrastrukturą jako wierszami kodu. Na poziomie wprowadzającym są takie elementy jak używanie usługi Azure Cloud Shell, programu Azure PowerShell lub interfejsu wiersza polecenia platformy Azure do zarządzania zasobami i konfigurowania ich. W miarę wygody w chmurze możesz użyć infrastruktury jako koncepcji kodu do zarządzania całymi wdrożeniami przy użyciu powtarzalnych szablonów i konfiguracji. Szablony usługi ARM i Bicep to dwa przykłady użycia infrastruktury jako kodu w usłudze Azure Resource Manager w celu utrzymania środowiska.

Szablony usługi ARM

Za pomocą szablonów usługi ARM można opisać zasoby, których chcesz użyć w formacie deklaratywnego JSON. W przypadku szablonu usługi ARM kod wdrożenia jest weryfikowany przed uruchomieniem jakiegokolwiek kodu. Dzięki temu zasoby zostaną utworzone i połączone poprawnie. Następnie szablon organizuje tworzenie wszystkich zasobów równolegle. Oznacza to, że jeśli potrzebujesz 50 wystąpień tego samego zasobu, wszystkie 50 wystąpień zostanie utworzonych jednocześnie.

W efekcie deweloper, specjalista DevOps lub specjalista IT musi tylko zdefiniować pożądany stan i konfigurację każdego z zasobów w szablonie usługi ARM, a wszystkie wymagane czynności są wykonywane automatycznie przez szablon. Szablony umożliwiają nawet wykonywanie skryptów programu PowerShell i powłoki Bash przed konfiguracją zasobu lub po niej.

Korzyści wynikające z używania szablonów usługi ARM

Szablony usługi ARM zapewniają wiele korzyści podczas planowania wdrażania zasobów platformy Azure. Niektóre z tych korzyści obejmują:

  • Składnia deklaratywna: szablony usługi ARM umożliwiają deklaratywne tworzenie i wdrażanie całej infrastruktury platformy Azure. Składnia deklaratywna oznacza zadeklarowanie, co chcesz wdrożyć, ale nie trzeba pisać rzeczywistych poleceń programowania i sekwencji w celu wdrożenia zasobów.
  • Powtarzalne wyniki: wielokrotnie wdrażaj infrastrukturę w całym cyklu projektowania i masz pewność, że zasoby są wdrażane w spójny sposób. Możesz użyć tego samego szablonu usługi ARM, aby wdrożyć wiele środowisk deweloperskich/testowych, wiedząc, że wszystkie środowiska są takie same.
  • Orkiestracja: nie musisz martwić się o złożoność operacji porządkowania. Usługa Azure Resource Manager organizuje wdrażanie współzależnych zasobów, więc są one tworzone w odpowiedniej kolejności. Jeśli to możliwe, usługa Azure Resource Manager wdraża zasoby równolegle, dzięki czemu wdrożenia zakończą się szybciej niż wdrożenia szeregowe. Szablon można wdrożyć za pomocą jednego polecenia, a nie za pomocą wielu poleceń imperatywnych.
  • Pliki modułowe: szablony można podzielić na mniejsze składniki wielokrotnego użytku i połączyć je razem w czasie wdrażania. Można również zagnieżdżać jeden szablon wewnątrz innego szablonu. Można na przykład utworzyć szablon dla stosu maszyny wirtualnej, a następnie zagnieżdżać ten szablon wewnątrz szablonów, które wdrażają całe środowiska, oraz że stos maszyn wirtualnych będzie stale wdrażany w każdym szablonie środowiska.
  • Rozszerzalność: za pomocą skryptów wdrażania można dodawać skrypty programu PowerShell lub powłoki Bash do szablonów. Skrypty wdrażania rozszerzają możliwość konfigurowania zasobów podczas wdrażania. Skrypt można uwzględnić w szablonie lub przechowywać w źródle zewnętrznym i odwoływać się do tego szablonu. Skrypty wdrażania umożliwiają ukończenie kompleksowej konfiguracji środowiska w jednym szablonie usługi ARM.

Bicep

Bicep to język, który używa składni deklaratywnej do wdrażania zasobów platformy Azure. Plik Bicep definiuje infrastrukturę i konfigurację. Następnie usługa ARM wdraża to środowisko na podstawie pliku Bicep. Podobnie jak w przypadku szablonu usługi ARM, który jest napisany w formacie JSON, pliki Bicep mają tendencję do używania prostszego, bardziej zwięzłego stylu.

Oto niektóre zalety Bicep:

  • Obsługa wszystkich typów zasobów i wersji interfejsu API: Bicep natychmiast obsługuje wszystkie wersje zapoznawcze i ogólnie dostępne dla usług platformy Azure. Gdy tylko dostawca zasobów wprowadza nowe typy zasobów i wersje interfejsu API, można ich używać w pliku Bicep. Nie musisz czekać na zaktualizowanie narzędzi przed użyciem nowych usług.
  • Prosta składnia: w porównaniu z równoważnym szablonem JSON pliki Bicep są bardziej zwięzłe i łatwiejsze do odczytania. Bicep nie wymaga wcześniejszej wiedzy na temat języków programowania. Składnia Bicep jest deklaratywna i określa, które zasoby i właściwości zasobów chcesz wdrożyć.
  • Powtarzalne wyniki: wielokrotnie wdrażaj infrastrukturę w całym cyklu projektowania i masz pewność, że zasoby są wdrażane w spójny sposób. Pliki Bicep są idempotentne, co oznacza, że można wdrożyć ten sam plik wiele razy i uzyskać te same typy zasobów w tym samym stanie. Można opracować jeden plik reprezentujący żądany stan, zamiast opracowywać wiele oddzielnych plików do reprezentowania aktualizacji.
  • Orkiestracja: nie musisz martwić się o złożoność operacji porządkowania. Usługa Resource Manager organizuje wdrażanie współzależnych zasobów, aby były tworzone w odpowiedniej kolejności. Jeśli to możliwe, usługa Resource Manager wdraża zasoby równolegle, aby wdrożenia zakończyły się szybciej niż wdrożenia szeregowe. Plik jest wdrażany za pomocą jednego polecenia, a nie za pomocą wielu poleceń imperatywnych.
  • Modułowość: możesz podzielić kod Bicep na części możliwe do zarządzania przy użyciu modułów. Moduł wdraża zestaw powiązanych zasobów. Moduły umożliwiają ponowne używanie kodu i uproszczenie programowania. Dodaj moduł do pliku Bicep w dowolnym momencie, w którym musisz wdrożyć te zasoby.