Der Blog

Vorfallmanagement für Medien und Unterhaltung

von Twain Taylor 26. Juni 2018 | 6 min Lesezeit

In der Unterhaltungswelt ist die Entwicklung von Unternehmens-Apps mit vielen Herausforderungen verbunden, wie etwa der Kompatibilität mit zahlreichen Geräten und großen Dateien wie HD-Videos sowie dem gleichzeitigen Streamen von Medien an Millionen von Benutzern. Die heutigen Unterhaltungs-Apps sind jedoch nur dank eines modernen Ansatzes bei der Softwarebereitstellung möglich: DevOps sorgt für mehr Effizienz in der gesamten Entwicklungspipeline.

Natürlich löst DevOps nicht alle Probleme. Die Anzahl der Probleme steigt mit der Häufigkeit von Releases und der Anzahl der unterstützten Geräte. Um dieser Herausforderung zu begegnen, benötigen Organisationen ein Incident Management. Vorfallmanagement gilt nicht nur für Probleme in der Produktion, sondern für jede Phase des Anwendungslebenszyklus.

Sehen wir uns an, wie einige der führenden Unterhaltungsunternehmen den DevOps-Ansatz vorantreiben und das Vorfallmanagement in jede Phase ihres Betriebs integrieren.

Microservices sind komplexer

Netflix ist ein großer Befürworter des DevOps-Ansatzes, was natürlich bedeutet, dass sie die Microservices-Architektur übernommen haben. Als Hauptvorteile von Microservices nennt Netflix Geschwindigkeit und Zuverlässigkeit. Die Entwickler können unabhängig arbeiten und viel häufiger neue Versionen herausbringen. Und da sie die meisten Probleme ohne Eingreifen eines externen Teams beheben können, können sie Zuverlässigkeit in das System einbauen.

Allerdings bringen Microservices ihre ganz eigenen Herausforderungen mit sich. Angesichts der Anzahl der Dienste – und der Tatsache, dass diese miteinander kommunizieren müssen – kommt es häufig zu Ausfällen. Die Verwaltung von Abhängigkeiten ist eine Herausforderung, insbesondere wenn es darum geht, Versionsänderungen mit Abhängigkeiten im Auge zu behalten. Eine Lösung, die Netflix versucht, besteht darin, einem „ Monorepo-Modell ”, wobei sich der Quellcode für die Organisation in einem einzigen Repository befindet. Dies sorgt für Konsistenz zwischen Teams und Diensten.

Die Herausforderung besteht jedoch darin, den Teams die Flexibilität zu geben, auf einzigartige Weise innovativ zu sein. Um dies zu bewältigen, versucht Netflix, den Herausgebern von Diensten schnelleres Feedback zu geben. Auf diese Weise würde Netflix erfahren, welche nachgelagerten Dienste aufgrund einer Veröffentlichung nicht mehr funktionieren, wodurch der Eigentümer des Codes mehr Verantwortung erhält, Probleme schneller zu beheben. Netflix gibt zu, dass es noch nicht alles herausgefunden hat, berücksichtigt jedoch alle Aspekte des Microservices-Modells, wenn es Lösungen entwickelt, die für jedes Team und für die gesamte Organisation funktionieren.

Entwerfen für Sicherheit

SoundCloud hat eine App für Xbox One, aber die Anmeldung war sehr umständlich, da es schwierig ist, Text mit einem Xbox One-Controller einzugeben. Um diese Herausforderung zu überwinden, verwendete SoundCloud eine Authentifizierungsprozess – generiert ein Token auf einem anderen Gerät wie einem Smartphone und ermöglicht es Xbox One, dem Benutzer Zugriff zu gewähren, wenn dieses Token aktiviert wird. Diese Methode ähnelt der Zwei-Faktor-Authentifizierung und wird auch von Google verwendet, um seine Apps auf Smart-TVs und Chromecast-Geräten zu verbinden.

SoundCloud musste Maßnahmen ergreifen, um sicherzustellen, dass der Prozess absolut sicher und nicht anfällig für Angriffe ist. Dazu gehörte die Verwendung einer klar verständlichen Sprache sowie Warnungen, wenn das eingegebene Token verdächtig aussah.

