Das Modul 6.1 erläutert die Kernprinzipien von Agilität anhand des Beispiels von Scrum, einer Methode mit der ursprünglich Entwickler zusammenarbeiteten, bis sie bemerkten, dass etwas Administrationswissen auch nützlich ist. Damit war dann auch gleich der DevOps-Begriff geboren. Das Modul führt die wichtigsten Begriffe und ihre Zusammenhänge ein und skizziert, welche Auswirkungen das typischerweise auf eingesetzte Software hat, die man dann CI/CD-Pipeline nennt. An dieser Stelle setzt das Modul 6.2 auf, das sich mit Git als Versionsverwaltung befasst. Die Grundfunktionen von Git sind schnell erklärt, aber die dahinterliegenden Abläufe und Konventionen sind eogentlich viel wichtiger. Das Modul zeigt, wie sich Daten aus einem Repository holen lassen, wie man einen Branch erzeugt, eigene Änderungen speichert und dokumentiert und diese dann zum Review zurückgibt.
Der Serverraum im Keller ist auf Dauer eine mühsame Angelegenheit, eine Public Cloud nimmt da viel Arbeit ab, weil sich andere um viele Aufgaben kümmern. Trotz aller Metaphern über virtuellen Servern gibt es doch Unterschiede zwischen einer Cloud-Instanz und der Wrokstation unter dem Schreibtisch. Das Modul 6.3 zeigt konkret, wie sich eine Instanz in einer Public Cloud anlegen lässt, wie man dazu ein eigene Netze, Router, Firewall-Regeln, Festplattenpartitionen, Schlüsselpaare und Datenbanken einrichtet. Das lässt sich per Web-Interface, per Kommandozeile und gescriptet erledigen. Das Modul führt diese Schritte nachvollziehbar vor. Das Modul 6.4 schließlich zeigt, wie sich Container einsetzen lassen. Am techno-theretischen Überbau mit Namespaces und Cgroups zieht es schnittig auf der Überholspur vorbei und zeigt ein praktisches Beipiel, wie sich ein Container Schritt für Schritt so erweitern lässt, dass darin ein Webserver (LAMP-Stack), eine Anwendung (WordPress) und eine dafür benötigte E-Mail-Anbindung (Nullmailer) eine Heimat finden. Es erklärt die wichtigsten Features (wenige) und zeigt dabei, wie sich die Software automatisieren lässt, welche Voraussetzungen der Umgebung bestehen und wie sie sich in den Container einpasst. Dazu werden Beipiele aus einer produktiven Umgebung vorgeführt.
Teilnehmer sollten sich nicht davor fürchten, auf der Kommandozeile zu arbeiten und ein grundlegendes Verständnis von Softwareentwicklung, Virtualisierung und der Idee von Containern mitbringen, benötigen aber keine praktische Erfahrung. Ein eigenes Notebook mit einer aktuellen Linux-Distribution ist von Vorteil, aber keine Voraussetzung. Die Beispiele finden alle in virtuellen Instanzen in der Cloud statt. Die einzelnen Module dieses Workshops lassen sich auf Wunsch mit denen der Workshops 4 und 5 kombinieren.