TVNOW Replatforming-Umbau und Weiterentwicklung einer bestehenden Video-on-Demand-Plattform - Case Study
←
→
Transkription von Seiteninhalten
Wenn Ihr Browser die Seite nicht korrekt rendert, bitte, lesen Sie den Inhalt der Seite unten
Case Study TVNOW Replatforming– Umbau und Weiterentwicklung einer bestehenden Video-on-Demand-Plattform © inovex 2021
CBC, das gemeinsame Produktions- und Tech- Die neue Strategie sah ein Replatforming mit nik-/IT-Unternehmen der Mediengruppe RTL dem externen Cloud-Partner, AWS, vor. Dadurch Deutschland, betreut unterschiedliche Formate waren auch weitere Veränderungen der Arbeits- der Mediengruppe, unter anderem die Sender prozesse nötig. Die Zielvision war ein Setup mit RTL, VOX, NITRO, n-tv, NOW! und GEO Tele- crossfunktionalen und autonomen Teams, die vision. Im gemeinsamen Projekt mit inovex steht selbstständig die Entwicklung ihres Aufgabenbe- das Produkt TVNOW im Fokus. Es soll eine reichs vorantreiben können. sichere und innovative Plattform für die kom- Dieser sogenannte „DevOps“-Gedanke be- menden Herausforderungen im TV/Entertain- schreibt im eigentlichen Sinne eine Unter- ment-Markt entstehen. Ziel ist es, die Plattform nehmenskultur, die – frei von Hierarchien und in die Cloud zu verlagern, die Themen und Teams Silodenken – eine effektive Zusammenarbeit von neuzustrukturieren und auf agile Arbeitsweise Entwicklung und Betrieb im Fokus hat, mit dem umzustellen. Ziel, stabile, hochwertige Software schnell um- zusetzen. Ausgangssituation und Zielvision Ursprünglich wurde TVNOW von RTL im eige- Diese Änderungen haben auch ein Umdenken nen Rechenzentrum betrieben. Die Plattform in den Prozessen und Teams nötig gemacht: Die sollte jedoch innovativer und ausfallsicherer Fachlichkeiten der Teams wurden zusammen- weiterentwickelt werden und neue Features gefasst und anschließend die Plattform daran schneller bereitstellen können. ausgerichtet. Zu Projektstart wurden unter ande- rem technische Teams in fachliche Teams wie z. Die »RZ only«-Strategie ermöglichte keine B. Content, Payment oder Metadata überführt. elastische Skalierung und eine Bereitstellung Zudem dienen die Product Owner als Ansprech- neuer Services war stets mit langwierigen Ab- partner:innen, die die Expertise in ihren jeweili- stimmung- und Freigabeprozessen verbunden. gen Fachlichkeiten inne haben. Es gab nur einige, wenige Know-How-Träger und die klare Trennung von Entwicklung und Betrieb erschwerte zusätzlich die Kommunikation. Web-Team Content-Team Content Subscription- Team Web Web Sys System Subscription App App Sys Sys X Team App-Team Team X 2
Ebenso wurden neue Programmiersprachen ein- nements neu implementiert werden. Gleichzeitig geführt – beispielsweise Kotlin im Backend und muss das System für Spitzenlastzahlen ausgelegt TypeScript im Frontend. sein und problemlos funktionen, wenn pro Tag mehrere Deployments der Entwicklungsteams in Die neue, nachhaltige Strategie ist darauf ausge- die Produktionsumgebung einfließen. Vorausset- legt, auch nach mehreren Jahren noch verständ- zung dafür ist ein starker Fokus auf die Resilienz lich und erweiterbar zu sein. der einzelnen Systeme und die Etablierung von Fallback-Möglichkeiten, um dem Endkunden im Teamstruktur und veränderte Falle einer internen Störung weiterhin alle Funk- Arbeitskultur tionalität bieten zu können. Bei der Gründung von TVNOW (früher RTL NOW) vor 12 Jahren hat ein kleines Team mit All das musste bei der Migrationsstrategie mit der Entwicklung und dem Betrieb der Plattform berücksichtigt werden. begonnen. Im Jahr 2018, zu Beginn des Re- Der erste Schritt bestand in der Umstellung der platformings, ist die Anzahl der Teammitglieder Auslieferung auf Standardmechanismen, wie hochskaliert: heute gibt es über 10 Teams mit Docker Container und AWS ECS-Fargate Sche- mindestens fünf Mitarbeitern pro Team. Neben duler. Dadurch konnten bereits während der den Teams, welche die Schnittstellen für die Entwicklung die Vorteile der Cloud genutzt und Endkunden betreuen (Apps und Web), gibt es ein stabiler Parallelbetrieb gewährleistet werden. auch domänenspezifische Teams, wie z. B. Data, Content und Customer. Die Strategie sieht vor, Teilaspekte des Be- standssysteme in separaten Services abzubilden Durch die Umstrukturierung der Entwicklung und somit den bestehenden Monolithen Stück in eine Großzahl crossfunktionaler Teams mit für Stück zu »entkernen«. Neben der Abbildung dedizierten Themenbereichen haben sich die der bestehenden Funktionalität muss auch eine Arbeitsweise und die Kultur verändert. Dies hat Entwicklung neuer Funktionalität gewährleistet zu einer einschneidenden Veränderung inner- sein, damit die Weiterentwicklung des Produkts halb des gesamten Produktes geführt. Zu diesem immer möglich ist. Migration und Weiterent- Prozess, der ungefähr ein Jahr dauerte, gehörten wicklung sollten dabei nicht sequentiell durch- die Sensibilisierung für die neue Teamkultur, die geführt werden, sondern so gut wie möglich Integration des Managements und die praktische parallelisiert. Veränderung der Zusammenarbeit. Technisch bedeutet das einige Neuerungen: von Dafür wurde auf agile Methoden zurückgegrif- PHP zu Kotlin/Spring Boot, Gitlab CI anstelle fen: Durch skaliertes Scrum über alle Teams von Jenkins, von den Entwicklungsteams selbst hinweg wurde die Anpassungs- und Innovations- verantwortete Deployments via Terraform an- fähigkeit enorm gesteigert. Die umfangreichen stelle von Deployments auf Umgebungen außer- Learnings bei der Einführung von skaliertem halb des eigenen Verantwortungsbereichs. Scrum in diesem Projekt haben wir in einer ge- sonderten Case Study zusammengefasst. Die Technik dahinter – Migrationsstrategie Die TVNOW Apps (Android, iOS, FireTV etc.), das dahinterliegende System, der Webplayer und der Smart TV Client stellen verschiedene Anfor- derungen an die zugrunde liegende Architektur: So mussten unter anderem das Subscription Ma- nagement und die Payment-Funktion für Abon- 3
Vorteile Technologien inovex konnte einige Best Practices einbringen, › Kotlin/Spring Boot die nicht nur die Stabilität des Systems verbes- › Terraform sert haben, sondern auch für die Cloud Migrati- › Gitlab CI on und den Payment-Prozess von Vorteil waren. › Angular (Universal) Die Plattform bietet nun saubere Schnittstellen, › TypeScript die einzelnen Services sind skalierbar und es › Docker können leicht neue Features entwickelt werden. › AWS ECS Die Arbeitsweise hat sich ebenfalls verändert: › AWS Lambda sie ist inkrementell und erzielt dadurch schneller Ergebnisse und Veränderungen. So können zum Beispiel starke Lastspitzen im TV-Betrieb, die unter anderem bei Fußball-Län- derspielen auftreten, viel besser abgefangen werden. Durch die Aufteilung in Services und die Abstraktion in Docker-Container können neue Technologien und Sprachen eingesetzt werden. Inzwischen sind die Teams komplett für ihre Ser- vices verantwortlich, ganz nach dem Motto: You build it, you run it, you love it. 4
Über inovex inovex ist ein innovations- und qualitätsgetriebenes IT-Projekthaus mit dem Leistungsschwerpunkt „Digitale Transformation“. Über 400 IT-Expert:innen unterstützen Unternehmen umfassend bei der Digitalisierung und Agilisie- rung ihres Kerngeschäfts und bei der Realisierung von neuen digitalen Use Cases. Unser Lösungsan- gebot umfasst Application Development (Web Platforms, Mobile Apps, Smart Devices und Robotics – vom UI/UX Design bis zu den Backend Services), Data Management & Analytics (Business Intel- ligence, Big Data, Search, Data Science & Deep Learning, Machine Perception und Artificial Intelli- gence) und die Entwicklung von skalierbaren IT Infrastructures (IT Engineering, Cloud Services), auf denen die digitalen Lösungen im DevOps-Modus betrieben werden. Wir modernisieren vorhandene Lösungen (Replatforming), härten Systeme gegen Angriffe von außen (Security) und vermitteln unser Wissen durch Trainings und Coachings (inovex Academy). inovex ist in Karlsruhe, Pforzheim, Stuttgart, München, Köln und Hamburg ansässig und bundesweit in Projekte involviert. Nehmen Sie Kontakt auf › Haben Sie Fragen zur Entwicklung oder Erweiterung moderner Anwendungen? › Suchen Sie einen Partner, der Sie bei der agilen Projektdurchführung unterstützt? › Möchten Sie mehr über inovex und unser Portfolio für die digitale Transformation erfahren? Ihr Ansprechpartner Tobias Joch Head of Application Development 0173 31 81 004 tobias.joch@inovex.de www.inovex.de
Sie können auch lesen