Wenn (veränderliche!) IT-Infrastruktur durch Systeme wie Puppet oder Ansible automatisiert wird, wird sie durch "Code" konfiguriert und man spricht von Infrastructure as Code. In der Entwicklung (DevOps!) sollten dann Tests auf die Erzeugnisse in sogenannten CI-Pipelines vorliegen. Mit der Jenkins Job-DSL/dem Jenkinsfile lässt sich eine solche Pipeline eng am Code alternativ zu beispielsweise GitHub/Travis spezifizieren.
Angelehnt an Puppet, aber leicht abstrahierbar, entwickelt der Vortrag einen Überblick über Testmethodik, -ausführung und -Pipelining, bevor in einer kurzen Demo mit der Jenkins-Serverspec Tests auf einer simulierten Infrastruktur durchgeführt werden.
Skills
Besucher sollten Vorkenntnisse in erstens einer beliebigen Configuration-Management-Sprache haben und zweitens den grundsätzlichen Aufbau verteilter Systeme kennen. Drittens ist ein grundsätzliches Verständnis von CI-Prozessen erforderlich. Kenntnisse in Jenkins, Serverspec und Ruby sind nicht erforderlich, im Fokus steht der prinzipielle Aufbau einer Pipeline, die konkrete Instanziierung ist nur das Beispiel.
Lernziele
Besucher sollen Motivation, Methodik, Aufbau und Pipelining von Tests auf Infrastruktur-Code kennen lernen, wenn diese Infrastruktur nicht immutable gehalten werden kann/soll - für Applikations-Container ist der Ansatz weniger geeignet. Weiterhin soll der Besucher anhand der Beispiele einen Überblick über mögliche Instanziierungen der Prinzipien sowie Alternativen gewinnen.
// Referent
Christopher J. Ruwe
hat in und nach seinem Studium der BWL festgestellt, dass er doch lieber etwas Vernünftiges hätte lernen sollen und danach parallel zum Beruf Informatik an der Fernuni Hagen aufgesattelt. Im Beratungsalltag als DevOps-Consultant und -Engineer (offiziell) oder als System-Archäologe (eigentlich) wäre er doch lieber Gärtner geworden. Man könnte dann Rosen züchten ...