Lockheed Martin spart mit GitLab Zeit, Geld und technische Ressourcen
Möchtest du sehen, was GitLab Ultimate für dein Team tun kann?
Das weltweit größte Verteidigungsunternehmen nutzt die End-to-End-DevSecOps-Plattform von GitLab, um Toolchains zu verkleinern, die Produktion zu beschleunigen und die Sicherheit zu verbessern.
Die Lockheed Martin Corp., ein amerikanischer Gigant in den Branchen Luft- und Raumfahrt, Verteidigung, Informationssicherheit und Technologie, hat sich für die einheitliche End-to-End-DevSecOps-Plattform von GitLab entschieden, um Software für Tausende ihrer Programme effizienter, sicherer und schneller zu entwickeln und bereitzustellen. Dies reicht von Satellitenplattformen und Luft- und Raumfahrtsystemen über Bodenkontrollsoftware bis hin zu Software für maritime Über- und Unterwasseranwendungen.
Missionsanforderungen mit Schnelligkeit und Flexibilität erfüllen
Lockheed Martin mit Sitz in Bethesda, Maryland, beschäftigt weltweit rund 116.000 Mitarbeiter(innen) und verfügt über mehr als 370 Einrichtungen. Das Unternehmen befasst sich hauptsächlich mit der Forschung, dem Design, der Entwicklung, der Herstellung, der Integration und der Aufrechterhaltung fortschrittlicher technologischer Systeme, Produkte und Dienstleistungen. Der Großteil der Geschäfte des Unternehmens ist mit dem US-Verteidigungsministerium und den US-Bundesbehörden verbunden. Allein in der Luft- und Raumfahrtindustrie erzielte Lockheed Martin 2021 einen Umsatz von 26,7 Milliarden US-Dollar.
Die Kund(inn)en von Lockheed Martin sind auf das Unternehmen angewiesen, um ihre komplexesten Herausforderungen zu meistern und aufkommenden Bedrohungen durch die Bereitstellung der technologisch fortschrittlichsten Lösungen einen Schritt voraus zu sein. Die Ingenieurteams von Lockheed Martin müssen schnell und flexibel sein, um die verschiedensten Missionsanforderungen zu erfüllen, und gleichzeitig das gemeinsame Fachwissen und die Infrastruktur nutzen können, um die Erschwinglichkeit zu gewährleisten.
Toolchain-Komplexität
Lockheed Martin verwendete in der Vergangenheit eine Vielzahl von DevOps-Tools – von ClearCase über Jenkins, Dimensions und Redmine bis hin zu Bitbucket. Jedes Programm oder jede Produktlinie im Unternehmen hatte seine eigene Toolchain. Kaum eines glich dem anderen, da die Teammitglieder einfach Tools auswählten, mit denen sie vertraut waren.
Das führte zu uneinheitlichen Wirkungsgraden und Ergebnissen.
Laut Alan Hohn, Director of Software Strategy bei Lockheed Martin, hing die Qualität der Entwicklungs- und Bereitstellungsumgebung oft davon ab, wie viel Glück das DevOps-Team gerade hatte. Gut finanzierte Programme oder solche mit einer vorausschauenden Führung verfügten möglicherweise über eine hochwertige Automatisierung für alles, vom Testen bis hin zu kontinuierlichen Bereitstellungen, während andere Programme möglicherweise nur einen Build-Server zum Ausführen von Kompilierungen nutzten. Und im schlimmsten Fall verwendeten Programme möglicherweise überhaupt keine Automatisierung, was zu mehr praktischer Arbeit führte, die den Teammitgliedern Zeit raubte und die Wahrscheinlichkeit von übersehenen Problemen erhöhte.
Zunehmende Zusammenarbeit
Eine weitere Herausforderung bestand darin, dass die Softwareentwicklungsteams bei Lockheed Martin zahlreiche Versuche unternommen hatten, Code-Repositorys einzurichten, die es den Entwickler(inne)n ermöglichen sollten, den Code programmübergreifend wiederzuverwenden – aber diese Repos wurden selten oder gar nicht genutzt, weil sie nie in die zahlreichen Umgebungen integriert waren, in denen die Teams die Software tatsächlich entwickelten. Das bedeutete, dass die Entwickler(innen) ohne eine solide Umgebung für die Zusammenarbeit immer wieder bei Null anfangen mussten und der Code in den Repositorys einfach „vor sich hin vegetierte“, sagt Hohn.
Nachdem Lockheed Martin die Plattform von GitLab auf breiter Basis eingeführt hatte, wurde die gemeinsame Nutzung und Wiederverwendung von Software problemlos in den täglichen Betrieb integriert.
„GitLab hat unsere Herangehensweise an wiederverwendbare Software komplett verändert, weil der Ort, an dem wir Software entwickeln, jetzt auch der Ort ist, an dem Andere diese Entwicklung teilen, dazu beitragen und sich daran beteiligen können“, sagt Hohn. „Jetzt haben alle unsere Programme Zugang zu einer hochwertigen Softwareentwicklungsumgebung.“
Diese Entwicklungsumgebung kommt direkt den Kund(inn)en von Lockheed Martin zugute. Ein Team, das an einem Programm für das US-Verteidigungsministerium arbeitete, konnte durch den Einsatz von GitLab-Pipelines mit Container-Builds die Build-Zeiten von 12 Stunden auf 4 Stunden reduzieren. Dadurch konnte das Programm 16 statt 4 Builds pro Nacht durchführen, was die Testhäufigkeit und die Softwarequalität erhöhte. Insgesamt stieg die Erfolgsquote der Builds von 60 % auf 90 %. Infolgedessen erhalten die Kund(inn)en die neuen Funktionen schneller und in besserer Qualität.
Kontinuität schaffen
Eine der größten Herausforderungen für Lockheed Martin bei der Zusammenarbeit zwischen den Programmen und im gesamten Unternehmen war die Tatsache, dass sich die Software in vielen verschiedenen Systemen mit unterschiedlichen Sicherheitsanforderungen befand. Mit GitLab und der Software Factory von Lockheed Martin kann das Unternehmen seine Software so modularisieren, dass wiederverwendbare Komponenten in global zugänglichen Umgebungen gemeinsam genutzt werden können, während die Teams gleichzeitig eine strenge Kontrolle über geschäftskritische oder sicherheitsrelevante Softwarekomponenten behalten können.
Ein Hauptmerkmal der Software Factory von Lockheed Martin ist, dass sie eine gemeinsame GitLab-CI-Konfiguration (YAML) sowie gemeinsame CI-Container-Images bereitstellt, die so vorkonfiguriert sind, dass sie mit den anderen Softwareentwicklungswerkzeugen des Unternehmens funktionieren.
Die Teams müssen aus Sicherheitsgründen getrennte Umgebungen unterhalten, so dass ihre Konfiguration in verschiedenen Hosting-Umgebungen für Image-Registrys und zugehörige Tools funktionieren muss. Außerdem müssen sie bestimmte Versionen ihrer Software oft über Jahre hinweg aufrechterhalten, da sie manchmal in Betriebsumgebungen bereitgestellt werden, in denen sie nicht häufig aktualisiert werden können.
Um diese Herausforderungen zu meistern, hat Hohns Team einen Katalog gängiger Pipelines für gängige Programmiersprachen mit Modulen für Sicherheitsscans, Container-Image-Builds und semantische Versionierung erstellt. Der Pipeline-Katalog ermöglicht es Entwickler(inne)n, dieselbe YAML-Quelldatei in verschiedenen Umgebungen zu verwenden, ohne Änderungen vornehmen zu müssen. Der Katalog ermöglicht es außerdem, einen früheren Build mit einer bestimmten Version einer Pipeline zu erstellen und garantiert Versionskonsistenz.
Vor der Einführung von GitLab hatte Lockheed Martin einige Versuche unternommen, einen gemeinsamen Satz von Pipelines zu erstellen, aber sie unterstützten nur wenige Benutzer(innen) und waren zu präskriptiv. Es war nicht genug.
Mit GitLab als Grundlage für den Pipeline-Katalog konnte Lockheed Martin Pipeline-Vorlagen erstellen, die in verschiedenen Umgebungen wiederverwendet werden können, auch in nicht verbundenen Netzwerken. Das spart Zeit und Mühe und sichert die Kontinuität zwischen den Projekten. Pipeline-Updates sind jetzt einfacher, und anspruchsvolle Tests sowie das Release Management sind unkomplizierter und effizienter.
„Jetzt können wir sicher sein, dass Änderungen an unseren Pipelines automatisch und gründlich getestet werden, und wir können sowohl schnell arbeitende Entwicklungsteams als auch risikoscheue Teams, die geschäftskritische Funktionen aufrechterhalten, problemlos unterstützen“, sagt Hohn. „Unser neuer Ansatz, der auf einigen wichtigen GitLab-CI-Funktionen aufbaut, hat uns dabei geholfen, die richtige Balance zwischen Gemeinsamkeit und Anpassung zu finden.“
Lockheed Martin stellt jetzt 2.500 Pipelines pro Minute über den gemeinsamen Pipeline-Katalog bereit.
Skalierung
Da die schnelle Einführung von GitLab eine skalierbare Lösung erforderte, arbeiteten Lockheed Martin, GitLab und Amazon Web Services (AWS) zusammen, um die unternehmensweite Bereitstellung von Code zu automatisieren und zu optimieren. Die Lösung begann mit einer gut durchdachten Überprüfung des Designs durch die drei Unternehmen. AWS half anschließend dabei, die Bereitstellung von Lockheed Martin GitLab für die CI/CD-Umgebung zu automatisieren und zu optimieren, indem es Infrastructure as Code (IaC) bereitstellte, um die Umgebung innerhalb von zwei Stunden statt wie zuvor in mehreren Stunden bereitzustellen.
Das AWS-Team richtete außerdem Workflows ein, um eine vollständig automatisierte, hochverfügbare Notfallwiederherstellungsarchitektur für GitLab bereitzustellen, die konform und skalierbar ist. Dies ermöglichte einen einheitlichen Prozess, der ohne manuelle Eingriffe abläuft. AWS unterstützte auch den Lastausgleich, um den Bereitstellungsprozess je nach Bedarf der Entwickler(innen) an Pipeline-Ausführungen und Benutzerdatenverkehr automatisch zu skalieren, damit die Entwickler(innen) nicht auf die Ausführung der Bereitstellungen warten müssen. Vor der Migration wurden Tests durchgeführt, um Basiswerte festzulegen, gefolgt von Tests nach der Migration, um die Leistungs- und Skalierbarkeitsgewinne bei der Bereitstellung schnellerer Bereitstellungen zu messen.
Darüber hinaus wurden Überwachungs- und Sicherheitskontrollen implementiert, um die Sicherheitsrichtlinien von Lockheed Martin einzuhalten. Infolgedessen war das Team in der Lage, die betrieblichen Vorgänge effizienter zu gestalten, indem die Anzahl der zu bearbeitenden Anforderungen von 200 auf Null sank und die Zeit für die Bereitstellung des Codes im gesamten Unternehmen verkürzt wurde. Dieses Projekt hat gezeigt, wie große Unternehmen mit Tausenden von Softwareentwickler(inne)n mithilfe von Plattformen wie GitLab und den bewährten Methoden von AWS automatisierte, skalierbare und robuste Code-Pipelines in der Cloud erstellen und bereitstellen können.
Die Entscheidung für GitLab
Lockheed Martin brauchte keine formale Bewertung der GitLab-Plattform vorzunehmen, bevor es sich für sie entschied. Die DevOps-Teams des Unternehmens hatten im Laufe der Jahre eine Vielzahl der Tools auf dem Markt genutzt und wussten daher, welche Fähigkeiten und Vorteile GitLab bieten würde. Die in GitLab integrierte Funktion der kontinuierlichen Integration war beispielsweise ein „Killer-Feature“, so Hohn.
Und das Unternehmen hat sich tief auf GitLab eingelassen. Heute gibt es etwa 64.000 Projekte auf der GitLab-Plattform – einige ältere Projekte wurden auf GitLab migriert, andere wurden auf der Plattform begonnen.
Lockheed Martin hat zwar nicht alle Toolchains abgeschafft, aber das Unternehmen hat sie stark reduziert und damit die Komplexität, die Kosten und die Workload verringert.
„Wir haben erkannt, dass es Programme geben wird, bei denen die Kund(inn)en die Entwicklungsumgebung selbst in die Hand nehmen möchten und ein bestimmtes Tool benötigen“, erklärt Hohn. „Wir möchten den Punkt erreichen, an dem der Wunsch, eine eigene Toolchain aufzubauen, gar nicht erst entsteht. Die Kund(inn)en benutzen einfach GitLab, weil sie wissen, dass es funktioniert.
„Haben wir alle Spuren [von Toolchains] ausgelöscht? Nein“, ergänzt Hohn. „Aber sie sind jetzt so gering, dass sie für uns keine Rolle mehr spielen.“
Bevor GitLab in großem Umfang eingeführt wurde, nutzte das Unternehmen beispielsweise Jenkins für CI-Server – tausende Jenkins-Instanzen im gesamten Unternehmen. Das ist jetzt nicht mehr der Fall.
„Alle mussten eine eigene Installation pflegen. Wir haben das auf GitLab reduziert“, sagt Hohn. „Es gibt zwar immer noch Jenkins-Instanzen, aber das ist nur noch ein Bruchteil dessen, was wir vor drei Jahren hatten.“
Zeit- und Arbeitsersparnis
Die reduzierten Toolchains sparen dem Unternehmen Zeit, Aufwand und Geld, so dass es weiterhin innovativ sein und seinen Kund(inn)en kostengünstige Lösungen anbieten kann.
„Teams, die unabhängige Umgebungen nutzten, mussten etwa 20 Stunden pro Woche und 80 Stunden pro Monat aufwenden, um das System am Laufen zu halten“, sagt Hohn. „Bei einem 12-köpfigen Team bedeutet das, dass mindestens eine halbe Person mit dieser Aufgabe beschäftigt war. Dies haben wir um etwa 90 % reduziert. Jetzt werden nur noch ein paar Personenstunden benötigt. Das multipliziert sich auf viele Teams. Als Unternehmen mit über 10.000 Software Engineers können wir so Hunderte oder Tausende von Stunden pro Jahr einsparen.“
Laut Hohn bedeutet die Tatsache, dass all diese Projekte auf der GitLab-Plattform laufen, dass Legacy-Programme, die früher im Durchschnitt monatlich und vierteljährlich für Tests bereitgestellt wurden, jetzt alle sechs Tage für Tests und alle 26 Tage für den Betrieb bereitgestellt werden.
„Das, was früher monatlich bereitgestellt wurde, wird jetzt typischerweise wöchentlich bereitgestellt“, fügt er hinzu. „Wir erleben auch, dass aus vierteljährlichen nun monatliche Bereitstellungen werden. Damit möchte ich sagen, dass dieses Ausmaß an Veränderungen sehr verbreitet ist.“
Diese Zeitersparnis bedeutet, dass das Unternehmen sicherer und zuverlässiger auf Kundenwünsche reagieren kann.
„Wir bedienen viele Kund(inn)en und haben viele Softwareentwicklungsaktivitäten“, sagt Ian Dunbar-Hall, Senior Software Engineer bei Lockheed Martin. „Mit GitLab kann ein Team innerhalb von 30 Minuten von Grund auf ein Repository und eine vollständige KI-Pipeline aufbauen, anstatt wie früher mindestens 40 Stunden dafür aufzuwenden.“
Verbesserung der Sicherheit
Da Lockheed Martin mit dem Verteidigungsministerium und anderen Bundesbehörden zusammenarbeitet, entwickelt das Unternehmen Systeme, die für die nationale Sicherheit entscheidend sind. Das bedeutet, dass die Entwicklung sicherer Software sowohl für Lockheed Martin als auch für seine Kund(inn)en von zentraler Bedeutung ist. Eine Herausforderung für jedes Unternehmen, das Toolchains einsetzt, besteht darin, dass man aufgrund der schieren Größe und Komplexität der Kette leicht einmal ein Update verpassen kann. Mit GitLab müssen Unternehmen sich keine Sorgen mehr darüber machen, dass sie Tools verwenden, die noch nicht aktualisiert wurden, denn mit einer einzigen End-to-End-Plattform muss ein Update nur einmal durchgeführt werden, und jede Instanz ist abgedeckt.
Und durch seine verteidigungs- und sicherheitsorientierten Kund(inn)en ist Compliance ein wichtiges Thema für Lockheed Martin. Mit dem Compliance Framework von GitLab kann das Unternehmen die Qualität der Software durchsetzen und die Releases und das Abhängigkeitsmanagement durch Automatisierung effizienter und schneller gestalten.
Die Verwendung einer einzigen Plattform bedeutet auch, dass die Teams eine standardisierte Reihe von automatisierten, nahtlos integrierten Sicherheitsfunktionen – von hochmodernen Analysetools bis hin zu Sicherheitslücken-Scans und Sicherheitsautomatisierung – zur Hand haben. Vor dem Einsatz von GitLab verfügten nicht alle Teams über die besten Sicherheitstools, und es gab keine standardisierte Methode für die Handhabung von Sicherheitspraktiken. Mit dem gemeinsamen Pipeline-Katalog von Lockheed Martin nutzen die Teams nun auch Standard-Pipelines, die bereits über erstklassige Sicherheitsfunktionen verfügen. „Jetzt, wo wir einen einheitlicheren Ansatz verfolgen, ist es für die Teams viel einfacher, eine einheitliche Vorgehensweise bei der Softwareerstellung, beim Testen und bei Sicherheitsscans zu nutzen, was die Qualität der Produkte, die wir erstellen, erhöht“, sagt Hohn.
Mit GitLab benötigen Teams keine schwierig zu findenden Sicherheitsexpert(inn)en mehr, um verschiedene Tools zu konfigurieren. Laut Hohn ist erstklassige Sicherheit bereits integriert.
„Heutzutage ist es äußerst üblich, dass alle unsere Pipelines über ausgefeilte Sicherheitsscanning-Funktionen verfügen, da der Aufwand, diesen in die Pipelines aufzunehmen, so viel geringer ist“, sagt Hohn. „Die Teams sind sich jetzt der Sicherheitslage des Codes, den sie schreiben, auf eine Weise bewusst, die sie vorher nicht kannten. Das ermöglicht Gespräche über die Sicherheit unserer Software, die auf bisherige Weise nicht möglich waren.“
Das Unternehmen verwendet immer noch einige ältere Sicherheitstools von Drittanbietern, aber die Teams nutzen die Plattform von GitLab, um die Integration aller Tools zu erleichtern. „Es ist eine großartige Ergänzung“, sagt Jeff Daniels, Director Automations and Applications. „Mit GitLab ist es jetzt einfacher, und das erhöht unsere Sicherheitslage und unsere Qualität.“
Lockheed Martin möchte mit GitLab weiter wachsen. DevOps-Teams werden noch mehr ihrer Projekte auf die DevSecOps-Plattform migrieren und von dort aus expandieren. „Wir hoffen, dass die Anzahl der Projekte, die Sicherheits- und Software-Lieferkettenfunktionen nutzen, einschließlich Compliance-Pipelines und Dashboards, zunimmt“, sagt Hohn.
Alle Informationen und Personen, die an der Fallstudie beteiligt waren, waren zum Zeitpunkt der Veröffentlichung korrekt.
Kundenerfolge
Alle Stories anzeigenErlebe selbst, was GitLab zu bieten hat
Sieh dir an, was dein Team mit einer einheitlichen Plattform für die Softwarebereitstellung erreichen kann.
Kostenlose Testversion anfordernHast du eine Frage? Wir helfen gerne.
Sprich mit einem Experten/einer Expertin