Kurzfassung
Pulumi ist eine Infrastructure-as-Code-Plattform, die domänenspezifische Konfigurationssprachen durch allgemeine Programmiersprachen ersetzt und Entwicklern ermöglicht, vertraute Konstrukte wie Schleifen, Funktionen und Klassen zur Definition von Cloud-Infrastruktur zu nutzen.
Was ist Pulumi?
Pulumi wurde 2017 als Alternative zu HCL-basierten Tools wie Terraform gegründet. Anstatt eine neue Konfigurationssprache zu erlernen, schreiben Ingenieure Infrastrukturdefinitionen in TypeScript, Python, Go, Java oder C#. Das Pulumi SDK stellt Ressourcentypen für alle großen Cloud Provider bereit, die wie jede andere Bibliotheksabhängigkeit konsumiert werden.
Dieser Ansatz ermöglicht es Teams, Software-Engineering-Best-Practices auf Infrastrukturcode anzuwenden: Unit-Tests mit Standard-Test-Frameworks, Code-Wiederverwendung über Package Manager (npm, PyPI) sowie IDE-Unterstützung mit Typprüfung und Autovervollständigung. Das State Management von Pulumi ist mit verschiedenen Backends kompatibel, darunter Pulumi Cloud, AWS S3 und Azure Blob Storage.
Pulumi bietet auch die Pulumi Automation API, mit der Infrastrukturoperationen programmatisch in Anwendungen oder Deployment-Workflows eingebettet werden können, was erweiterte Anwendungsfälle wie die dynamische Umgebungsbereitstellung in CI-Pipelines ermöglicht.
Warum ist Pulumi relevant?
- Entwicklerfreundlich: Die Verwendung vertrauter Programmiersprachen eliminiert die Lernkurve von HCL und nutzt vorhandene Entwickler-Skills
- Testbarkeit: Infrastrukturlogik kann mit Standard-Test-Frameworks vor dem Deployment unit-getestet werden
- Ausdrucksstärke: Vollständige Programmiersprachen-Konstrukte erlauben die prägnante Darstellung komplexer Infrastrukturmuster