Allgemein, DevOps

AMCS Hackathon

Am Freitag den 09. Dezember, kurz vor dem Dritten Advent, war es endlich soweit. Wir veranstalteten den ersten eigenen Hackathon der AMCS. “Internet of Thinkers” haben wir uns ganz plakativ auf die Fahne geschrieben. Warum: weil gerade Themen im Bereich IoT, also Internet of Things, Leute benötigen, die clever sind und nachdenken, um eine gute Lösung nachhaltig aufzubauen und zu administrieren. Da ich mit wehenden Fahnen vor Wochen voraus gerannt war, begrüßte ich unsere ca. 20 Teilnehmer am Freitag Abend und übergab rasch das Wort an unseren COO Dr. Frank Schönefeld. Um uns alle auf den Hackathon einzustimmen, hatte er ein spannendes Thema im Gepäck. “Wo gute Ideen herkommen” war eine perfekte Einleitung zu einer kreativen Nacht im Kreise unserer Hacker-Kollegen: Die Inhalte bezog er aus seiner eigenen Erfahrung (unter anderem auch aus Projekten mit Studenten, die unterschiedlichste Ergebnisse erzielten), ergänzt durch Steven Johnsons Where Good Ideas Come From: The Natural History of Innovation. So schafft es Dr. Frank Schönefeld doch immer wieder fachliches auch mit einer guten Prise Humor und Schabernack zu verbinden und fesselt so die Leute in seinen Reden. Nicht nur für uns Techniker, sondern auch für unseren Geschäftsbereichs-Leiter René Jakscht war es ein wirklich unterhaltsamer, informativer und lustiger Einstieg in den Abend.

Und weil kreatives Brainstorming für zu bearbeitende Themen Hunger macht und alle Anwesenden auch schon einen ganz normalen Arbeitstag hinter sich hatten, wurde es Zeit für Gemeinschaftsverpflegung. Bei hackertypischem Abendessen in Form von Pizza und Cola 😀 wurden erste Ideen und Projekte diskutiert. Gut gestärkt war die Präzisierung doch wesentlich leichter, sodass wir nach kurzer Zeit 8 Themen bestimmt hatten, die in kleinen Gruppen bearbeitet wurden. Und los ging der Hack. Alle vertieften sich in ihre Projekte. Ich frage mich heute warum wir mehrere Räume für einzelne Gruppen gebucht haben: fast alle saßen in einem Raum, der ein oder andere mit Musik auf den Ohren, geschäftige Stille trat ein, lediglich unterbrochen durch Zwiegespräche oder das Klicken von Maus und Tastatur. Ok, zugegeben: das ein oder andere Schimpfwort und Fluchen huschte auch durch die Räume. 🙂 Aber, was musste wir auch feststellen: man wird nicht jünger, sodass wir doch zwischen 22 Uhr 2 Uhr einige Mitstreiter zeitweise verabschieden mussten, weil sie ihre eigene Bettdecke bevorzugten und nicht die Nacht zum Tag machten. Der Rest trickste den Biorhytmus mit einem Wochenvorrat an Kaffee, Mate und Cola aus oder frischte die müden Zellen mit Super Mario Kart oder Bomberman auf. Wenn man dann aber einmal in den dafür vorgesehenen Sitzsäcken versunken war, konnte das durchaus länger dauern. 🙂 Das SNES hat da erstaunlich gute Dienste erwiesen. Und so verging die Nacht doch wie Im Flug und gegen 10Uhr am Samstag Morgen trudelten die meisten wieder ein um bei einem Guten-Morgen-Kaffee weiter an ihren Projekten zu werkeln.

Und damit ihr wisst, was wir da so gemacht haben, hier ein kleiner Auszug unserer Themen und Projekte:

Aufgewärmt haben sich einige der Teilnehmer direkt mit ein paar Bugfixes an unseren internen Puppet Modulen. Außerdem brauchte unser Testkonzept, welches aktuell auf Beaker und Teamcity aufsetzt, noch eine Erweiterung für Test Kitchen. Bei den ganzen Puppet Themen kam uns auch noch die Idee, dass es ja ganz gut wäre, wenn man eine lokale Puppetforge hat, damit wir weniger externe Abhängigkeiten für unsere Deployments haben und unsere internen Module besser pflegen können. Dazu haben wir uns die Tools Puppet Library und puppet-forge-mirror genauer angesehen. Dazu wird es sicher, sobald es sauber läuft, noch einen Beitrag in unserem Blog geben.

