Читать книгу Handbuch Infrastructure as Code - Kief Morris - Страница 58
Wählen Sie Werkzeuge mit externalisierter Konfiguration aus
ОглавлениеZu Infrastructure as Code gehört per Definition das Spezifizieren Ihrer Infrastruktur in textbasierten Dateien. Sie managen diese Dateien getrennt von den eingesetzten Werkzeugen, mit denen Sie sie auf Ihr System anwenden. Sie können Ihre Spezifikationen mit beliebigen Tools lesen, bearbeiten, analysieren und manipulieren.
Noncode-Infrastruktur-Automations-Werkzeuge legen Infrastruktur-Definitionen als Daten ab, auf die Sie keinen direkten Zugriff haben. Stattdessen können Sie die Spezifikationen nur über die Tools selbst verwenden und bearbeiten. Die Werkzeuge besitzen dafür im Zweifel eine Kombination aus GUI, API und Befehlszeilen-Schnittstelle.
Das Problem bei diesen Closed-Box-Tools ist, dass sie die Praktiken und Abläufe einschränken, die Sie nutzen können:
Eine Versionierung Ihrer Infrastruktur-Spezifikationen ist nur möglich, wenn das Tool diese selbst unterstützt.
CI funktioniert nur, wenn das Werkzeug eine Möglichkeit anbietet, einen Job automatisch auszulösen, wenn Sie eine Änderung vornehmen.
Sie können Delivery Pipelines nur erstellen, wenn das Tool es einfach macht, Ihre Infrastruktur-Spezifikationen zu versionieren und zu verteilen.
Lehren aus dem Softwarequellcode Das Pattern zur externalisierten Konfiguration spiegelt die Art und Weise wider, wie der größte Teil des Softwarequellcodes eingesetzt wird. Manche Entwicklungsumgebungen verstecken den Quellcode, wie zum Beispiel Visual Basic for Applications. Aber für nichttriviale Systeme erkennen Entwicklerinnen und Entwickler, dass es viel leistungsfähiger ist, den Quellcode in externen Dateien zu verwalten. |
Es ist sehr schwierig, agile Entwicklungspraktiken wie TDD, CI oder CD mit Closed-Box-Tools zum Infrastruktur-Management umzusetzen.
Ein Werkzeug, das externen Code für seine Spezifikationen einsetzt, schränkt Sie nicht auf einen spezifischen Workflow ein. Sie können eine Standard-Versionsverwaltung einsetzen, Ihren Lieblingseditor, einen beliebigen CI-Server und automatisierte Test-Frameworks nutzen. Sie können Delivery Pipelines mit dem Tool aufbauen, das für Sie am besten funktioniert.