iX 3/2016
S. 132
Praxis
Systemverwaltung
Aufmacherbild

Unit Testing für die IT-Infrastruktur mit Serverspec

Testfall

Das Werkzeug Serverspec prüft die Konfiguration von Systemen und Anwendungen und automatisiert dadurch die Qualitätssicherung der IT-Infrastruktur. Es bedient sich bei Methoden der Softwareentwicklung wie Unit Testing und Test-driven Development. Mit Serverspec bekommt der Administrator auch virtuelle Maschinen und Container in den Griff.

Für neue Systeme ist das automatische Provisionieren die Standardprozedur zum Installieren und Einrichten von Betriebssystemen und Applikationen. Konfigurationsmanagementwerkzeuge (KM) wie Puppet oder Ansible sind weit verbreitet, aber am Horizont machen sich Docker und andere Kandidaten bereit, die auf einem Image-Ansatz fußen, der praktisch ohne Konfigurationsmanagement auskommt. Ein Werkzeug wie Serverspec zeigt, ob eine Betriebssysteminstanz oder eine Anwendungsinstallation die gewünschten Eigenschaften aufweist.

Durch die langjährige Verbreitung der KM-Werkzeuge sind in den jeweiligen Ökosystemen Helfer entstanden, die eine testgetriebene Entwicklung (Test-driven Development) ermöglichen. Bei Puppet ist dies etwa rspec-puppet, für Chef gibt es chefspec. Beides sind Erweiterungen von RSpec, einem in der Ruby-Welt bekannten Werkzeug zum Test- beziehungsweise Behaviour-driven Development. Damit lässt sich der Puppet- oder Chef-Code zur Erstellungszeit mit Unit-Tests versehen.