NBCUniversal
Skalierung von DevOps in einem großen IT-Unternehmen mit mehreren Geschwindigkeiten

NBCUniversal verwendet die Software IBM® UrbanCode™ Build und IBM UrbanCode Deploy mit IBM Cloud für Skytap Solutions als DevOps-Engine und kombiniert kontinuierliche Integration, Bereitstellung, Tests, Feedback und Überwachung in einem automatisierten Workflow, der Prozesse, Kultur und Technologie im gesamten Unternehmen verbindet.

Aufgabenstellung

NBCUniversal wollte einen DevOps-Ansatz für die Anwendungsentwicklung in seinem komplexen Unternehmen mit 17 Geschäftsbereichen anwenden, um die Codequalität zu verbessern, die Entwicklung zu optimieren und die Kosten zu senken.

Umsetzung

NBCUniversal nutzt IBM® UrbanCode™-Software und IBM Cloud for Skytap Solutions, um DevOps voranzutreiben und kontinuierliche Integration, Bereitstellung, Tests, Feedback und Überwachung in einem automatisierten Workflow zu kombinieren.

Ergebnisse 75 % Reduzierung
in der Zeit, die für neue Anwendungsversionen benötigt wird
Reduzierte Zeit für Regressionstests
von Wochen auf Stunden
Beschleunigt
Reaktionen auf neue Anforderungen
Aufgabenstellung – die Geschichte
Silos zusammenführen

Bis vor kurzem herrschte die allgemeine Auffassung vor, dass nur die neue Generation cloudnativer Unternehmen, die als Marktdisruptoren konzipiert und auf schnelle Innovation ausgelegt sind, die DevOps-Journey eingeschlagen hat. Dem ist nicht so. Für jedes Etsy, Uber oder Netflix gibt es eine Vielzahl etablierter Unternehmen wie NBCUniversal, die durch DevOps die Markteinführungszeit für neue Anwendungen konsequent verkürzen, die Qualität des Anwendungscodes verbessern und die Kosten für Entwicklung, Tests und Bereitstellung senken wollen.

Diese Unternehmen repräsentieren einen Querschnitt der Branchen. Und unabhängig von der organisatorischen und IT-Komplexität verfolgen sie einen DevOps-Ansatz, denn Agilität – die Fähigkeit, Innovationen zu beschleunigen und schneller auf sich ändernde Geschäftsanforderungen zu reagieren – ist von entscheidender Bedeutung.

Der DevOps-Weg, den ein großes Unternehmen einschlägt, sieht wahrscheinlich ganz anders aus als der eines „Born-on-the-Cloud“-Unternehmens, ganz klar. Am wichtigsten sind die Fragen, wie man am besten einen weitreichenden kulturellen Wandel einleitet und seit langem bestehende Prozesse und Paradigmen verändert.


NBCUniversal ist größtenteils durch Übernahmen gewachsen und umfasst derzeit 17 einzelne Unternehmen und Geschäftsbereiche, einschließlich seiner internationalen Präsenz. Wie bei den meisten großen Unternehmen ist die Anwendungsumgebung vielfältig und schnelllebig – mit einer Mischung aus lokalen, privaten und öffentlichen Cloud-Umgebungen, in denen Kerngeschäftsanwendungen mit neuen Web- und mobilen Anwendungen integriert sind. Das DevOps-Team des Unternehmens musste große Unterschiede in Bezug auf Geschwindigkeit, Prozesse, Tools, Fähigkeiten und Kultur zwischen System of Record-Entwicklern (häufig Mainframe) und System of Engagement-Entwicklern (cloudbasierte, kundenorientierte Anwendungen) überbrücken, um Integrationen über diese Systeme hinweg zu erreichen.

