Schneller, Puppet, schneller!

Puppet 5.0: Jetzt mit JSON, Ruby 2.4 und höherer Geschwindigkeit

Dominik Mohilo

Das Konfigurationsmanagementsystem Puppet ist in der schnelllebigen IT-Welt ein echter „Oldie“: Vor nunmehr zwölf Jahren wurde das Open-Source-Tool erstmals veröffentlicht. Für die neueste Version, Puppet 5.0, wurde die Performanz verbessert und einige Funktionen hinzugefügt. JSON ist zudem nun Standard und die verwendete Version von Ruby wurde ebenfalls auf Stand gebracht.

Entwickler wie Nutzer haben sich es gleichermaßen herbeigesehnt, nun ist es so weit: Puppet 5 wurde veröffentlicht und hat einige Neuerungen im Gepäck. Neben den Funktionen, die die neueste Version enthält und auf die weiter unten eingegangen wird, war eines der Hauptziele des Releases, eine einheitliche Versionierung zu erreichen. Nun haben der Puppet Agent, PuppetDB und der Puppet Server alle die Versionsnummer 5, was ein erster Schritt in Richtung einer einheitlichen Plattform gewertet werden kann.

Puppet 5 – die Features

Geschwindigkeit ist nicht zwangsläufig das Steckenpferd von Puppet, wie Joachim Arrasz und Sascha Rüssel in ihrem großen Vergleich der Tools Puppet, Chef und Ansible ausgearbeitet haben. Da Puppet aber das wohl am meisten verbreitete Konfigurationsmanagementsystem auf dem Markt ist, wird es Nutzer des Open-Source-Tools freuen, dass an genau dieser Schraube für Puppet 5 gedreht wurde.

Laut dem Blogeintrag von Eric waren die Laufzeiten des Puppet-5-Agenten zu 30 Prozent geringer, der Durchschnitt ging von 8 auf 5.5 Sekunden hinab. Im Vergleich zu Puppet 4 war die Prozessorlast des Puppet-5-Servers um 20 Prozent geringer – in sämtlichen Szenarios. Generell ging die Prozessorlast im Vergleich zum Vorgänger auch bei der Nutzung der PuppetDB und PostgreSQL zurück. Auf über bis zu 10 Prozent Zeitersparnis können sich Nutzer beim Kompilieren von Catalogs freuen, Puppet 5 ist zudem fähig, ohne Leistungseinbußen auf bis zu 40 Prozent mehr Agenten zu skalieren.

Die Vorteile der Konfigurationsmanagementsysteme Puppet, Chef und Ansible

Mit der neuen Funktion call(name, args...) können Funktionen nun per Name aufgerufen werden. Eine weitere neue Funktion ist unique, die nun direkt in Puppet vorhanden ist und nicht mehr die Verwendung vom stdlib-Modul voraussetzt. Die neue Version der Funktion ist ab jetzt auch darauf ausgerichtet, mit Datentypen wie Hash und Iterable umgehen zu können.

Eine tiefgreifendere Änderung ist der Wechsel von PSON auf JSON. Ab sofort werden Node-Informationen, Kataloge und Metadaten von Dateien standardmäßig in JSON von den Agenten heruntergeladen. Dadurch wollen die Macher von Puppet eine möglichst reibungsfreie Interoperabilität mit anderen Sprachen und Tools sowie eine ebenfalls höhere Performance gewährleisten. Letztere soll vor allem dann zum Tragen kommen, wenn der Master JSON Facts und Reports vom Agenten parst.

Zu den weiteren Änderungen gehört der Wechsel auf MRI Ruby 2.4, da die derzeit verwendeten Versionen veraltet sind. Für den Server wird zukünftig auf jruby9k gesetzt. Und wo wir gerade beim Server sind: Der Service für Puppet-Server-Metriken, der zuvor lediglich für die Enterprise-Version verfügbar war, ist nun auch in der Open-Source-Variante nutzbar.

Lesen Sie auch: Ansible, Puppet, Chef: Die Tools im Vergleich

Eine vollständige Liste aller Änderungen gibt es im Ticketsystem, in der Dokumentation von Puppet 5 finden sich detailliertere Informationen zum Release. Herunterladen kann man sich die neueste Version von Puppet hier.

Verwandte Themen:

Geschrieben von
Dominik Mohilo
Dominik Mohilo
Dominik Mohilo studierte Germanistik und Soziologie an der Goethe-Universität in Frankfurt. Seit 2015 ist er Redakteur bei S&S-Media.
Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.