Testgetriebene Infrastrukturentwicklung mit Ansible und Molecule
Wenn die IT-Infrastruktur mit Code gemanagt wird, muss er automatisiert testbar sein. Molecule ermöglicht die testgetriebene Entwicklung für Ansible.
- Jonas Hecht
Infrastructure as Code (Infrastructure as Code, IaC) bedeutet, die Infrastruktur für Rechenzentren über Definitionsdateien zu managen statt über die Konfiguration physischer Hardware oder interaktive Werkzeuge. Ein beliebtes Werkzeug dafür ist das DevOps-Tool Ansible. Dieser Infrastrukturcode sollte nach den Prinzipen des Test-driven Development entwickelt werden, wie es bei der Softwareentwicklung schon lange üblich ist. Um Ansible-Rollen zu testen, bietet sich das mächtige Framework Molecule an.
Das Beschreiben und Steuern von Infrastruktur durch Code bietet viele Vorteile: Die Dokumentation kann nicht veralten, denn sie liegt als Quellcode versioniert vor. Dabei ist sie direkt automatisiert ausführbar und erzeugt die gewünschte Infrastruktur. Außerdem werden so Kopfoligopole vermieden, bei denen wichtiges Know-how zum Betrieb der Infrastruktur lediglich in den Köpfen weniger Leute steckt. Gleichzeitig ist endlich für das ganze Team transparent, wer was wann wie an den Infrastrukturkomponenten verändert hat – sogar über Teamgrenzen hinweg. Nicht zuletzt abstrahieren moderne IaC-Werkzeuge wie Ansible mit ihren Modulen von vielen kleinen Details. Das reduziert den Entwicklungs- und vor allem den Wartungsaufwand.
Doch wenn nur noch Quellcode geschrieben wird, unterscheidet sich die Infrastrukturentwicklung nicht mehr von der "normalen" Softwareentwicklung. Das wirft die Frage auf, wie es eigentlich um die Grundsätze der modernen Softwareentwicklung beim Thema Infrastructure as Code bestellt ist. Heute wird wohl kaum jemand ein Softwareprojekt beginnen und dabei auf die Vorzüge des Einsatzes von agilen Methoden, testgetriebener Entwicklung (Test-driven Development, TDD) und Continuous Integration (CI) verzichten wollen.
Das war die Leseprobe unseres heise-Plus-Artikels "Testgetriebene Infrastrukturentwicklung mit Ansible und Molecule". Mit einem heise-Plus-Abo können Sie den ganzen Artikel lesen.