John Comas, Manager of Platform DevOps bei NBCUniversal, ist verantwortlich für die Prozesse und Tools, die dem DevOps-Softwareentwicklungszyklus (Software Development Lifecycle, DLC) bei NBCUniversal zugrunde liegen. „Wir mussten unseren Anwendungskunden aus mehreren Gründen eine einzige, standardisierte SDLC zur Verfügung stellen: Erstens, um die Kosten für die Anwendungslizenzierung zu senken, indem wir mehrere Instanzen eliminierten. Zweitens wollten wir ein standardisiertes, auf Unternehmen abgestimmtes On-Premises-System bereitstellen und so viele Benutzer wie möglich darauf migrieren, um Support und Schulungen zu standardisieren. Wir wollten auch die Qualität des entwickelten Codes verbessern und ihn schneller, effizienter und kostengünstiger entwickeln“, sagt er. „Unsere Builds und Bereitstellungen hatten hohe Fehlerraten, und weil unsere Anwendungsteams kaum oder gar keine Tests durchführten, gab es Releases, die wahrscheinlich nie in die Produktion gegangen sein sollten, was zu zu vielen Ausfällen führte.“

Die DevOps-Journey wurde zum Anstoß für den Aufbau eines Workflows für vier Gruppen, die in der Vergangenheit nicht gut integriert waren – die Entwicklungs-, QA-, Run- und SDLC-Teams. Die Journey umfasst sowohl Technologie als auch Denkweise und beschleunigt Innovationen, indem komplexe Prozesse in kleinste Arbeitseinheiten zerlegt und nach Möglichkeit parallel ausgeführt werden.

Wir mussten unseren Anwendungskunden einen einzigen, standardisierten SDLC bieten ... Wir wollten auch die Qualität des entwickelten Codes verbessern und ihn schneller, effizienter und kostengünstiger entwickeln. Johannes Comas Manager of Platform DevOps NBCUniversal
Umsetzung – die Geschichte
Schnellere Bereitstellung von Innovationen

Comas und NBCUniversal Senior Director of Service Strategy and Collaboration, Charles Williams, positionierten DevOps intern als gemeinsame Plattform/Framework, um Innovationen schneller zu liefern. Die IBM UrbanCode-Plattform – UrbanCode Build (Automatisierungssoftware für die Anwendungserstellung) und UrbanCode Deploy (Automatisierungssoftware für die Anwendungsfreigabe) – fungiert als DevOps-Motor und ermöglicht es NBCUniversal, kontinuierliche Integration, kontinuierliche Bereitstellung, kontinuierliches Testen, kontinuierliches Feedback und kontinuierliche Überwachung in einem automatisierten Workflow zu kombinieren und Prozesse, Kultur und Technologie im gesamten Unternehmen zu verbinden.

Die UrbanCode-Plattform unterstützt eine Vielzahl von IT-Umgebungen und bietet umfassende Audit-Funktionen, die für ein komplexes Unternehmen wie NBCUniversal von entscheidender Bedeutung sind. „Mit den UrbanCode-Produkten können wir Build-as-a-Service für das Unternehmen bereitstellen. Ich kann jeden Build, der in UrbanCode eingeht, mit einem Klick reproduzieren“, sagt Comas. „Wir haben ein einziges, einheitliches Dashboard, in dem ich alle Aktivitäten sehen kann. Und wir haben klare Aufzeichnungen darüber, was erstellt wurde, die Binärdateien, die sich auf diesen Build beziehen, was damit gemacht wurde, wie es getestet wurde, in welcher Umgebung es bereitgestellt wurde – all das. Geben Sie mir ein Datum, und wenn Sie wissen möchten, was an diesem Datum in der Produktion bereitgestellt wurde, kann ich Ihnen alles erzählen.“

NBCUniversal nutzt die vom IBM Business Partner Skytap entwickelte IBM Cloud for Skytap Solutions (ICSS) in Verbindung mit der IBM UrbanCode Deploy Software, um die Konfiguration und Verwaltung von Testumgebungen während des gesamten Lebenszyklus der Softwareentwicklung zu automatisieren und Regressionstests als Teil der QA-Automatisierung zu parallelisieren.

