101 Puppet Module

Die Integration der Systemumgebung(en) in Puppet wächst bei Puzzle von Tag zu Tag, mittlerweile sind wir bei über 100 Puppet Modulen angelangt.

Vor kurzem schrieben wir eine kleine Einführung in Puppet sowie die Grundüberlegungen, eine Umgebung voll automatisch zu verwalten. Eines der zentralen Elemente für die Organisierung von Recipes, den Konfigurationsbeschrieben, sind Module. Module bündeln dabei die verschiedenen Elemente einer Puppet-Konfiguration in einer logischen Einheit. Neben Recipes, bietet Puppet weiter eigene Resource-Types, Facts (Informationen über das Hostsystem) oder Funktionen (Erweiterungen der Sprache) an, welche logisch in den Modulen organisiert werden. Sie bilden somit eines der zentralen Elemente einer Umgebung, die mit Hilfe von Puppet verwaltet wird.

Flexibilität

Die verschiedenen Features der Puppet-eigenen externen DSL (Domain Specific Language) ermöglichen der System IngenieurIn, die Module in sich selbst nochmals sehr modular aufzubauen. Einerseits können so die kleinen (oder grösseren) Unterschiede von Betriebssystemen adressiert werden. Auf der anderen Seite ermöglicht dies, Module für viele verschiedene Anwendungszwecke zu schreiben, ohne Konfigurationsbeschriebe wiederholen zu müssen.

Module gliedern sich somit meistens nach dem Service, welchen sie beschreiben und konfigurieren oder fassen wiederum verschiedene Module zu einem Meta-Modul zusammen, um ein Zusammenspiel von verschiedenen Modulen resp. Services zu beschreiben.

Module der Puppet Community

In der wachsenden Puppet Community finden sich verschiedene Quellen, unter welchen Module gefunden werden können. Dies kann einerseits zur Inspiration nützlich sein, anderseits kann unter Umständen das Modul selber gleich verwendet werden. Dank dem modernen Versionskontrollsystem git ist das sogenannte forken (das Führen eines eigenen Entwicklungstrees eines Projektes) sehr einfach möglich. Damit kann ein Entwickler auf die Entwicklungsgeschichte zurückgreifen und einfach eigene Änderungen einpflegen. Diese können wiederum von der ursprünglichen EntwicklerIn übernommen werden. (Falls sie das Thema git neugierig gemacht hat, so schauen sie bald wieder vorbei! In Kürze werden wir eine Einführung zu git präsentieren).

Die gemeinsame Durchführung von verschiedenen Projekten mit ein und demselben Modul führt zu immer ausgereifteren und umfangreicheren Modulen, welche komplexe Konfigurationen ermöglichen.

Module von Puzzle ITC

Das Operations-Team von Puzzle benützt verschiedene bereits bestehende Module, hat viele davon erweitert und auch sehr viele Module neu geschrieben. Mittlerweile sind wir bei über 100 Modulen angelangt und es werden täglich mehr. Alle Module sind unter einer freien Lizenz veröffentlicht und wir versuchen unsere Änderungen möglichst in die ursprünglichen Module zurück zugeben. Eine kleine Auswahl von Modulen finden sie unter unserem GitHub Account. Weitere Module folgen in Kürze. Zudem arbeiten wir an der Vereinfachung des Veröffentlichungsprozesses von Modulen. Bleiben Sie also gespannt!

Für die Visualisierung unseres Modul-Repositories haben wir mit Wordle die untenstehende Tag Cloud erstellt, welche der Creative Commons Attribution United States Lizenz untersteht. Die Gewichtung der verschiedenen Modulnamen entspricht dem Codeumfang der Module.

tag_cloud

Kommentare sind geschlossen.