Puppet bekommt ausdrucksstärkere Konfigurationssprache
Puppet Labs tauscht bei seinem DevOps-Werkzeug die Ruby-DSL-Modul gegen eine native Implementierung aus, durch die Administratoren mehr Flexibilität beim Schreiben ihrer Deployment-Routinen erhalten sollen.
- Alexander Neumann
Im Zuge der Freigabe von Puppet 3.2.1, dem ersten öffentlichen Release des 3.2.x-Strangs des DevOps-Werkzeugs, hat das dahinter stehende Unternehmen Puppet Labs eine Programmiersprache eingeführt, mit der Administratoren mehr Flexibilität beim Schreiben ihrer Deployment-Routinen erhalten sollen. Außerdem ist es nun möglich, externe Zertifizierungsstellen einzubringen. Dadurch können nun Unternehmen ihre hauseigenen Autorisierungssysteme in Puppet-Installationen nutzen. Letzteres ist in Zusammenarbeit mit der Mozilla Foundation entstanden.
Puppet ist ein quelloffenes Konfigurations-Management-Framework, für das Puppet Labs außerdem darauf aufsetzend eine kommerziellen Variante bietet. Mit dem Werkzeug spezifiziert der Administrator oder Entwickler die gewünschten Einstellungen bislang zumeist in einer domänenspezifischen Sprache (DSL) – die eigentliche Ausführung auf den Maschinen ist dann Sache von Puppet.
Die native Puppet-Sprache und der damit einhergehende Parser wurden nun vollständig neu implementiert, beispielsweise verwendet sie nun eine Expression- statt einer auf Statements basierenden Grammatik. Anwender sollen damit in der Lage sein, auch komplizierte Konfigurationen auf einer lesbaren und einfach wartbaren Art und Weise beschreiben zu können. Insbesondere lässt sich die Sprache verwenden, um mehrere Systeme als eine einzelne Gruppe zu verwalten, statt jedes einzeln zu administrieren. Sie ermöglicht außerdem, große Gruppen von Services als eine Einheit zu automatisieren.
Die Entwicklung der neuen Sprache kommt in Folge der Entscheidung, das bislang präferierte Ruby-DSL-Modul nicht mehr weiter unterstützen zu wollen. Dieses bot eine Reihe über Puppets native Sprache hinaus gehende Features, verfügte anscheinend aber auch über etliche schwer anzugehende Fehlerrisiken. Richtig abgeschlossen ist die Arbeit an der neuen Sprache noch nicht, so benötigt der Parser noch einiges an Arbeit, um die neuen und die alten Befehle gleichermaßen zu interpretieren. Deswegen ist er auch noch nicht als Standard eingerichtet.
Puppet 3.2 ist die erste Version des Konfigurations-Management-Frameworks, die OpenWRT, eine Linux-Distribution für WiFi-Roter und andere Embedded-Systeme, unterstützt. Das kommerzielle Puppet Enterprise lässt sich außerdem schon für die Provisionierung, Konfiguration und die Verwaltung der Workloads in VMwares neuem vCloud Hybrid Service einsetzen. VMware hatte zu Anfang des Jahres bekannt gegeben, Puppet Labs mit 46 Millionen US-Dollar Risikokapital zu fördern. (ane)