This entry is part 1 of 13 in the series Azubis erzählen

Hallo zusammen,

um diese Blogserie “Azubis erzählen” mal wieder aufzufrischen, werde ich hier ein wenig über meine bisherigen Aufgaben erzählen.
Zu mir: mein Name ist Gabriel Hartmann, ich bin 28 Jahre alt und seit September 2016 als Azubi (Junior Systems Engineer) bei NETWAYS. Bevor ich bei NETWAYS als Azubi anfing, habe ich an der FAU Erlangen ein paar Semester Informatik studiert. Nur mit großer Mühe hangelte ich mich von Semester zu Semester durch die Klausuren. Letztendlich konnte ich das Studium nicht abschließen und entschied mich daraufhin für eine Ausbildung. Mit dem Vorwissen aus dem Studium konnte ich alledings durchaus was anfangen. Sebastian – mein Ausbilder – entschied, dass ich die ersten Monate im Architecture Team verbringen würde. Während dieser Zeit lernte ich sehr viel, vorallem über das Thema Docker Container.

Architecture Team
Die ersten Wochen beschäftigte ich mich damit, die Programmiersprache Ruby zu lernen und machte mich mit den Ruby-Frameworks Rails und Sinatra vertraut. Danach arbeitete ich dann an dem NWS SaaS (Software as a Service) Projekt mit. Dabei lernte ich nach und nach, was es mit Microservices und Docker Containern auf sich hat, wie man damit interagiert und wie man eigene Docker Images erstellt und deren Setup automatisert. Im Prinzip ist die Technologie dahinter ähnlich zu der von Virtuellen Maschinen. Kurz gesagt, bieten Container eine einfache Möglichkeit Prozesse oder Programme abgeschottet vom Betriebssystem des Rechners, resourceschonend und plattformunabhängig zu betreiben. Viele Softwareunternehmen verwenden Container um bei der Entwicklung ihrer Softwareprodukte diese mit verschiedenen Konfigurationen und Betriebssystemen automatisiert zu testen. Aber auch in Produktion werden Container oft betrieben.
Bei NWS laufen die Apps jeweils in einem eigenen Container. Um zu gewährleisten, dass die Apps auch dauerhaft laufen und online erreichbar sind, benötigt man eine Orchestrierungsumgebung für die Container, die sich darum kümmert, dass die Container automatisch neugestartet werden wenn sie ausfallen. Wenn das ganze noch hoch verfügbar in einem Rechenzentrum über mehrere Server verteilt laufen soll, dann benötigt man eine Art Kernel für Computer Cluster wie z.B. Mesos. Kurz gesagt kümmert sich Mesos darum, die Ressourcen (CPU, Arbeitsspeicher etc.) der zum Cluster gehörigen Server zu managen und an Frameworks anzubieten, damit diese ihre Tasks darauf laufen lassen können. Marathon ist ein Framework für Mesos, das dazu verwendet werden kann, um Docker Container dauerhaft aktiv zu halten. Wie das genau geht und welche Features Marathon bietet, darauf werde ich hier nicht weiter eingehen. Ich habe das alles auch erst nach ein paar Monaten im Detail kennen gelernt. Meine Aufgabe im Architecture war vorerst, neue Produkte wie z.B. Rocket.Chat und Nextcloud als vorkonfigurierte Apps mit in die NWS Platform aufzunehmen. Die Prozedur dafür sah folgendermaßen aus: man schreibt ein Dockerfile, aus dem dann ein Image gebaut werden kann. Dieses benötigt ein Setupskript, das beim Start des Containers ausgeführt wird und den Container dahingehend vorbereitet, dass der Kunde sich nicht selbst um die Konfiguration kümmern muss. Außerdem wird darin definiert, welche Schritte bei der Aktualisierung auf eine neue Version der App ausgeführt werden sollen. Wenn das dann (endlich) funktioniert, wird die NWS Webseite angepasst, damit das Produkt von dort aus gestartet und mit Kundenspezifischen Daten konfiguriert werden kann. Verschiedene Microservices der SaaS Plattform müssen ebenfalls angepasst werden. Außerdem überlegt man sich Texte, die das Produkt beschreiben, bewerben und häufig aufkommende Fragen von Kunden beantworten. Danach schreibt man Tests, beseitigt Bugs und optimiert. Wenn dann die Produktpläne festehen und alles funktioniert, kann die App als Produkt angeboten werden. Das alles hat mir ziemlich viel Spaß gemacht. Mit der Zeit wird man auch schneller, wenn man mit der Prozedur und der Umgebung vertraut ist.
Nach ca. 7 Monaten stellte ich mich dann einer neuen Herausforderung. Sebastian fragte mich, ob ich einen Workshop über das Thema “Docker Container Orchestration” anhand von Mesos Marathon halten möchte. Vermutlich etwas übereilt willigte ich ein. Als der Termin dann näher rückte, die Aufregung langsam stieg und ich mit der Ausarbeitung des Workshops beschäftigt war, wurde mir erst klar auf was ich mich da eingelassen hatte. Da es aber keinen Weg mehr zurück gab, hieß es Zähne zusammenbeissen und durch. Sebastian und meine Kollegen Achim und Tim unterstützten mich jedoch gut dabei und nachdem dann die Slides und die Handouts fertig waren hielt ich den Workshop auf der OSDC 2017 in Berlin. Auch wenn nicht alles komplett reibungslos ablief hoffe ich, dass die Teilnehmer doch das ein oder andere dabei gelernt haben. Damit endete dann meine Zeit im Architecture Team und ich wechselte in die Hosting Support Abteilung.