Beim Erstellen von Unterhaltungs-Apps müssen viele kleine Details berücksichtigt werden, wie etwa Gerätetyp, Funktionalität und die Erstellung von Funktionen, die sicher und benutzerfreundlich sind. Wenn Apps auf diesen Geräten ausgeführt werden, können sie leicht verwaist werden, da sie nicht die höchste Priorität haben. Wenn Ihre App jedoch für ein Gerät oder eine Plattform erstellt wird, müssen Sie alles daran setzen, um sicherzustellen, dass sie vollständig kompatibel ist. Das zeigt SoundCloud mit seiner Xbox One-App.

Proaktive Qualitätssicherung

Um auf Netflix zurückzukommen: Das Unternehmen ist einer der produktivsten Mitwirkenden in der Open-Source-Community. Wenn es um die Benutzerfreundlichkeit seiner Apps geht, entwickelt Netflix einzigartige Lösungen und stellt sie als Open Source für den Rest der Welt zur Verfügung. Ein aktuelles Beispiel ist Simone , ein Tool für simulierte Tests auf verschiedenen Gerätetypen.

Netflix liefert Apps auf vielen neuen Geräten wie Smart-TVs und Mobilgeräten aus und seine Apps müssen zertifiziert sein, um mit allen diesen Geräten zu funktionieren. Dies bedeutet viele sich wiederholende Aufgaben, um Kompatibilitätsprobleme zwischen der App und dem Gerät zu überprüfen. Netflix verwendet Simone, um verschiedene Simulationen auszuführen, die spezifisch für jedes Gerät sind, auf dem die App getestet wird. Es automatisiert die Konfiguration, Bereitstellung und Ausführung von Simulationen.

Qualität ist entscheidend für den Erfolg einer Entertainment-App. Und um Qualität zu gewährleisten, benötigen Sie einen ausgereiften QA-Prozess. Ob mit einem benutzerdefinierten Tool wie Simone oder einem allgemeineren wie Selenium oder Appium: Das Testen Ihrer Apps auf den Geräten und Plattformen, auf denen sie laufen, ist unerlässlich. QA und Vorfallmanagement gehören zusammen, denn der beste Zeitpunkt, um einen Fehler zu entdecken, ist früh, bevor er in die Produktion gelangt. Sie möchten lieber einen Prozess haben, der Vorfälle proaktiv verhindert, als gezwungen zu sein, sie nach der Veröffentlichung zu bekämpfen.

Auslaufende Versionen

Werfen wir einen Blick auf Spotify, das stark auf Docker-Container angewiesen ist und einen eigenen Container-Orchestrator verwendet Helios um diese Container zu verwalten. Je mehr Spotify jedoch von Docker abhängig war, desto mehr beeinträchtigten Probleme im Zusammenhang mit Docker-Containern das Benutzererlebnis, insbesondere beim Aktualisieren von Docker von einer älteren auf eine neuere Version.

Spotify stellte fest, dass viele Container noch ihre ursprünglichen Ports aus der vorherigen Version beibehielten und der Datenverkehr nicht an diese Container weitergeleitet wurde. Spotifys Lösung war es, ein Tool namens Tsunami zu entwickeln, das schrittweise Rollouts über einen Zeitraum von zwei Wochen implementieren konnte. Während dieser Phase wies Tsunami alle Docker-Container an, welche Docker-Version sie ausführen sollten. Tsunami implementierte das Rollout für eine Teilmenge von Benutzern, und als Fehler gefunden wurden, konnte das Team diese innerhalb des zweiwöchigen Zeitraums problemlos bewältigen.

Tsunami machte Rollouts viel stressfreier und verbesserte die Benutzererfahrung während der Änderungsphase. Durch Continuous Delivery werden Releases viel häufiger veröffentlicht, was es umso wichtiger macht, den Schaden, den sie verursachen können, zu begrenzen. Eine schrittweise Ausmusterung ist eine gute Möglichkeit, um während Releases eine hohe Verfügbarkeit sicherzustellen. Während dieser Phase wird das Vorfallmanagement eine Schlüsselrolle spielen, da der Übergang überwacht und darauf reagiert werden muss. Vorfälle müssen schnell behoben werden, damit der Übergang erfolgreich ist.

Die Entwicklung von Anwendungen im Unterhaltungsbereich ist in jeder Phase voller Herausforderungen und Hindernisse. Durch die Einführung eines DevOps-Ansatz und indem Sie einen leistungsstarken Workflow für das Vorfallmanagement entwickeln, können Sie für eine hervorragende Benutzererfahrung sorgen und den Prozess genauso genießen, wie Ihre Endbenutzer Spaß an der Verwendung Ihrer App haben.