Blog

Lead Developer mit dem Schwerpunkt Infrastruktur

07. Dez 2023

Frontend, Backend und Infrastruktur – das sind die Schwerpunkte, nach denen unsere Lead Developer Rollen grob ausgerichtet sind. Um die Vorstellung unseres Trios nun zu vervollständigen hat für diesen Beitrag Lars als Lead Developer für die Infrastruktur Einblicke in seinen Arbeitsalltag gegeben.

Lesezeit: 3 Minuten


Erstmal Neustart

Bis in den August 2022 war das Team PENG, auch als Infrastrukturteam betrachtet, den Großteil der Zeit mit der Betreuung der laufenden Prozesse und Systeme beschäftigt. Es gab wenig bis keine Zeit für Weiterentwicklungen oder das Ausprobieren neuer tools. Die veralteten Infrastrukturen waren zum Teil noch aus der Anfangszeit und selbst zusammengebastelt. An dieser Stelle konnte man wirklich nicht von State-of-the-Art im Bereich des Cloud Computing sprechen. Es war also Zeit für einen harten cut und zwingend notwendige Umstellungen auf neue Workflows und standardisierte tools. Dadurch, dass diese von der open source community getragen wurden, konnte empiriecom die Betreuung der genutzten tools abgegeben und sie mussten lediglich für die eigene Infrastruktur adaptiert werden. Innerhalb des letzten Jahres gab es mehr Entwicklung und effiziente Umstellung als in den drei vorangegangenen Jahren und das schlicht durch die Standardisierung von Prozessen. Obwohl die genutzten Ansätze der eingeführten Strukturen (etwa der GitOps Workflow) noch relativ neu sind und erst so langsam im Mainstream ankommen, war es für PENG, und somit für empiriecom, die richtige Entscheidung! Als DevOps Engineer war Lars an all diesen Umstellungen schon vor seiner Rolle als Lead Dev beteiligt und so war der Rollenwechsel mit deutlich weniger Umgewöhnung verbunden.


Die Rolle

Das Team PENG funktioniert als Dienstleister für empiriecom, die einzelnen Units und ihre Entwickler, in dem ihnen die Möglichkeit zur Verfügung gestellt wird, ihre Software zu deployen und sie den Endkunden zur Verfügung zu stellen. Dabei geht es um das Komplettpaket vom Quellcode zum Endkunden inklusive möglichst schneller Fehleranalysen.
Lars muss alle Schritte, die dort ablaufen, jeden Arbeitsprozess im Blick haben, gute tools finden und dafür sorgen, dass diese in die Arbeitsprozesse eingebunden werden. Über die Arbeit an und mit der Cloud hinaus ist auch die fehlerfreie Funktion des CDN Providers (der praktisch am Anfang der Infrastruktur steht) und der zahllosen Systeme, die sozusagen “hinten dran” hängen, zu gewährleisten. Das ist besonders wichtig, wenn „Events“ wie die Black Week bzw. der Black Friday anstehen und der Shop die zusätzliche Besucherzahl stemmen muss.
Die Infrastruktur lässt sich also als Basis betrachten, die Lars so betreut, dass sie optimal läuft und die Entwickler das Beste aus ihrer Arbeit rausholen können. Um diese Prozesse zu verbessern und umzusetzen ist die Zusammenarbeit mit den Teams essentiell und somit ein gemeinsamer Verdienst.
Dann kam der neue Workflow GitOps, als echter Gamechanger im Hinblick auf die Automatisierung der Arbeitsprozesse. Was auf der Strecke von Softwareentwicklung zur Auslieferung bis vor kurzem noch hauptsächlich manuell gesteuert wurde, wurde durch GitOps so modifiziert, dass sich das System jetzt sozusagen selbst schafft. Das System versucht in einem automatisierten Prozess einen gewünschten Zustand zu erreichen und falls Fehler auftauchen, lassen sich vorherige Zustände wieder herstellen, um diese auszumerzen. Packt man auf diese Neuerungen noch distributed tracing oben drauf, wird deutlich, wie sehr sich die Arbeitsweise für die Entwickler verändern kann. Mit distributed tracing ist es deutlich einfacher Fehler in einer Applikation finden, da eine Softwarekomponente, die eine Anfrage an die Infrastruktur beantwortet, die ganze Strecke nachvollziehen kann, die diese Anfrage zurückgelegt hat – inklusive, welcher Schritt wie lange gedauert hat.
Die Implementierung dieser tools und Möglichkeiten wird den Entwicklern viel Zeit verschaffen, die jetzt in Weiterentwicklung investiert werden kann, anstatt für die Betreuung einzelner Arbeitsprozesse gebraucht zu werden. Das hat zur Folge, dass aktuell sogar schon Lösungen entwickelt wurden, für die Google noch die Möglichkeit zum Einsetzen liefern muss – die Entwicklungsgeschwindigkeit ist also enorm! Lars ist klar, dass sich diese Geschwindigkeit nicht ewig halten lässt, doch im Moment ist er mehr als zufrieden mit den Ergebnissen aus dem vergangenen Jahr, denn im Grunde ist empiriecom ganz vorne mit dabei und dass alles dank automatisierter Prozesse, die Hürden abgebaut und Möglichkeiten geschaffen haben. Noch nutzen nicht alle Units diese Möglichkeiten, doch langfristig sollten alle Systeme und Prozesse umgestellt werden.

