DevOps Camp in Nürnberg

Da war ich also. Wieder viel zu früh an einen halb leeren Bahnsteig. Die Bahn hatte natürlich Verspätung und ich war leicht angespannt. Es ging nach Nürnberg. Genauer gesagt ging es zum DevOps Camp. Ein Barcamp für den Bereich DevOps. Was genau ein DevOps macht und worin seine Aufgaben bestehen, sollte ich dort erfahren. Also war noch Vieles ungewiss. Wie würde ich von den anderen aufgenommen werden? Ich hatte ja quasi keine Ahnung und konnte noch nicht viel beitragen. Ich konnte ja quasi nur zuhören. Naja. Wird schon.
Quelle

Es war der 6. Mai und es war eines dieser frühen Sommerwochenenden. Es war also sehr warm.
Als dann endlich der ICE einfuhr und ich meinen Platz gefunden hatte (was wie immer ein Kampf war), konnte ich mich endlich zurücklehnen und meinen Reisefilm anschauen. Ich hatte mir für die Hinfahrt "Steve Jobs" ausgeliehen. Ein sehr spannender, autobiografischer Film über Steve Jobs (das war jetzt überraschend oder?).

Das Barcamp war für 3 Tage angesetzt. Am Freitag, also der 6. Mai, sollte am Abend ein kurzer Umtrunk stattfinden. Dort sollten sich dann alle Mitglieder vorstellen und einander kennenlernen. Am Samstag und Sonntag sollten dann einige Sessions stattfinden. Außerdem sollte dann am Sonntag eine kleine Feedbackrunde sein.

Das Barcamp beginnt

Als Austragungsort für das Camp wurde der Z-Bau in Nürnberg gewählt. Ein sehr interessanter Ort. Zudem war er sehr gut ausgestattet. Es gab kalte Getränke, sehr leckere Speisen und natürlich WLan. Also alles um einen Informatiker glücklich zu stimmen. Von Anfang an fühlte man sich sehr heimisch und die ersten Gespräche wurden geführt. Um 19:00 wurde dann das Camp offiziell eröffnet und jeder Besucher stellte sich vor. Man sollte seinen Namen und ein Stichwort sagen:
"Tim Friedrich, Docker"

So ging es dann durch die ganzen Reihen, bis sich jeder der ca. 100 Besucher vorgestellt hatte. Das dauerte natürlich ein wenig. Danach nahm man sich ein Bier oder eine Mate und vertiefte sich wieder in Gespräche.

Lass' die Sessions beginnen

Samstagmorgen in meinem bescheidenen kleinen Hotelzimmer: Die Sonne lachte in mein verschlafenes Gesicht. Whooot!

Um 9:00 Uhr sollte das Frühstück im Z-Bau beginnen. Es war 8:30 Uhr. Toll. Verschlafen. Also duschte ich schnell, zog mich an und schnappte mir noch schnell ein Brötchen aus dem Frühstücksraum. Dann eilte ich schnell zum Z-Bau und fand ein Wahnsinns-Frühstück-Buffet vor. An Alles wurde gedacht: Brötchen, Croissants und natürlich an Kaffee... mein Lebenselixier :-D
Um 10.30 Uhr wurden dann die Sessions vorgestellt.
Das heißt, jemand ging nach vorn an den Projektor, stellte kurz sein Thema vor und pinnte dann einen Zettel an die Sessionwand.
So unkompliziert und einfach wurde also der Samstag dann durchgeplant und die ersten Sessions begannen dann um 11 Uhr. Also war Alles durchorganisiert. Aber nicht durch einen Veranstalter, sondern durch die Teilnehmer selber. Das macht so ein Barcamp aus. Die letzte Session war dann 18 Uhr zu Ende. Ich fasse mal die wichtigsten Erkenntnisse zusammen (also so wie ich es verstanden habe... ):

Microservices

  • Abhängigkeiten auflösen und in einzelne Services splitten
  • Services sollen aber trotzdem nicht allzu viel miteinander reden
  • Services so klein wie möglich kapseln, aber siehe ein Punkt vorher
  • Services reden über Schnittstellen miteinander (Rest, SOAP, etc.)
  • Services reden über eine Sprache miteinander (XML, JSON)
  • Services selber können aber in verschiedenen Programmiersprachen realisiert sein
  • Services werden an einer Stelle registriert

Kubernetes + Etcd + Rancher - Docker like a boss

siehe Präsentation

Infrastructure as Code mit AWS CloudFormation

  • Infrastructure kann in Cloudformation mit JSON Code beschrieben werden
    • Netzwerk aufbauen
    • Loadbalancer aufbauen
  • Maschinen starten
  • Maschinen initialisieren
  • Script lässt sich noch mit Präprozessoren optimieren

Continuous Delivery of Continuous Delivery

Sachen die für Continous Delivery benötigt werden, werden in eine Vagrant Maschine gepackt und dann immer wieder benutzt und angepasst.