Hosting Support Team
Seit nicht ganz zwei Wochen bin ich nun im Hosting Support. Hier geht es hauptsächlich darum sich um Kundenanfragen bzw. Tickets zu kümmern. Da ich im Bereich Hosting bisher wenig Erfahrung habe, mache ich mich nach und nach mit den Tools und den Arbeitsabläufen vertraut. Das ein oder andere Ticket konnte ich jedoch schon bearbeiten. Vorallem Kundenanfragen zum Thema NWS fallen in meinen Aufgabenbereich, da ich mich hier bereits ganz gut auskenne. So bin ich auch im NWS Livechat als Ansprechpartner vertreten, das ist eine Art Helpdesk Chat auf der NWS Webseite der auf unserer NWS App Rocket.Chat basiert. Mit der wöchentlichen Serverwartung wurde ich auch schon vertraut gemacht. Dabei durchsucht man die Logs sämtlicher Kundenserver nach Fehlermeldungen und entscheidet ob für die jeweilig gefundenen Fehler Handlungsbedarf besteht oder nicht. Falls ja, eröffnet man Tickets und benachrichtigt gegebenefalls den Kunden darüber.

Berufsschule
Als Azubi besucht man bei NETWAYS natürlich auch die Berufsschule. Als Auszubildender Fachinformatiker für Systemintegration findet diese blockweise statt, was meiner Meinung nach auch Sinn macht, da man nicht täglich zwischen Schule und Betrieb wechseln muss. Nicole, die ebenfalls im September als Auszubildende Fachinformatikerin für Systemintegration bei NETWAYS angefangen hat, ist in der gleichen Klasse wie ich. Vom Studium ist mir einiges was an Stoff in der Berufsschule behandelt wird bereits bekannt und somit kam ich bisher ganz gut klar.

NETWAYS
Was mir hier besonders gut gefällt, ist das gute Arbeitsklima und dass man während der Arbeit stets nette und gutgelaunte Kollegen um sich hat. Getränke wie Kaffee, Säfte und Eistee sind kostenlos für alle verfügbar. Die Mitarbeiter organisieren untereinander LAN-Partys, die ab und an abends im Büro stattfinden. Außerdem finden jährlich Team Events der einzelnen Abteilungen und verschiedene Seminar-Wochenenden statt, bei denen der Spaß nicht zu kurz kommt und man die Möglichkeit hat, die anderen Kollegen besser kennenzulernen. Das Events Team von NETWAYS organisiert regelmäßig Konferenzen, wie z.B. die bereits erwähnte OSDC. Eine weitere Konferenz, an der ich letzten Jahr teilnehmen durfte, war die OSMC 2016 in Nürnberg, die sich mit dem Hauptgebiet von NETWAYS, dem Monitoring, beschäftigt. In den Talks der verschiedenen Konferenzen erfährt man viel über Open Source Themen und kann sich anschließend mit anderen Teilnehmern aus der ganzen Welt darüber austauschen.
Alles in Allem bin ich sehr happy bei NETWAYS zu sein und bin gespannt was mich künftig noch so erwartet. Ich hoffe ich konnte euch einen kleinen Einblick in meine Tätigkeiten als Azubi geben.

Gabriel Hartmann

Autor: Gabriel Hartmann

Gabriel freut sich nun in seiner Ausbildung zum Fachinformatiker für Systemintegration bei NETWAYS endlich sein im Informatikstudium gesammeltes Wissen artgerecht anwenden zu können. Wenn er nicht gerade an Servern, PC’s und sonstigem bastelt, vertreibt sich der gebürtige Oberfranke seine Freizeit mit Radfahren, Fotografie und Snowboarden. Vor allem reizen ihn interessante Projekte und das Arbeiten an Open Source basierten Linux-Systemen.