Jeżeli właśnie wdrażasz zasoby na platformie Azure za pomocą szablonów usługi Azure Resource Manager, prawdopodobnie zainteresuje Cię nowy projekt - Bicep.
Udostępnij!
Czym jest Bicep?
Czym jest Bicep? To język specyficzny dla domeny, który używa składni deklaratywnej do wdrażania zasobów. W pliku Bicep definiuje się infrastrukturę, którą zamierza się wdrożyć na platformie Azure, a następnie używa tego pliku w całym cyklu projektowania, aby wielokrotnie wdrażać infrastrukturę.
Bicep zapewnia zwięzłą składnię, niezawodne bezpieczeństwo typów i obsługę ponownego użycia kodu, tworząc najlepsze środowisko budowania rozwiązań infrastruktury jako kodu na platformie Azure.
Zalety bicep – jakie korzyści zapewnia?
- Obsługę wszystkich typów zasobów i wersji interfejsu API: platforma Bicep natychmiast obsługuje wszystkie wersje zapoznawcze i wersje produkcyjne dla usług platformy Azure. Kiedy tylko nowe typy zasobów i wersje interfejsu API zostają wprowadzone przez dostawcę, można ich używać w pliku Bicep, bez konieczności oczekiwania na zaktualizowanie narzędzi przed rozpoczęciem pracy z nowymi usługami.
- Prostą składnię: w porównaniu z równoważnym szablonem JSON, pliki Bicep są zwięźlejsze i łatwiejsze do odczytania. Bicep nie wymaga wcześniejszej znajomości języków programowania. Składnia jest deklaratywna i określa, które zasoby i właściwości zasobów zamierzamy wdrożyć.
Różnice między plikiem Bicep i równoważnym szablonem JSON.
Oba przykłady wdrażają konto magazynu:
- Środowisko tworzenia: rozszerzenie Bicep dla VS Code do tworzenia plików Bicep pozwala uzyskać środowisko najwyższej klasy. Edytor zapewnia bogate bezpieczeństwo typów, intellisense i walidację składni.
- Powtarzalne wyniki: Istnieje możliwość wielokrotnego wdrażania infrastruktury w całym cyklu projektowania z gwarancją spójnego wdrażania zasobów. Pliki bicep są idempotentne, co oznacza, że ten sam plik da się wdrożyć wiele razy i uzyskać te same typy zasobów w tym samym stanie. Można utworzyć jeden plik reprezentujący żądany stan, zamiast wielu oddzielnych do reprezentowania aktualizacji.
- Aranżacja: Nie trzeba już martwić się o złożone operacje zamawiania. Resource Manager organizuje wdrażanie współzależnych zasobów, aby zostały one utworzone w prawidłowej kolejności. Kiedy to możliwe, Resource Manager wdraża zasoby równolegle, aby wdrożenia kończyły się szybciej niż wdrożenia szeregowe. Plik jest wdrażany za pomocą jednego polecenia, a nie wielu poleceń imperatywnych.
- Modułowość: Kod bicep można rozbić na części, którymi da się zarządzać, korzystając z modułów. Moduły wdrażają zestawy powiązanych zasobów, umożliwiają ponowne używanie kodu i upraszczają opracowywanie.
- Integracja z usługami platformy Azure: Platforma Bicep jest zintegrowana z usługami chmurowymi, takimi jak Azure Policy, specyfikacje szablonów i strategie.
- Podgląd zmian: Operacja what-if pozwala uzyskać podgląd zmian przed wdrożeniem pliku Bicep i zobaczyć, które zasoby zostaną utworzone, zaktualizowane lub usunięte, wraz z ich wszystkimi zmienionymi właściwościami. Operacja what-if sprawdza bieżący stan środowiska i eliminuje konieczność zarządzania stanem.
- Brak plików stanu lub stanu do zarządzania: Stan jest w całości przechowywany na platformie Azure. Użytkownicy mogą ze sobą współpracować i mieć pewność, że ich aktualizacje są obsługiwane zgodnie z oczekiwaniami.
- Brak kosztów – open source: Bicep jest całkowicie bezpłatny, w tym również możliwości premium. Usługa jest również obsługiwana przez pomoc techniczną firmy Microsoft.
Jak widać, Bicep oferuje prostszą i zwięźlejszą składnię w porównaniu z równoważnym JSON. Bicep automatycznie zarządza zależnościami między zasobami, a struktura pliku jest bardziej elastyczna niż szablon JSON. Parametry, zmienne i dane wyjściowe można zadeklarować w dowolnym miejscu pliku, podczas gdy w pliku JSON w odpowiednich sekcjach szablonu.
Wydaje się, że w przyszłości Bicep zastąpi JSON przy tworzeniu zasobów w Azure.