Docker Best Practices

  • COPY statt ADD benutzen
  • Wenn man testen will, soll man so viel Layer wie möglich verwenden. Wenn man irgendwo produktiv Docker einsetzt, sollte man so wenig wie möglich Layer benutzen
  • Layer sind Befehlszeilen im Dockerfile, daher: Viele Befehle, die man verknüpfen kann, in eine Zeile packe und danach dann immer aufräumen (apt-get clean usw.)
  • stabiles und kleines Basesystem benutzen
  • Aufräumen
  • Alpine als Betriebssystem macht schon Sinn, braucht aber noch Zeit

Und damit war der erste Sessiontag auch "schon" zu Ende. Endlich! Um ehrlich zu sein... mir hat ein wenig der Schädel gebrummt.
Ich habe viele Ideen aufgeschnappt und habe viel Wissen mitgenommen. Trotzdem wollte ich nicht untätig auf dem Hotelzimmer sitzen und daher schaute ich mir kurzerhand die Stadt an.
An diesen Samstag war in Nürnberg die blaue Nacht. An diesen Abend wird offiziell der Kultursommer in Nürnberg eingeläutet und die ganze Stadt färbt sich blau. Sieht sehr nett aus und die Stadt war natürlich brechend voll.
Ich konnte leider nicht bis zum Schluss bleiben. Damn!
Am nächsten Tag war ja der nächste Sessiontag und jap... dieser begann auch wieder um 9 Uhr.

Ein Sessiontag kommt nicht allein...

Aus den vorhergehenden Tag konnte man schon folgendes erkennen: Ich bin absolut kein Frühaufsteher. Und besonderst nicht an einen Sonntag. So war das Aufstehen an diesen Tag doppelt hart. Naja. Dafür hat das Frühstück im Z-Bau wieder entschädigt. Schnell oben im ersten Stock ein paar belegte Brötchen geschnappt, noch schnell eine Mate geköpft und dann runter in die Sonne gesetzt.

So lässt es sich leben. Der zweite Sessiontag begann also viel entspannter und einige Gesichter sahen auch deutlich gezeichnet aus.
Sehr gut. Dann falle ich nicht mit meinen Augenringen auf!

Und dann begann die gleiche Prozedur wie am Vortag: Teilnehmer stellten Sessions vor und ein Sessionplan entstand. Am 2. Tag waren aber deutlich weniger Sessions und dadurch war alles ein wenig ruhiger. Puh
Unter anderen wurde das Tool Dokku vorgstellt: Dieses Tool baut quasi aus Git Repos mit Heroku Magic eigenständige Docker Container. Dieses System kann auch mit Replikationen umgehen und baut auch auf vorhandene Container auf. Also ein sehr einfaches Buildsystem für Docker Container. Also alles in Allem sehr cool... aber auch sehr viel Magic.

Danach folgten noch mehr Tools. Erfahrene DevOps stellten ihre Tools vor und daraus entstand eine Liste bei Github. Die kann nun jeder einsehen und erweitern. Sowas ist richtig cool.
Für mich war dann der Tag um 15.30 Uhr zu Ende. Der Feedbackrunde konnte ich daher leider nicht mehr beiwohnen. Zu dieser Zeit saß ich bereits in einen völlig überfüllten Zug und schaute meinen zweiten Reisefilm: Absolutely Anything.
Im Ernst... ja es spielt Simon Pegg mit und ja es ist britischer Humor und so weiter... aber auf den Punkt gebracht: Der Film ist mehr als schrecklich. Und Simon Pegg hat nicht mal seine richtige Synchronstimme. Wer dafür den Grund kennt... schreibt mir mal einen Kommentar.
Gegen 20 Uhr fuhr ich dann in Leipzig ein und freute mich auf meine Feierabendlimonade.

Fazit

Wow. Jetzt werden wir richtig seriös hier in diesen Beitrag. Mir fiel aber keine bessere Zwischenüberschrift ein.

Ich muss für mich folgendes feststellen: Ich habe mir vor den Event viel zu viele Gedanken gemacht. Wann findet eine Session statt? Muss ich mich irgendwo für eine Session anmelden? Muss ich generell etwas dafür mitbringen? Tablet? Laptop? Bullshit!

Ein Barcamp ist nicht geplant und das ist der Schlüssel zum Erfolg. Alles passiert spontan, aber dennoch geordnet. Alles ist total friedlich und nett. Jeder versucht den anderen zu helfen. Einfach anquatschen und Erfahrungen austauschen. Und seien wir mal ehrlich: Jeder hat irgendwo Erfahrungen, die er berichten kann. Mein Tipp für andere: Geht hin, macht euch keine Gedanken über Konventionen und genießt einfach das freundschaftliche Miteinander unter eigentlich fremden Menschen. Und genießt 'ne Mate für mich mit.

(Dieser Beitrag wurde unter keinen Umständen von Club Mate gesponsert. Aber im Ernst... wenn ihr wollt lasst einfach ein Kommentar da!)

Comments