Grundlegendes zur imperativen und deklarativen Konfiguration
Es gibt ein paar verschiedene Ansätze, mit denen Sie Infrastruktur als Code und Konfiguration als Code implementieren können.
Zwei der wichtigsten Methoden des Ansatzes sind:
- deklarativ (funktional). Der deklarative Ansatz gibt an, , was der Endzustand sein sollte. Wenn das Skript oder die Definition ausgeführt wird, wird die Maschine so initialisiert oder konfiguriert, dass der fertige Zustand deklariert wird, ohne zu definieren, wie dieser endgültige Zustand erreicht werden soll.
- Imperative (Verfahren). Im imperativen Ansatz gibt das Skript die an, wie für den endgültigen Zustand des Computers, indem die Schritte ausgeführt werden, um zum fertigen Zustand zu gelangen. Es definiert, was der endgültige Zustand sein muss, aber auch, wie man diesen endgültigen Zustand erreichen kann. Sie kann auch aus Codierungskonzepten wie für, wenn-dann, Schleifenund Matrizen bestehen.
Bewährte Methoden
Der deklarative Ansatz abstrahiert die Vorgehensweise, wie ein Zustand herbeigeführt wird. Daher kann es einfacher sein, zu lesen und zu verstehen, was getan wird.
Außerdem ist es einfacher zu schreiben und zu definieren. Deklarative Ansätze trennen auch den endgültigen gewünschten Zustand und die Codierung, die erforderlich ist, um diesen Zustand zu erreichen.
Es zwingt Sie also nicht, einen bestimmten Ansatz zu verwenden, wodurch eine Optimierung möglich ist.
Ein deklarativer Ansatz wäre in der Regel die bevorzugte Option, bei der die Benutzerfreundlichkeit das primäre Ziel ist. Azure Resource Manager-Vorlagendateien sind ein Beispiel für einen deklarativen Automatisierungsansatz.
Ein imperativen Ansatz kann einige Vorteile in komplexen Szenarien haben, in denen Änderungen in der Umgebung relativ häufig auftreten, die in Ihrem Code berücksichtigt werden müssen.
Es gibt keinen absoluten Ansatz, der am besten zu ergreifen ist, und einzelne Tools können entweder in deklarativen oder imperativen Formen verwendet werden. Der beste Ansatz für Sie ist von Ihren Anforderungen abhängig.