In einem Fall hat die Fernsehgruppe von NBCUniversal ICSS eingesetzt, um die Regressionstests für Compass, eine große Anwendung für die Planung von Fernsehprogrammen, von 6–8 Wochen auf nur 3 Stunden zu reduzieren. Mit Compass ist eine riesige Regressionstestsuite mit 1.000 Testfällen verbunden. Vor der Nutzung von ICSS führte das QA-Team des Unternehmens diese Tests lokal durch – und zwar jeweils nacheinander. Jetzt haben sie eine Umgebung mit 50 Testmaschinen eingerichtet, die alle auf die Compass QS-Umgebung vor Ort verweisen, wobei 20 Tests pro Maschine parallel ausgeführt werden.

Durch DevOps hat NBCUniversal einen zuvor monolithischen Prozess in Bestandteile zerlegt, wobei das DevOps-Team von Comas die Führung übernimmt, indem es die Infrastruktur bereitstellt, die DevOps-Tools unterstützt, die Tools selbst verwaltet und die Best Practices bei der Nutzung dieser Tools verwaltet. Das Team erstellt außerdem die Automatisierungen für die Entwicklungsteams.

Es war zunächst nicht einfach, sich für DevOps einzusetzen; nicht jeder war dafür empfänglich, daher mussten Comas und Williams einige kulturelle Hürden überwinden. „John und ich haben schon eine Weile über DevOps gesprochen, aber wir stießen auf taube Ohren. Als wir anfingen, über Funktionen zu sprechen und sie dann den App-Eigentümern und dann in der QA-Umgebung zu zeigen, konnten wir erste Erfolge feststellen“, sagt Williams. „Irgendwann, glaube ich, haben John und ich sogar beschlossen, das Wort ‚DevOps‘ nicht mehr zu verwenden, weil es für die meisten Menschen nichts bedeutete. Verbesserte Bereitstellungsgeschwindigkeit bei der Anwendungsentwicklung; in der Lage zu sein, Tests wiederholt und konsistent durchzuführen und schnell Ergebnisse zu erhalten – das ist wichtig. Als wir in diesen Begriffen sprachen, begannen wir, die Kultur zu verändern. Und als wir ein paar Mal die Gelegenheit hatten, unsere agilen Entwicklungsfähigkeiten zu demonstrieren, hörten wir: „Das ist also DevOps. Das ist das, was ich wollte."

" In diesem Sinne haben Tools und Technologien wie die UrbanCode-Software den Kultur- und Prozesswandel vorangetrieben. „Ich denke, die Tools haben dazu beigetragen, das zu stärken, was die Kultur verändert hat; agilere Entwicklung, mehr Shift-Left-Tests“, sagt Williams. „Die Tools untermauerten den DevOps-Prozess, den wir uns vorgestellt hatten, der ein End-to-End-Workflow ist.“
 

Als wir ein paar Mal die Gelegenheit hatten, unsere agilen Entwicklungsfähigkeiten zu demonstrieren, hörten wir: „Oh, das ist also DevOps. Das ist es, was ich mir gewünscht habe.' Charles Williams Senior Director of Service Strategy and Collaboration NBCUniversal
Erfolgsgeschichte
Automatisierung für Geschwindigkeit und Qualität

Die Fernsehgruppe von NBCUniversal in New York ist ein Beispiel dafür, wie die DevOps-Journey des Unternehmens Gestalt angenommen hat. Dieser spezielle Geschäftsbereich ist der Fernsehvertriebszweig von NBCUniversal und teilweise für die Planung der On-Air-Inhalte für alle NBCUniversal-eigenen Sender verantwortlich. Wie bereits erwähnt, ist die Compass-Anwendung für diese Aufgabe von zentraler Bedeutung.