Über Nacht hat uns dann noch ein größeres Puppet Thema wach gehalten. Wir wollten unsere bestehende Landschaft von Puppet 3 auf 4 updaten. Dazu war allerhand Engineering nötig. Vor allem um das Zusammenspiel mit Foreman und unserer externen SSL CA sicher zu stellen. Nachdem wir dann gegen Ende doch etwas schlaftrunken waren, haben wir uns auf das Thema Dokumentation uns Migrationsleitfaden gestürzt. Beim Update ist uns und auch noch eine Unstimmigkeit bei den Puppetmodulen von Foreman (und in deren Doku) aufgefallen. Das haben wir gleich genutzt um einen entsprechenden Bugreport zu erstellen und wir sind gerade noch dabei einen Patch zu bauen.

Später am Abend wurden unsere Ideen etwas kreativer, so wollten wir eine automatische Mate-Bestell-App bauen. Dazu haben wir versucht die Android-App eines großen Versandhändlers zu modifizieren. Nach anfänglichen Problemen wurde dabei dann doch der Hacker in einigen Wach und wir haben interessante Entdeckungen gemacht, die wir euch auch in einem extra Beitrag vorstellen wollen.

Wir nutzen schon seit einiger Zeit das Tool Netdata zur Ergänzung unseres Monitorings, vor allem während Tests und Lastsituationen. Diesen Abend haben wir dazu genutzt, für uns eine kleine Erweiterung zu schreiben, die die CPU Werte aller Java-Prozesse zusammenfasst und in einem Graphen darstellt. So ist es uns nun möglich die Gesamtauslastung eines Servers durch Java zu betrachten und auch die einzelnen Verursacher genauer zu finden.

netdata_java_cpu

Auch ein paar Apps sind bei uns entstanden. Wir nutzen für einige Systemkonfigurationen YAML Dateien, da diese in Textform aber oftmals schwer nachvollziehbar sind (zumindest wenn sie größer werden), haben wir eine kleine App geschrieben, die diese im Browser graphisch darstellen kann. Die App wurde mit dem Python Framework Flask erstellt. Für die Darstellung haben wir uns für das CSS-Framework Bootstrap entschieden. Es war auch noch kurzzeitig im Spiel React zu nutzen, das wurde dann aber mangels JavaScript Kenntnissen und der nicht benötigten Features wieder abgewählt.

Da wir einige unserer “Nicht-Techi”-Kollegen auch für den Hackathon begeistern konnten, wurde auch an sehr kreativen Fragestellungen gearbeitet- in diesem konkreten Fall haben die Kollegen Googles DeepDream und andere Möglichkeiten, durch generierte Algorithmen Bilder zu erzeugen, unter die Lupe genommen.

Das hat vor allem zu späterer Stunde für einige Lacher und lustige Kommentare gesorgt. Ich persönlich fand die Ergebnisse sehr interessant, aber einige der Bilder sehen schon ein wenig nach Horror-Streifen aus. Wir haben dabei mit verschiedenen Generatoren gearbeitet. Einige haben die Bilder gemorpht, andere haben bestimmte Kunststile angewendet. Alles in allem sind die Ergebnisse sehr sehenswert und vielleicht auch eine gute Idee für unsere zukünftigen Bildwelten.

Einer unserer Sportschützen wollte unbedingt noch ein weiteres Thema angehen. Eine automatische Zielvorrichtung für Tontauben. Unseren Hardware-Freaks war sofort klar, dass sie das bauen mussten(!). Also ging es direkt los mit einem Raspberry Pi, Kamera und einem Schrittmotor bewaffnet. Zuerst musste ein Haufen Chips nach den richtigen Komponenten durchsucht werden. Die Steuerelektronik war dann schnell gesteckt. Das Anzapfen der Kamer mit OpenCV ging ebenfalls locker voran. Problematisch wurde es erst beim Verbinden der beiden Komponenten. Das konnte nicht abschließend gelöst werden, aber dennoch hat das Projekt viele unserer Teilnehmer fasziniert.

Da bei uns aber auch kein Tag ohne Cloud vergeht, hatten wir auch hier ein kleines Projekt. Aufgesetzt wurde ein Kubernetes Cluster und die gewonnenen Erkenntnisse dokumentiert. Auch echt spannend und die Kollegen waren voll dabei.

Was bleibt mir als Fazit: Wir alle hatten mir unseren Projekten, ob technisch oder nicht-technisch, ob Arbeitsbezug oder nicht, jede Menge Spaß und auch Zeit für Austausch untereinander- was doch in der heutigen Arbeitswelt leider viel zu kurz kommt. Einige unserer Hacker haben sich schon Projekte und Ideen für den nächsten Hackathon mitgenommen – da werden wir wohl eine Neuauflage planen und hoffentlich noch eine ganze Menge mehr Leute begeistern können, mit uns eine Nacht zu verbringen 🙂

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.