AnsibleFest 2015 in London

Es ist wahrscheinlich gar kein Geheimnis mehr, dass wir uns seit einiger Zeit intensiver mit Ansible befassen. Dabei wollen wir unsere Infrastruktur Schritt für Schritt mit Ansible modernisieren, um die Provisionierung neuer Uberspace-Hosts zu automatisieren und um einfacher neue Features zu verteilen, die wir dann auch verlässlich mit Updates versehen können.

Um also ein wenig die Community zu beschnuppern und dabei noch einige interessante Vorträge mitzunehmen, hatte ich die Gelegenheit das erste AnsibleFest außerhalb der Vereinigten Staaten zu besuchen. So kam ich in den Genuss, mich einige Tage im mir bis dato unbekannten London umzuschauen und mich an Kleinigkeiten wie der unerwartet hohen Zahl von Radfahrern zu erfreuen.

Die Flüge und das Hotel waren schnell gebucht, Earlybird-Tickets gab's auch och und schon stand der Reise nichts mehr im Wege. So wirklich zu unserem Einsatzzweck passten die vorher bereits angekündigten Vorträge thematisch zwar nicht, aber unser Setup mit rundum ausgestatten, monolitischen Hosts ist in Zeiten von Cloud, Containern und Microservices wohl auch eher die Ausnahme denn die Regel.

Die Vorträge

Los ging es am 5. Februar um 9 Uhr, was für mich doch eher früh ist. Eigentlich sollte ich nämlich gleich im Hotel der Veranstaltung unterkommen, um nur aus dem Bett fallen zu müssen, weil ich frühe Aufstehen nicht gerade zu meinen Stärken zählt. Da machten mir Bauarbeiten in den Veranstaltungsräumen meines Hotels aber einen Strich durch die Rechnung, so dass es dann letztendlich ins Hilton London Metropole ging. Der Fußmarsch war mit 10 Minuten dann aber doch zu verkraften.

Ich kam zum Glück noch pünktlich genug um schon beim Eingang einen Kaffee zu ergattern, um mich entspannt auf die Willkommensrede von vom Ansible CEO Saïd Ziouani zu konzentieren.

Allem Anschein nach sind wir nicht die Einzigen die sich im vergangenen Jahr für Ansible entschieden haben: Gleich als ersteres verkündete er nämlich, dass das Ansiblefest dieses Jahr mit 350 Besuchern einen neuen Rekord erreicht hat. Bei der Aktivität des Ansible-Repository hat sich im Vergleich zum letzten Jahr auch jede Menge getan, so dass inzwischen jeder 3. Fork zu einem Pull-Request führt.

Daraufhin begann dann auch das offizielle Programm.

So erzählte Marius Boeru von BigStep, wie sie mit Ansible komplexe Big Data-Umgebungen für ihre Kunden automatisieren, gefolgt vom für mich besonders interessanten Vortrag über die Verdrahtung von Ansible und Vagrant von Sebastian Goettschkes. Mit Vagrant lassen sich nämlich einheitliche Systeme konfigurieren, die 1:1 den Produktiv-Umgebungen entsprechen. Das war's dann nämlich mit der "Also bei mir lief das"-Ausrede für Entwickler. Für mich ist Vagrant aber schon deswegen wichtig, weil sich unsere Playbooks und Roles so ganz entspannt in einer lokalen VM entwickeln lassen, ohne dafür regelmäßg manuell KVM-Instanzen mit Kickstart im Rechenzentrum erstellen zu müssen. (Wobei wir das auch noch automatisieren wollen, keine Frage!)

Ganz spannend ging es dann auch weiter, nämlich mit dem Talk von Ali Asad Lotia zum Thema The Devs Are Opsing "und warum das gar nicht so schmerzhaft ist". Sein Arbeitgeber stellt u.a komplexe Spielfeld-Analysen von American Football-Spielen bereit und hat je Stadion ein halbes Rack aufgebaut, mit dem die erfassten Daten verarbeitet werden. Die gesamte Infrastruktur bestand aus einem "Haufen Shellscripte" und viel "manuellem Gefrickel" und wurde von einem kleinen Team so umgebaut, dass die Bare Metal-Server mit Ansible automatisch deyployed werden können, sobald das Rack aufgebaut wurde.

Die wenigen anwesenden Windows-Admins konnten sich derweil darüber freuen, dass sich laut des Vortrags von Jon Hawkesworth ihre Windows-Systeme nun ebenfalls mit Ansible (mit einer deftigen Prise PowerShell-Magie) managen können. Ich habe mir während des Talks dann aber doch lieber einen Kaffee besorgt.

Als Walter Bentley von Rackspeed dann noch erzählte, wie sie aus den Open Source-Komponenten von OpenStack mit Ansible ein vollständig anpassbares Infrastructe as a Service-Projekt gebaut haben, das aus nur einer Ansible-Role erzeugt werden kann, war mir dann auch klar, dass unsere Entscheidung für Ansible genau die richtige war. Aber dazu komme ich noch.

Ansible 2.0

Ein Status-Update gab's dann vom Ansible-Entwickler James Cammarata zum Status von Ansible 2, das schon Ende März erscheinen soll:

"Ansible 2 is coming, and it’s going to be awesome!"

(Heute wissen wir, dass das mit "Ende März" dann doch nichts geworden ist. Wir bleiben aber dran und sind trotzdem gespannt auf Ansible 2.0. - Anm. d. Verfassers Mitte Mai)

Ansible 2 soll nämlich vollständig abwärtskompatibel sein, obwohl viele der Altlasten der letzten Jahre durch Refactoring des gesamten runner-Codes, der auf dem Ziel-Host die eigentliche Ansible-Magie ausführt, wegfallen werden. Der Code soll dafür komplett von Tests abgedeckt werden und Ansible wird zu den lang ersehnten Rollbacks in der Lage sein.

Wir werden unsere Roles und Playbooks auf eine Test-Umgebung anwenden, sobald Ansible 2.0 als stabil genug für den produktiven Einsatz gilt.

Vielfalt und Einfachheit

Wenn mir das AnsibleFest etwas gezeigt hat, dann dass es egal ist, wie unser Setup aussieht - Ansible erfüllt zwei wichtige Aspekte für uns: Es ist flexibel genug um unsere vorhandene Infrastruktur langsam aber sicher zu automatisieren und besser wartbar zu machen.
Es ist einfach genug, um schnell damit loslegen und Ergebnisse vorweisen zu können, weil die Lernkurve sehr gering ist. Eins ist sicher: Über den Begriff "Ansible" werdet ihr hier öfter stolpern!

Dieser Artikel hätte übrigens schon vor Monaten veröffentlicht werden sollen, dann kamen aber 3 Wochen Krankheit des Autors und diverse andere Ablenkungen dazwischen. Ups.