Infrastructure as actual Code
Ich bin Entwickler. Als ich «Infrastructure as Code» (IaC) zum ersten Mal gehört habe, vermutete ich folgende Bedeutung hinter dem Begriff: Ich provisioniere Infrastruktur mit der gleichen Programmiersprache, wie ich meine Applikationen programmiere – macht Sinn!
Schnell habe ich realisiert, dass IaC etwas anderes bedeutet: Ich provisioniere Infrastruktur mit Konfigurationstemplates, die neu für mich sind. Ich muss mich mit ihrem Format und ihrer Funktionsweise auseinandersetzen. Diese Templates liegen normalerweise nicht im Repository meiner Applikation, sondern in monolithischen Repositories zur Provisionierung der unternehmensweiten Infrastruktur. Der erste Kontakt mit solchen Repositories, typischerweise bestehend aus tausenden von Zeilen YAML (oder JSON oder HCL), wirkt überwältigend – im negativen Sinn.
Nun stellt sich heraus, dass Entwicklungs-Frameworks existieren, die meine initiale Interpretation von IaC wahr werden lassen! Dazu gehören die beiden Open Source-Projekte AWS Cloud Development Kit (CDK) und Pulumi. Am Beispiel einer einfachen Webapplikation zeigt dieser Artikel Vorteile auf, die solche Entwicklungs-Frameworks mit sich bringen.




