Ursprünglich gab es im Backend-Team der Streaming-Plattform nur eine einzige Person, die sich auf DevOps und Infrastruktur konzentrierte, und TV 2 Dänemark hatte Schwierigkeiten, neue Talente zu rekrutieren. Das Team, das die API, eines der wichtigsten Systeme für das Funktionieren der Streaming-Plattform, entwickelt, benötigte umgehend externe Hilfe, um ein breites Spektrum an neuen Fähigkeiten hinzuzufügen.
Das Team muss in der Lage sein, einen sofortigen massiven Anstieg der Last auf der Videostreaming-Plattform zu bewältigen. Wenn eine beliebte Fernsehsendung beginnt, nutzen viele Zuschauer die Plattform gleichzeitig. Und wenn die Sendung zu Ende ist, werden die Zuschauer aufgefordert, "jetzt die nächste Folge anzusehen". Daher ist es von entscheidender Bedeutung, dass die Plattform zuverlässig ist, die Last bewältigen kann und schnell skalierbar ist.
"Was man nicht will, ist, dass eine geringfügige Änderung im Netzwerk dazu führt, dass die gesamte Plattform ausfällt", sagt Martin Villumsen, Staff Engineer bei TV 2 Denmark.
Ein großes Problem zeichnete sich am Horizont ab. Man hatte sich mit einem Terraform-Monolithen arrangiert. Neue Änderungen führten aufgrund der komplexen Kopplung häufig zu Nebenwirkungen in der Infrastruktur. Den Monolithen weiter mit Code zu füllen, war nicht tragbar und würde in der Zukunft nur noch mehr technische Schulden und Wartungsprobleme verursachen. Daher wollte man die Risiken bei Änderungen an der Infrastruktur minimieren.
Nach Gesprächen mit verschiedenen Beratungsunternehmen entschied sich TV 2 für Eficode, weil das Unternehmen den besten Eindruck machte und die richtigen Persönlichkeiten und Ansätze für die anstehenden Aufgaben zu haben schien.
Eine der ersten Aufgaben war das Refactoring des Terraform-Codes und die Einrichtung der Infrastruktur in AWS. Der Terraform-Monolith wurde von Grund auf in lose gekoppelte Module und Tiers umstrukturiert. Dadurch wurde der Explosionsradius massiv reduziert und es war viel einfacher, Änderungen ohne Seiteneffekte einzuführen.
Eficode führte auch ein Tool namens Atlantis als Teil eines neu geschaffenen Pull-Request-Flows ein. Dies reduzierte die manuelle Arbeit und ermöglichte es den Entwicklern, die tatsächlichen Auswirkungen von Änderungen zu sehen, bevor sie angewendet werden.
Um die Qualität und die Erfahrung der Entwickler im Allgemeinen zu verbessern, führten die Eficode-Berater mehr Automatisierung und Tests in der Jenkins-Pipeline ein. Sie halfen auch, die Qualität der gemeinsamen Jenkins Shared Libraries zu verbessern.
Als das Team bei TV 2 wuchs und sich neue Praktiken verbreiteten, bot Eficode auch Schulungen in Docker, Kubernetes und Git an.
Um sicherzustellen, dass die tägliche Arbeit reibungslos verläuft, und um diese zusätzlichen Ressourcen und Fähigkeiten bereitzustellen, arbeiteten die Eficode-Berater Schulter an Schulter mit dem TV 2-Team und teilten dabei ihr Wissen. Sie arbeiteten sowohl an strategischen als auch an taktischen Aufgaben. Ein Beispiel:
"Wenn wir bei TV 2 Berater hinzuziehen, wollen wir, dass sie Teil des Teams sind. Das hat mit den Eficode-Beratern gut funktioniert. Sie sind auch gut darin, proaktiv zu kommunizieren und uns auf dem Laufenden zu halten. Außerdem kommunizieren sie auch intern und stimmen sich ab, um Doppelarbeit und Ineffizienz zu vermeiden", sagt Martin Villumsen, Staff Engineer bei TV 2 Dänemark.
Eficode unterstützt derzeit ein anderes TV 2-Team bei der Migration zu AWS, wobei die gleiche Architektur wie beim Backend-Team verwendet wird.
Obwohl es keine Messgrößen gibt, um die genauen Auswirkungen der Arbeit von Eficode zu messen, gibt es viele klare Vorteile, die die TV 2-Teams jeden Tag genießen.
Mit Hilfe der Eficode-Berater verfügt TV 2 jetzt über eine genau definierte Microservice-Architektur für die Implementierung der Infrastruktur. Wenn eine Änderung an der Infrastruktur vorgenommen werden muss, können sie den Radius der Explosion minimieren. Dieser erfolgreiche Ansatz ging mit gutem Beispiel voran und wurde später von anderen Teams innerhalb des Unternehmens kopiert.
"Wir stellen fest, dass es weniger Zwischenfälle gibt, die zufällig ausgelöst werden, wenn wir versuchen, sie zu implementieren", sagt Martin Villumsen.
TV 2 verfügt jetzt über eine ganze Bibliothek von Testsuiten und Quality Gates, so dass sie sofort sehen, ob sie bei Änderungen etwas kaputt machen. Das war für die Entwickler sehr wertvoll.
TV 2 hat externe Experten hinzugezogen, um Personal- und Wissenslücken zu schließen. Damit wurden nicht nur die dringendsten Herausforderungen gelöst, sondern durch die Zusammenarbeit mit den Experten konnte das eigene, wachsende Team sein Wissen in allen relevanten Bereichen schnell erweitern.
Derzeit ändert TV 2 seine Arbeitsweise grundlegend, indem es eine gemeinsame, interne Plattform aufbaut. Die verschiedenen Teams und ihre Arbeitslasten werden auf diese neue Plattform migriert. Alle bei TV 2 sind mit an Bord - vom Management bis zu den Teams. Sie sind voll und ganz dabei (ein Luxus in vielen Unternehmen) - sogar mit Begeisterung. Die ultimative Herausforderung lautet also: "Wo sollen wir überhaupt anfangen?".
Eficode hilft dabei, diese interne Plattform Schritt für Schritt aufzubauen, um sicherzustellen, dass die Teams sie auch tatsächlich nutzen werden. Um dem Plattformteam ein klares Ziel und eine klare Richtung zu geben, haben die Berater Workshops und Interviews mit Beteiligten aus dem gesamten Unternehmen durchgeführt. Diese Gespräche lieferten auch wichtige Erkenntnisse darüber, wie ausgereift jedes Team in Bereichen wie der Cloud war. Die Ergebnisse bieten dem Plattformteam heute eine solide Grundlage, um voranzukommen.