Infrastructure as Code ist angewandte DevOps Kultur. Infrastruktur zum Betrieb von Software wird durch Software erzeugt. Je komplexer und ausdifferenzierter diese Infrastruktur ist und je mehr Menschen an der Entwicklung beteiligt sind, desto wichtiger werden die aus der “normalen” Softwareentwicklung bekannten Vorgehensweisen: Neben der Wahl eines modularen Architekturansatzes und der vollständigen Versionierung des Codes sind auch hier Automatisierte Tests, Continuous Integration und Continuous Deployment Voraussetzung für hohe Qualität bei gleichzeitig hoher Entwicklungsgeschwindigkeit. Nach einem kurzen Überblick im Vortragsstil (max 20min) über den kompletten Lifecycle einer IaC-getriebenen Infrastruktur, werden wir uns in der anschließendenden HandsOn Session in (testgetriebne) IaC Entwickung stürzen. Ziel ist es, die lokale Entwicklung einer Infrastruktur-Komponente nebst Unit- und Integrationstest auf dem eigenen Laptop durchzuspielen, sowie den Aufbau einer Build- und Deployment Pipeline für diese Infrastruktur-Komponente auf einem zentralen Build-Server zumindest nachzuvollziehen. Zum Einsatz kommen die Tools Virtualbox bzw. Docker, Vagrant, Chef, Chefspec, Testkitchen, Berkshelf, Chef-Server sowie git und Jenkins. Die lokale Entwicklungsumgebung werden wir während der Session einrichten. Bitte bringt einen Laptop mit Unix-artigem Betriebssystem (Linux oder OSX) mit (weil der Umgang mit den og Tools unter Windows eine Geschichte für sich ist…).