Airbus hebt ab mit GitLab und veröffentlicht Funktionen 144 x schneller
Möchtest du sehen, was GitLab Ultimate für dein Team tun kann?
Airbus Intelligence ist ein weltweit führender Anbieter in der Geodatenbranche und benötigte eine Plattform für effektive Zusammenarbeit.
Mit der kontinuierlichen Integration (CI) in einer einzigen Anwendung von GitLab hat Airbus Intelligence seinen Workflow und die Codequalität verbessert.
Ein globaler Pionier in der Luft- und Raumfahrt
Airbus Intelligence ist ein führender Anbieter von kommerziellen Satellitenbildern und Premium-Geodatendiensten sowie innovativen Verteidigungslösungen. Die Produkte und Dienstleistungen des Unternehmens unterstützen Entscheidungsträger(innen) weltweit dabei, die Sicherheit zu erhöhen, die Einsatzplanung zu optimieren, die Leistung zu steigern, die Verwaltung natürlicher Ressourcen zu verbessern und die Umwelt zu schützen.
Einen besseren Workflow für Entwickler(innen) einführen
Als länderübergreifendes Unternehmen benötigt Airbus Intelligence Tools, die die weltweite Zusammenarbeit und Effizienz des Teams verbessern. Die Intelligence-Abteilung wollte die üblichen Herausforderungen vieler globaler Unternehmen vermeiden: verteilte Teams und unzusammenhängende Toolchains, die zu ineffizienten Workflows und einer langsamen Produktion führen. Ein verbesserter Workflow, der diese Herausforderungen überwindet, die Teams effizienter macht und die Kommunikation fördert, hatte hohe Priorität. Logan Weber ist Software Automation Engineer in der Web Factory. Einen besseren Workflow für Entwickler(innen) zu finden, war eine seiner Hauptaufgaben, und die Agilität der Web Factory macht das Team zu einem idealen Testfeld für neue Tools und Technologien. Für Logan war es wichtig, dass alle eingesetzten Tools ein ähnliches Engagement für Innovation zeigen. „Wir befinden uns mitten in einer digitalen Transformation“, sagt Logan. „Wir wollen uns mit Partnern zusammenschließen, die wissen, was sie tun und mit uns Schritt halten können.“
Eine der großen Herausforderungen für das Web-Factory-Team war, dass seine Prozesse nicht effizient genug waren, was zu verspäteten Veröffentlichungen und Zeitverlusten bei der Entwicklung führte. Es kam durchaus vor, dass die Entwickler(innen) mindestens einen ganzen Tag mit der Produktionseinrichtung verbrachten. Außerdem wurde zu viel Zeit für einfache Aufgaben aufgewendet, die eigentlich automatisiert ablaufen sollten. Diese manuellen und langwierigen Prozesse frustrierten die Entwickler(innen), da sie sich deswegen weniger auf das Programmieren konzentrieren konnten. Mit einem neuen Tool hoffte das Web-Factory-Team auch, Kommunikationsstörungen zwischen den Teams zu vermeiden. Nachdem sie so viel Zeit mit der Produktionseinrichtung verbracht hatten, stellten die Entwickler(innen) manchmal fest, dass das Endprodukt nicht der ursprünglichen Anforderung entsprach, was dann zu zusätzlichem Aufwand führte. „Wir mussten Bugs anlegen, um diese Fehler zu beheben. Aber es waren keine Fehler, sondern nur ein Mangel an Kommunikation“, erklärt Logan.
Auf der Suche nach dem richtigen Entwicklungsworkflow testete das Web-Factory-Team mehrere Tools. Da Jira bereits in Verwendung war, entschied das Team sich, andere Atlassian-Produkte wie BitBucket für die Versionskontrolle und Bamboo für CI zu testen. Leider boten weder BitBucket noch Bamboo eine benutzerfreundliche Umgebung, und beiden Tools fehlen einige der Funktionen, die das Team benötigt. Bei alten Projekten verwendete das Web-Factory-Team Jenkins. Die Wartung war jedoch zu kompliziert. Das Team wollten außerdem in der Lage sein, Bereitstellungsskriptprozesse als Code zu speichern.
Ein einheitlicher GitLab-Workflow
„Es gab ein bisschen von allem, aber wir konnten einfach nicht genau das finden, wonach wir suchten“, sagt Logan. Nachdem das Web-Factory-Team andere Tools ausprobiert hatte, entschied es sich für GitLab, da es mehrere Vorteile gegenüber den anderen getesteten Tools bietet. GitLab bietet nicht nur Versionskontrolle und Projektmanagement-Funktionen, sondern auch erstklassige CI – und das alles in einer einzigen Anwendung. Die Web Factory verwendet eine Scrum-Methode mit zweiwöchigen Sprints. Entwickler(innen) erstellen eine User Story in Jira und sobald sie bereit sind, daran zu arbeiten, erstellen sie ein Ticket in GitLab. Wenn die Teams alle Informationen gesammelt und in den Tickets zusammengetragen haben, erstellen sie einen Merge Request (MR), der einen Branch für die Entwicklung erstellt. Wenn die Entwickler(innen) fertig sind, können sie andere Entwickler(innen) bitten, ihren Code zu überprüfen. Der Code durchläuft CI-Tests und sobald alle Tests erfolgreich durchlaufen sind, kann der oder die Prüfer(in) diesen Entwicklungs-Branch mit dem main-Branch zusammenführen. Da all dies durch den MR geht, kann jeder den gesamten Prozess von Anfang bis Ende nachvollziehen. Zusätzlich bot GitLab dem Team die Möglichkeit, seine Bereitstellungsskripte mithilfe der Datei .gitlab-ci.yml
als Code zu speichern – eine der wichtigsten Funktionen für das Team.
Für Entwickler(innen) war es auch sehr hilfreich, Sicherheits- und Sicherheitslückenscans in die Integrationstests einzubauen. „Früher änderten wir einen Teil des Codes und ein anderer Teil funktionierte deshalb plötzlich nicht mehr. Jedes Mal, wenn jetzt ein(e) Entwickler(in) Code pusht, können wir Probleme sofort erkennen“, sagt Logan. Tickets und MRs sind ein teamübergreifender Ort, an dem alle zusammenarbeiten können. Mit integriertem CI können Teams jedes Projekt von Anfang bis Ende anzeigen, und diese Transparenz hat auch das Rätselraten bei Bereitstellungen beseitigt. Anstatt sich auf eine Person zu verlassen, die eine Bereitstellung verwaltet, weil sie sich mehr mit dem spezifischen Projekt befasst oder besser darüber Bescheid weiß, kann jedes Teammitglied eine Bereitstellung durchführen, da er oder sie die gleiche Sichtbarkeit wie alle anderen hat.
Bessere Codequalität, verbesserte Zusammenarbeit, zufriedene Entwickler(innen)
Der erste Erfolg, den die Web Factory nach der Einführung von GitLab verzeichnete, war die Verbesserung der Codequalität. Dank der integrierten Sicherheitstests von GitLab CI konnten Entwickler(innen) jetzt Fehler und Sicherheitslücken identifizieren, bevor sie die Produktion erreichten. Mit GitLab CI konnte das Web-Factory-Team auch häufiger und zuverlässiger bereitstellen. Anstatt einen ganzen Tag damit zu verbringen, die Produktionsumgebung einzurichten und manuelle Tests durchzuführen, werden diese einfachen Aufgaben jetzt automatisiert. Dadurch konnte die Veröffentlichungszeit von 24 Stunden auf nur 10 Minuten verkürzt werden. Heute schätzt Logan, dass 98 % der Veröffentlichungen pünktlich erfolgen und die restlichen 2 % nur wenige Stunden später – eine enorme Verbesserung gegenüber zuvor.
Die Zusammenarbeit wurde verbessert, da alle an einem Ort kommunizieren können. Jetzt weiß jeder technische Stakeholder, woran gearbeitet wird und wie der Stand des Projekts ist, und die Entwickler(innen) wissen, wo sie die Informationen finden, die sie für ihre Arbeit brauchen. Entwickler(innen), Designer(innen), Sicherheits- und Betriebsteams haben alle einen Platz im Tool. Die Verbesserungen bei der Codequalität, den Bearbeitungszeiten und der Kommunikation waren zwar erwartet worden, aber die Einführung von GitLab brachte auch einige unerwartete Vorteile mit sich, die Logan und das Web-Factory-Team positiv überraschten: zufriedenere Entwickler(innen).
Zum einen nahm GitLab CI den Druck von der Bereitstellung. „Wenn jemand im Urlaub war, konnte es die Hölle sein“, lacht Logan. Mit einer besseren Automatisierung können sich Entwickler(innen) jetzt außerdem auf Upgrades, technisch anspruchsvolle Aufgaben und Updates konzentrieren. Was können Entwickler(innen) mit dieser neu gewonnenen freien Zeit sonst noch tun? „Wir können Funktionen erstellen!“, sagt Logan. „Wir erstellen und verbessern Funktionen für Anwendungen, und dafür gab es vorher einfach keine Zeit. Wir haben 17 Anwendungen, und jetzt können sich die Entwickler(innen) auf die wichtigen Dinge konzentrieren.“
Der Fakt, dass die Entwickler(innen) zufriedener sind, hatte auch einen positiven Einfluss auf die Rekrutierung. „[Die Web Factory] hatte zuvor Schwierigkeiten, Entwickler(innen) zu rekrutieren, aber jetzt, da GitLab Teil des Tech-Stacks ist, bekommen wir mehr Bewerbungen von erfahreneren Entwickler(inne)n.“, erklärt Logan. Wenn sich Entwickler(innen) auf ihre Arbeit konzentrieren können, wird es einfacher, andere talentierte Entwickler(innen) anzulocken. Für Logan hat die Einführung von GitLab den gesamten Entwicklungsprozess zum Besseren verändert. Das Web-Factory-Team verwendet GitLab nun seit drei Jahren. Logan ist ein GitLab Hero, der seine Erfahrung und sein Fachwissen regelmäßig mit anderen teilt. Wenn sein Team GitLab nicht eingeführt hätte, wäre es seiner Meinung nach nicht so effizient. „Wir hätten immer noch lange Prozesse, lange Entwicklungszeiten und immer weniger motivierte Entwickler(innen), die die Projekte, an denen sie arbeiten, nicht mehr mögen und sie am Ende verlassen“, fasst Logan zusammen.
Alle Informationen und Personen, die an der Fallstudie beteiligt waren, waren zum Zeitpunkt der Veröffentlichung korrekt.