Ein Erfahrungsbericht vom Puppetcamp 2010

Am Puppetcamp tauschen sich EntwicklerInnen von Puppet und die Community untereinander aus. Mit dabei waren dieses Jahr im belgischen Ghent auch zwei Devops von Puzzle.

Puzzler am Puppetcamp

Letztes Jahr fand in San Francisco zum ersten Mail ein Puppetcamp auf Initative von Puppet Labs statt. In diesem Jahr organisierte der langjährige Puppeteer und Devops-Evangelist Patrick Debois ein Puppetcamp in Ghent (Belgien). Simon Josi und ich haben uns das mal angesehen.

Keynote

Luke Kanies – Projektgründer von Puppet und CEO von Puppet Labs – gab in der Keynote einen Überblick über den aktuellen Stand von Puppet sowie einen Ausblick auf die nächsten Eckpunkte in der Entwicklung von Puppet und dessen Ökosystem. Wichtige Ankündigungen waren:

  • Das nächste Release von Puppet wird als Version 2.6 erscheinen. Der Sprung von 0.25 auf 2.6 unterstreicht die Stabilität sowie die Etablierung und Verbreitung von Puppet.
  • Das neue Release wird den Umstieg auf eine REST-basierte API vollenden und weitere Verbesserungen in Performance und Ressourcenverbrauch bringen. Viele dieser Änderungen sind dank Feedback und Testing der Community entstanden.
  • Das neue Release wird eine interne, Ruby-basierte DSL enthalten, welche es erlaubt, Manifests auch direkt in Ruby zu schreiben. Die externe DSL wird jedoch weiterhin bestehen und die Hauptumgebung für die meisten Puppeteers bleiben.
  • Ein weiteres Highlight war die Ankündigung der Puppet Forge, einem zentralen Verzeichnis für Puppet Module aus der Community. Puppet Forge ermöglicht das einfache publizieren, sharen und finden von Puppet-Modulen. So fördert Puppet Labs den Austausch innerhalb der äusserst aktiven Puppet Community und bietet einen Dreh- und Angelpunkt für die Entwicklung von Modulen. Die aktuelle Version der Plattform ist ein erster Wurf und weitere Ideen werden im Bugtracker gerne aufgenommen.
  • Puppet-Dashboard wird in naher Zukunft mit weiteren Neuerungen aufwarten und noch mehr Möglichkeiten für die Auswertung wie auch für die Konfigurationen der Puppet-Umgebung bieten.
  • Eine besser Integration von Puppet mit weiteren Werkzeugen wie zum Besipiel MCollective soll die Orchestrierung einer automatisierten Infrastuktur besser unterstützen.
  • David Schmitt von dasz.at arbeitet im Auftrag von Puppet Labs aktiv an der Windows-Unterstützung von Puppet.

Weiter sprach Luke Kanies über die Entwicklung von Puppet Labs als Firma hinter dem Projekt Puppet und hob die verschiedenen Einsatzgebiete von Puppet hervor. So zum Beispiel die Integration von Puppet in die Ubuntu Cloud und deren Auslieferung auf Dell-Servern.

Embedded Puppet

pcamppresentation

Der nächste Vortrag (Slides) widmete sich einem speziellen Einsatzgebiet von Puppet: Die Firma Tryphon nutzt Puppet einerseits als Buildtool um ihre embedded Multimedia-Devices zu bootstrappen, andererseits um lokale Useränderungen zu propagieren. Interessant dabei ist der Einsatz von Puppet auf embedded Geräten mit wenig Arbeitsspeicher und schwacher CPU und einem Read-Only Filesystem, sowie die Kombination eines Webinterfaces und Puppet um Änderungen z.B. an der IP-Adresse des Gerätes zu propagieren. Alle Tools von Tryphon sind unter der GPL veröffentlicht.

Puppet @ New York Stock Exchange

Rafael Brito vom New York Stock Exchange zeigte uns, wie das Operation und System Engineering Team des NYSE Puppet einsetzt. (Vortraginfos). NYSE verwaltet mit Puppet Datacenter rund um die Welt und setzt Änderungen an tausenden von Red-Hat Systemen um. Spannend ist hier, wie das Team Puppet für die komplette Entwicklung aller Systemänderungen benutzt, diese jedoch nur sehr konservativ (4mal im Jahr) anwendet. Rafael unterstreicht, wie ihnen Puppet eine enorme Nachvollziehbarkeit von Änderungen sowie deren Dokumentation ermöglicht. Der Vortrag zeigt, dass sich Puppet auch in anspruchsvollen Umgebungen mit konservativem Change-Management integrieren lässt und zum Management von geschäftskritischen Enterprise-Umgebungen beiträgt. p>

