Читать книгу Handbuch Infrastructure as Code - Kief Morris - Страница 119

Umgebungen, Konsistenz und Konfiguration

Оглавление

Da mehrere Umgebungen Instanzen des gleichen Systems betreiben sollen, sollte die Infrastruktur in jeder Umgebung konsistent sein. Konsistenz über Umgebungsgrenzen hinweg ist einer der Hauptgründe für Infrastructure as Code.

Unterschiede zwischen Umgebungen sorgen dafür, dass es auch zu unterschiedlichem Verhalten kommen kann. Testen Sie Software in einer Umgebung, kann es sein, dass Probleme in einer anderen Umgebung nicht gefunden werden. Es ist sogar möglich, dass Software in manche Umgebungen erfolgreich deployt werden kann, während dies bei anderen nicht möglich ist.

Andererseits werden Sie normalerweise bestimmte Unterschiede zwischen Umgebungen benötigen. Testumgebungen sind vielleicht kleiner als Produktivumgebungen. Verschiedene Personen haben eventuell unterschiedliche Berechtigungen in den verschiedenen Umgebungen. Umgebungen für unterschiedliche Kunden besitzen unterschiedliche Features und Eigenschaften. Zumindest Namen und IDs werden sich unterscheiden (appserver-test, appserver-stage, appserver-prod). Daher müssen Sie mindestens ein paar Aspekte Ihrer Umgebungen konfigurieren.

Zentraler Aspekt bei Ihren Umgebungen ist Ihre Test- und Auslieferungsstrategie. Wird der gleiche Infrastruktur-Code auf jede Umgebung angewendet, können Sie beim Testen in der einen Umgebung eher darauf vertrauen, dass er auch in anderen Umgebungen funktionieren wird. Das können Sie aber nicht, wenn sich die Infrastruktur zu sehr zwischen den Instanzen unterscheidet.

Eventuell können Sie Ihr Vertrauen stärken, indem Sie den Infrastruktur-Code mit verschiedenen Konfigurationswerten testen. Aber es wird nicht sehr praktikabel sein, viele verschiedene Werte zu testen. In solchen Fällen brauchen Sie vielleicht eine zusätzliche Validierung, beispielsweise durch Post-Provisioning-Tests oder das Monitoring der Produktivumgebungen. Detaillierter gehe ich auf das Testen und Ausliefern in Kapitel 8 ein.

Handbuch Infrastructure as Code

Подняться наверх