Die Optimierung der Infrastruktur, der Austausch mit den Teams, den Entwicklern und dem Management sind die Schwerpunkte von Lars Rolle. In der Kommunikation mit dem Management geht es besonders darum, deutlich zu machen, wie wichtig Veränderungen und neue tools sind und welchen Nutzen sie für die Weiterentwicklung haben.
Seit Anfang des Sommers ist Lars in der Rolle des Lead Devs und durch seine vorherige Rolle als DevOps Engineer fiel ihm die Umgewöhnung recht leicht. Allerdings will er an seinen Kommunikations-Skills gegenüber dem Management noch ein wenig arbeiten, da er dazu neigt sich all zu fachlich und technisch auszudrücken, was für Menschen, die nicht so tief in der Materie sind, durchaus zu Verständnisschwierigkeiten führen kann. Er versucht daher bewusst mehr aus seinem Technik-Kosmos rauszutreten und seine Erklärungen so aufzubauen, dass sie auch ohne eine Menge Vorwissen verstanden werden können. Der BAUR TechTalk bot die perfekte Gelegenheit dieses Vorhaben direkt vor einem großen und sehr gemischten Publikum in die Tat umzusetzen.

Für die Zukunft

Um die Leistung der Entwickler und vor allem auch die Qualität der Endprodukte weiter zu verbessern, ist für die Zukunft der Aufbau eines Entwickler-Portals für empiriecom geplant. Hier sollen alle Entwickler ihre einzelnen Schnittstellen zentral dokumentieren und für alle zugänglich machen. So finden andere Entwickler, die mit einer bestimmten Schnittstelle arbeiten müssen, hier alle Informationen und wissen auch direkt, an wen sie sich wenden müssen, falls es Unklarheiten gibt.
Das wohl unterhaltsamste, was Lars umsetzen möchte (ein Vorschlag, der aus der Architekturgilde kam) ist Chaos Monkey. Dabei handelt es sich um ein Programm, dass ganz bewusst zu komplett zufälligen Zeiten und an ganz zufälligen Stellen, Teile der laufenden Software offline schaltet oder kaputt macht, um die Reaktion der Entwickler auf eine solche Situation zu trainieren. Der Fehlerfall kann so immer wieder geübt werden. Das Programm soll möglichst zeitnah ausprobiert werden aber natürlich vorerst nicht im Live-System.
Auch Varnish als veraltete Komponente im Eingangsbereich der Infrastruktur soll in naher Zukunft ausgetauscht werden. Sie ist nicht mehr zeitgemäß und kann vor allem einem erhöhten Anfrageanstieg an den Shop nicht mehr standhalten (das wurde spätestens klar als BAUR überraschend in einer Sat1 Sendung genannt wurde und viele Zuschauer mit einem Besuch des Online-Shops reagierten). Die daraufhin übermäßig ausgespielten Fehlerseiten machten sehr deutlich, dass Varnish der Vergangenheit angehören sollte und daher Anfang nächsten Jahres ausgetauscht wird.

Lars Rolle ist im Vergleich zu den anderen Lead Dev Rollen sehr stark technisch ausgerichtet und besonders dafür gedacht die Weiterentwicklung voranzutreiben. Bei den bisherigen Ergebnissen scheint das auf jeden Fall zu glücken! Wir freuen uns darauf zu sehen, wie er diese Rolle noch weiter füllen wird und wünschen bei allen Vorhaben gutes Gelingen!


0Noch keine Kommentare

Ihr Kommentar
Antwort auf:  Direkt auf das Thema antworten
empiriecom
Cookie Hinweis

empiriecom GmbH & Co. KG und Partner brauchen für einzelne Datennutzungen deine Einwilligung, um dir unter anderem Informationen zu deinen Interessen anzuzeigen.