Omówienie konfiguracji imperatywnej a deklaratywnej
Istnieje kilka różnych metod wdrażania infrastruktury jako kodu i konfiguracji jako kodu.
Dwie główne metody podejścia to:
- Deklaratywny (funkcjonalny). Podejście deklaratywne określa , jaki powinien być stan końcowy. Po uruchomieniu skrypt lub definicja zainicjuje lub skonfiguruje maszynę tak, aby stan zakończenia został zadeklarowany bez definiowania sposobu osiągnięcia tego stanu końcowego.
- Imperatywne (proceduralne). W podejściu imperatywnym skrypt określa sposób końcowego stanu maszyny przez wykonanie kroków w celu uzyskania stanu zakończenia. Definiuje on, jaki stan końcowy musi być, ale także zawiera sposób osiągnięcia tego stanu końcowego. Może również składać się z pojęć związanych z kodowaniem, takich jak if-then, pętle i macierze.
Najlepsze rozwiązania
Podejście deklaratywne oddziela metodologię osiągnięcia stanu. W związku z tym można łatwiej odczytać i zrozumieć, co jest wykonywane.
Ułatwia również pisanie i definiowanie. Podejścia deklaratywne oddzielają również ostateczny żądany stan i kodowanie wymagane do osiągnięcia tego stanu.
W związku z tym nie wymusza użycia określonego podejścia, co pozwala na optymalizację.
Podejście deklaratywne zazwyczaj byłoby preferowaną opcją, w której łatwość użycia jest głównym celem. Pliki szablonów usługi Azure Resource Manager są przykładem podejścia deklaratywnego automatyzacji.
Podejście imperatywne może mieć pewne zalety w złożonych scenariuszach, w których zmiany w środowisku występują stosunkowo często, co należy uwzględnić w kodzie.
Nie ma absolutnego podejścia, które jest najlepszym podejściem do podjęcia, a poszczególne narzędzia mogą być używane w formach deklaratywnych lub imperatywnych . Najlepsze podejście do podjęcia będzie zależeć od Twoich potrzeb.