Comas und sein Team migrierten die Entwicklung für Compass – eine umfangreiche .net-basierte App – auf die UrbanCode-Plattform vor etwa 18 Monaten. „Ich würde den vorherigen Compass-Prozess als einen ‚manu-matischen‘ Prozess beschreiben; Sie würden ihren Code in das Repository übernehmen, manuell auf die Schaltfläche „Erstellen“ klicken und ihn dann in einer Umgebung bereitstellen. Sobald sie es in einer Umgebung bereitgestellt hatten, war es im Grunde dem QA-Team überlassen“, sagt er. „Es verging also etwa eine Woche, und sie erhielten einige Ergebnisse, machten einen weiteren Build und schickten ihn zurück an die Qualitätssicherung und so weiter und so weiter. Daher war die Markteinführungszeit einer Anwendung sehr lang – es dauerte 20 Wochen, bis eine Version herauskam. Ein Grund dafür, dass es so lange gedauert hat, ist, dass das QA-Team umfassende Tests mit einer Version durchgeführt hat, die den geschäftlichen Anforderungen möglicherweise nicht entsprochen hat."

Das Ziel des Compass-Anwendungsteams war es, diese Zeit um 75 Prozent auf fünf Wochen zu verkürzen. „Nachdem wir sie auf die UrbanCode-Plattform umgestellt hatten, konnten sie dieses Ziel erreichen. Tatsächlich wollen wir jetzt die Markteinführungszeit auf zwei Wochen verkürzen“, sagt Comas. Zunächst integrierte sein Team die QA-Automatisierung in den Compass-Workflow, sodass nicht mehr zahlreiche QA-Tests für jede Bereitstellung manuell durchgeführt werden mussten. „Wir begannen mit Shift-Left-Tests. Wir haben Unit-Tests für die Anwendungsversion durchgeführt und eine Code-Coverage-Analyse darauf ausgeführt. Gleichzeitig haben wir einen kleinen Funktionstest gestartet, bei dem wir die verschiedenen Geschäftsanforderungen beobachtet und Tests erstellt haben, um diese zu prüfen. So konnten wir, bevor das Release überhaupt beim QA-Team ankam, um es voll funktionsfähig zu machen und einem Regressionstest zu unterziehen, sofort Feedback erhalten, ob das Release gut war oder nicht. Das allein hat die Dinge erheblich beschleunigt.“

Der DevOps-Ansatz von NBCUniversal beseitigte auch Silos bei der Bereitstellung. „In der Vergangenheit konnten Releases nur an bestimmten Wochentagen stattfinden – in der Regel Dienstag- und Donnerstagabend – und wenn man dieses Fenster verpasste, konnte man erst im darauffolgenden Fenster ein Release durchführen“, sagt Comas. „Durch die Zusammenarbeit mit dem Compass Run-Team können wir jetzt viel häufiger Bereitstellungen in der Produktion durchführen, was zu kleineren, häufigeren Releases führt. Sie sind also viel flexibler und können die Geschäftsanforderungen viel schneller erfüllen. Kurz gesagt, die Codequalität hat sich verbessert, er läuft schneller und wir sind in der Lage, die Geschäftsanforderungen viel schneller zu erfüllen.“

Aus technologischer Sicht gibt die UrbanCode-Plattform seinem Team laut Comas die Möglichkeit, eine Vielzahl von Tools in einen automatisierten Workflow zu integrieren, wodurch eine übermäßige Abhängigkeit von Entwicklern vermieden wird. „Wenn ein Entwickler bei UrbanCode Code ohne angemessene Komponententests festschreibt, wird er gekennzeichnet. Wenn ein Entwickler das nicht als Teil des Workflows hätte, wüsste man das nicht. Es erfolgt keine Rückmeldung in den Prozess, die Ihnen den Status der Bewerbung mitteilt. Unser Compass-Workflow ist wahrscheinlich die umfassendste Automatisierung, die wir haben, und die Technologie hilft uns, die Anwendungsqualität zu verbessern und die Build-Qualität um eine Größenordnung zu verbessern. Darüber hinaus liefern wir die vom Unternehmen gewünschten Änderungen viel schneller. Das sind die ultimativen Ziele; die Gründe, warum wir uns auf dieser DevOps-Journey befinden.“

