Buchbesprechung: Infrastructure as Code, Patterns and Practices
Anhand der Kombination aus Python, Terraform und GCP liefert Rosemary Wang eine praxisnahe, allgemeingĂĽltige EinfĂĽhrung in Infrastructure as Code.
- Annette Bosbach
Rosemary Wang
Infrastructure as Code, Patterns and Practices – With examples in Python and Terraform
Manning Publications, August 2022
400 Seiten, ab 28,79 US-Dollar (Hardcover oder eBook)
ISBN: 978-1-617-29829-5
Nach dem Motto "Programmieren statt Konfigurieren" gilt Infrastructure as Code (IaC) inzwischen als eine verbreitete Best Practice, bei der Code statt manueller Prozesse die Infrastruktur verwaltet und provisioniert. Wie diese Methode in der Praxis gelingen kann, beschreibt die Elektrotechnikerin Rosemary Wang in ihrem nun bei Manning Publications erschienenen Buch "Infrastructure as Code, Patterns and Practices". Anhand des Dreierteams aus Python, Terraform und – überraschenderweise – der Google Cloud Platform (GCP) erläutert sie praxisnah die Umsetzung von IaC.
Warum sie GCP den Vorzug gegenüber den Cloud Providern AWS und Azure gegeben hat, begründet Wang ganz pragmatisch: Nutzerinnen und Nutzer von Azure und AWS müssten zur Inbetriebnahme der meisten Infrastrukturelemente zunächst Supportinfrastruktur erzeugen. Das hätte im Buch nur dazu geführt, dass Codebeispiele sehr viel länger ausgefallen wären.
Schon in den beiden ersten Kapiteln, die sich mit den Grundgedanken und Design Patterns von IaC beschäftigen, zeigt sich Wang aber grundsätzlich offen für Alternativen zu dem von ihr beispielhaft gewählten Trio aus Python, Terraform und GCP.
Python organisiert
Die ersten Codebeispiele präsentiert das praxisnah angelegte Buch im dritten Kapitel, das Wang als "Patterns for Infrastructure Modules" betitelt hat. Interessant empfand die Rezensentin dabei die Vorgehensweise, grundlegende Strukturbauteile der Google Cloud Platform anhand von Python-Design-Patterns zu illustrieren. Das Tutorial zum Erstellen eines ersten Google-Cloud-Projekts, verbindet die Autorin etwa mit einer Erklärung des Singleton-Patterns.
Neuartig erscheint zudem die Präsentation des Codes: Manning druckt Listings meist vollständig ab und platziert zusätzlich "Call Outs", die ähnlich wie Erklärungsblasen in einem Flussdiagramm relevante Teile des Codes optisch hervorheben und somit noch stärker in den Fokus rücken.
IaC-Skripte sind meistens voneinander abhängig: obwohl GCP-Ressourcen weniger "needy" (anspruchsvoll) sind als die anderer Cloud Provider, gilt hier, dass Clouddienste in der Regel nur bei Erfüllung all ihrer Anforderungen wunschgemäß funktionieren. Die Autorin nutzt diese Tatsache auch als Überleitung zu fortgeschrittenen Themen wie beispielsweise der Dependency Injection. Dass Leserinnen und Leser beim Durcharbeiten des Buches quasi nebenbei eine Einführung in die intelligente Strukturierung von Python-Code bekommen, ist ein positiver Nebeneffekt.
IaC ist eine soziale Tätigkeit
Die mit IaC einhergehende Virtualisierung der IT-Infrastruktur ermöglicht das Entwickeln von Infrastruktur im Team: Wang legt den Schwerpunkt im zweiten Teil des Buches auf Methoden, die helfen, IaC-Generatorskripte wartbar zu gestalten. Als Versionskontrollsystem vertraut sie konsequent auf Git. Die Erklärungen zu Modulen, Branches und anderen Spezialitäten ist gelungen und führt Git-Neulinge behutsam an das neue Arbeitssystem heran. Testsysteme dürfen bei der Besprechung natürlich nicht fehlen. Sehr einprägsam sind Wangs Gedanken zur Verwaltung von Passwörtern und anderen empfindlichen Informationen, auf die IaC-Skripte angewiesen sind.
Im dritten Teil des Werks vertieft Wang die eher prozessualen Überlegungen noch weiter. Sie geht beispielsweise auf das Ausrollen von Änderungen in vorhandenen Systemen ein, erklärt Refactoring sowie das beim Nutzen von Cloudressourcen unvermeidliche Kostenmanagement. Aus Sicht der Rezensentin überraschend, greift Wang auch bei der Kostenverwaltung auf Python-Code zurück.
Am Ende jedes Kapitels finden sich einige Denkaufgaben, zu denen der Manning-Verlag im Anhang brauchbar kommentierte Lösungen spendiert. Das Kapitel zum Installieren der Bibliotheken und zum Ausführen der Codebeispielen hilft Quereinsteigern dabei, rasch selbst zu lauffähigem Code zu kommen.
Ein gelungener GesamtĂĽberblick
Rosemary Wang ist mit "Infrastructure as Code, Patterns and Practices" ein Buch gelungen, das das Konzept von IaC als Ganzes aus einem praxisnahen Blickwinkel erfahrbar und nachvollziehbar macht. Im Unterschied zu vielen Technologie-KochbĂĽchern, die sich einem bestimmten IaC-System widmen, zeigt die Autorin hier, wie IaC auch in andere Prozesse der IT passt und so Teil eines groĂźen Ganzen wird. Aus Sicht der Rezensentin ist die IaC-EinfĂĽhrung von Wang daher eine klare Kaufempfehlung.
Annette Bosbach
betreut die Legacysysteme der Tamoggemon Holding k.s. und befasst sich darĂĽber hinaus seit Jahren mit dem Einfluss, den Technik und Menschen aufeinander nehmen.
(map)