Rafael Brito wird diesen Vortrag auch am Red Hat Summit in Boston halten.

Open Spaces Day 1

openspaces

Nach einer kurzen Mittagspause startete das Nachmittagsprogramm, welches dem Konzept von OpenSpaces folgte. Alle Teilnehmenden schlagen Themen vor, die dann auf verschiedene Blöcke aufgeteilt werden. Wichtig ist, das alle selber bestimmen, was wie diskutiert, betrachtet oder vorgestellt wird. Dies führt zu einer breiten Palette an interessanten Themen und einem regen Austausch in der Community. So diskutierten wir unter anderem den Stand der Windows-Unterstützung oder Techniken für das Testen von Manifest-Änderungen.

Module Standards

Alessandro Franceschi von Lab 42 startete den zweiten und leider schon letzten Tag. Er sprach über Standards von Puppet Modulen und der Entwicklung eines Grundsets von offiziell unterstützten Modulen. Alessandro erklärte verschiedene Best Practices der Modul-Entwicklung sowie Features von Puppet, welche die Entwicklung von Modulen unterstützen. Er schloss mit dem Vorschlag zur Entwicklung einiger Standard-Module und lud zur weiteren Diskussion am Nachmittag ein

Compliance Management mit Puppet und Splunk

Jeff McCune von Puppet Labs präsentierte die Kombination von Puppet und Splunk, einem Analyse-Tool für Log-Meldungen. Damit lassen sich Änderungen innerhalb der Infrastruktur nachvollziehen, was das Compliance Management vereinfacht. Jeff integriert die Reports von Puppet (Logmeldungen der Änderungen die Puppet an einem System durchführte) mit der Versionsverwaltung (z.B. git) und dem Change-Management (z.B. einem Ticketsystem) innerhalb von Splunk, welches die Infrastruktur-Logs zentral auswertet. Änderungen auf Systemen lassen sich so ganz einfach den entsprechenden Puppet-Code Zeilen zuweisen.

Puppet @ Optiver

Die Systemingenieure von Optiver erzählten von Puppets Einsatz in einer äusserst zeit- und ressourcenkritischen Trading-Umgebung. Viele Leute haben dort Root-Zugriff auf die Systeme und nehmen den ganzen Tag hindurch Änderungen vor. Puppet bringt die Tradingsysteme auf den nächsten Tag hin wieder in den definierten Zustand. Sie zeigten weiter, wie sie Puppetänderungen über ein auf Django basierendes Webinterface umsetzen. Dieses gibt laufend Auskunft über den Zustand der Systeme und ermöglicht so einen schnellen Zugriff auf die verschiedenen Aspekte der automatisierten Umgebung.

Open Spaces Day 2leffe

Open Spaces blieb auch am zweiten Nachmittag spannend. Wir haben Themen aus den Vorträgen besprochen, die Architektur von Puppet angeschaut und sind in den Code eingetaucht. Interessant war die Vorstellung von MCollective und die Integration von Puppet. Eine derart zentrale Steuerung einer grossen Anzahl von Hosts bietet verschiedene Möglichkeiten: Zum Beispiel das Steuern von Puppet-Durchgängen oder das gleichzeitige Versetzen verschiedener Hosts in einen Wartungsmodus.

In der “Ask-Luke” Session stellte sich Luke Kanies den Fragen, Kommentaren und Anmerkungen der Puppet Community, erläuterte einzelne Konzepte und erklärte wie sich Puppet künftig neben den anderen Tools positionieren wird.

Zum Abschluss besuchten wir mit anderen Puppeteers die lokale Fedora 13 Release Party sowie verschiedene Bars in Ghents Innenstadt.

Unser Fazit

Das Puppetcamp 2010 war ein spannender Event, welcher uns neben dem technischen Austausch auch die Möglichkeit bot, E-Mail Adressen und Nicknames mit Gesichtern zu verknüpfen. Für eine vitale Community ist das sehr wertvoll. Die Vorträge haben gezeigt, dass Puppet als wichtiges Werkzeug in der Systemautomatisierung schon sehr weit verbreitet ist. Das Thema bleibt definitiv spannend und es kommen einige Neuerungen auf uns zu.

Bei Puzzle ITC beteiligen wir uns weiterhin an der Entwicklung von Puppet. Wir publizieren selber entwickelte Module und halten die Ohren im Bereich der Systemautomation für Sie offen. Haben wir Sie neugierig gemacht oder haben Sie schon länger Fragen zum Thema? Zögern sie nicht, uns zu kontaktieren. Wir beraten sie gerne, zeigen Möglichkeiten auf und unterstützen sie auf dem Weg zur (voll-)automatisierten Systemumgebung.

Kommentare sind geschlossen.