Für Williams und Comas geht es bei DevOps darum, Vertrauen aufzubauen und Vorhersagbarkeit, Geschwindigkeit und Qualität im Lebenszyklus der Softwarebereitstellung zu gewährleisten. „Wir bieten eine robuste Infrastruktur, die unseren Anwendungsteams ein hohes Maß an Qualität und Service garantiert“, sagt Comas. Tatsächlich gewinnt das DevOps-Team so viel Vertrauen, dass die Geschäftsbereiche es nun um Hilfe bei größeren Projekten bitten. „Da wir gezeigt haben, dass die Funktionen flexibel und erweiterbar sind und dass sie es uns ermöglichen, innerhalb eines sehr engen Zeitrahmens zu liefern, haben wir eine Versechsfachung des Projektvolumens von zehn auf mehr als 60 Anwendungen festgestellt. Wir bieten einen Weg zur Anwendungsproduktion, der ein Maß an Selbstvertrauen vermittelt, das wir noch nie hatten.“
 

…die Codequalität hat sich verbessert, es geht schneller und wir sind in der Lage, die Geschäftsanforderungen viel schneller zu erfüllen. Johannes Comas Manager of Platform DevOps NBCUniversal
NBCUniversal

NBCUniversal ist ein multinationaler Multimedia-Konglomerat mit Hauptsitz in New York City. Das Unternehmen mit einem Umsatz von rund 30 Milliarden US-Dollar ist hauptsächlich in der Medien- und Unterhaltungsbranche tätig; Zu den bedeutendsten Geschäftsbereichen zählen der Fernsehsender NBC und das große Filmstudio Universal Studios. Durch die Abteilung Universal Parks & Resorts ist es auch der drittgrößte Betreiber von Vergnügungsparks der Welt.
 

Machen Sie den nächsten Schritt

Um mehr über die IBM UrbanCode-Software oder IBM Cloud for Skytap Solutions zu erfahren, wenden Sie sich bitte an Ihren IBM-Vertriebsbeauftragten oder IBM Geschäftspartner oder besuchen Sie die folgenden Websites: 


Weitere Kundenreferenzen ansehen oder mehr über IBM Cloud erfahren

PDF anzeigen NBCUniversal skaliert DevOps in einem großen Unternehmen mit unterschiedlichen Geschwindigkeiten
Fußnoten

© Copyright IBM Corporation 2016. IBM Cloud, Route 100, Somers, NY 10589 Hergestellt in den Vereinigten Staaten von Amerika, November 2016. IBM, das IBM Logo, ibm.com und UrbanCode sind Marken der IBM Corporation, die weltweit in vielen Ländern registriert sind. Weitere Produkt‐ und Servicenamen können Marken von IBM oder anderen Unternehmen sein. Eine aktuelle Liste der Marken von IBM finden Sie auf der Webseite „Copyright- und Markeninformationen“ unter ibm.com/legal/copytrade.shtml. Das vorliegende Dokument ist ab dem Datum der Erstveröffentlichung aktuell und kann jederzeit von IBM geändert werden. Nicht alle Angebote sind in allen Ländern verfügbar, in denen IBM tätig ist. Es liegt in der Verantwortung der Anwender, die Nutzbarkeit anderer Produkte oder Programme neben den Produkten und Programmen von IBM zu evaluieren und verifizieren. DIE INFORMATIONEN IN DIESEM DOKUMENT WERDEN OHNE JEGLICHE AUSDRÜCKLICHE ODER STILLSCHWEIGENDE GARANTIE ZUR VERFÜGUNG GESTELLT, EINSCHLIESSLICH DER GARANTIE DER MARKTGÄNGIGKEIT, DER EIGNUNG FÜR EINEN BESTIMMTEN ZWECK UND DER GARANTIE ODER BEDINGUNG DER NICHTVERLETZUNG VON RECHTEN. Die Garantie für Produkte von IBM richtet sich nach den Geschäftsbedingungen der Vereinbarungen, unter denen sie bereitgestellt werden. Aussagen über die zukünftige Ausrichtung und die Absichten von IBM können ohne Vorankündigung geändert oder widerrufen werden und stellen lediglich Ziele und Absichten dar.