CACI nutzt GitLab, um die Bereitstellung von Technologien für Kund(inn)en des öffentlichen Sektors zu verbessern
GitLab Ultimate
Möchtest du sehen, was GitLab Ultimate für dein Team tun kann?
Dank GitLab war CACI besser in der Lage, die Softwareanforderungen der Kund(inn)en in großem Umfang zu erfüllen und die Position des Unternehmens zu stärken und den Gewinn zu verbessern.
CACI International Inc., ein 6,7 Milliarden Dollar schweres Unternehmen, dessen Technologie und Fachwissen eine wichtige Rolle für die nationale Sicherheit der USA und die Modernisierung der Regierung spielt, sieht sich selbst als einen wichtigen Impulsgeber der Branche, und seine agile Softwareentwicklung ist seine Superkraft. CACI hat sich einen Namen gemacht, indem es kritische Software und softwaregestützte Hardware an US-Regierungsbehörden, den US-Geheimdienst und das Verteidigungsministerium geliefert hat. Als das Unternehmen erkannte, dass es seine Art der Entwicklung und Bereitstellung von Software ändern musste, arbeitete es mit GitLab zusammen – einem Unternehmen, das nach Ansicht von CACI seine eigene Branche revolutioniert hat.
CACI migrierte auf die KI-basierte DevSecOps-Plattform von GitLab, um die Effizienz, Sicherheit und Produktivität zu steigern und gleichzeitig umständliche, teure Toolchains zu konsolidieren.
„Unsere Kund(inn)en verlassen sich auf uns, weil sie wissen, dass agile Softwareentwicklung unsere Superkraft ist“, sagt Glenn Kurowski, Senior Vice President und CTO von CACI. „Als wir jedoch einen kritischen Blick auf unsere Arbeit geworfen haben, fanden wir heraus, dass einige Programme DevSecOps-Toolchains nutzten, die zwar vor Jahren einmal gut waren, jetzt aber bei weitem nicht mehr optimal sind. Mit mehreren Akquisitionen hatten wir verschiedene DevSecOps-Toolchains quasi „übernommen“, die über unsere Softwareentwicklungsteams verteilt waren. Es funktionierte, aber wir wussten, dass unsere Arbeit noch weit effizienter werden konnte. Wir mussten selbst einen Schnitt machen, um unsere Superkraft zu verbessern.“
Laut Kurowski hat sich CACI für GitLab als Partner entschieden, da man sicher war, dass GitLab eine umfassende DevSecOps-Plattform bieten konnte, in raschem Tempo kontinuierliche Innovationen lieferte und bereit war, auch angesichts der bevorstehenden USG-Sicherheitsanforderungen mit CACI zusammenzuarbeiten. Die Einführung von GitLab ermöglichte es CACI auch, einen homogeneren Ansatz zu verfolgen und Hürden zu beseitigen, die durch die Verwendung unterschiedlicher Produkte entstanden waren.
Das Grundgerüst der gemeinsamen Umgebung von CACI
Ein großer Teil des Plans von CACI war, GitLab als zentrale Anlaufstelle für den Aufbau einer unternehmensweiten einheitlichen Softwareentwicklungsumgebung (Common Software Development Environment, CSDE) zu nutzen.
Die Entwicklung der Software von CACI in der CSDE, die als Service in der AWS GovCloud eingerichtet wurde, stellt sicher, dass sämtliche Bereitstellungen den neuen gesetzlichen Vorschriften entsprechen. Die Umgebung umfasst eine Reihe von Standard-Tools, Diensten und Regel-Frameworks für regulatorische Vorgaben. Mit CSDE as-a-Service steht dies allen Projekten zur Verfügung. Im Mittelpunkt des Ganzen steht die DevSecOps-Plattform von GitLab.
„Bisher mussten unsere Teams für jeden neuen Vertrag eine neue DevSecOps-Toolchain erstellen“, erzählt Kyle Craft, CSDE Service Lead bei CACI. „Mit GitLab im Mittelpunkt unserer CSDE erstellt man einfach ein neues Konto und beginnt, an der Software zu arbeiten, anstatt Zeit für den Aufbau und die Verwaltung einer Toolchain zu verschwenden. Das ist viel effizienter.“
Teams bei CACI nutzen die CSDE für die rund 190 verschiedenen Softwareentwicklungsprojekte im Unternehmen, es sei denn, eine Kundschaft fordert, dass eine eigene Umgebung verwendet wird. Das Unternehmen spart seit dem Umstieg auf die auf GitLab basierende CSDE rund 90 % der Arbeits- und Verwaltungskosten für die Toolchain-Verwaltung ein. Die Automatisierung der Patch-Erstellung dauert nun nicht mehr Stunden, sondern nur noch Minuten, und Sicherheitsscans sind nun 13 x schneller im Vergleich zu früheren Implementierungen.
„Unsere Entwickler(innen) lieben es, wie benutzerfreundlich, verfügbar, zuverlässig und skalierbar die auf GitLab basierenden CSDE-Dienste sind“, sagt Craft. „GitLab bildet das Grundgerüst unserer Softwareentwicklung, und unsere Teams lieben, wie schnell sie Projekte erstellen und Software für neue Programme und Projekte entwickeln können.“
Seit der Standardisierung mit GitLab erlebt CACI einen „explosiven Anstieg“ der CSDE-Benutzer(innen). Die Ausrollung der CSDE begann im Sommer 2022 mit anfangs nur 110 Benutzer(inne)n. Etwas mehr als ein Jahr später war die Anzahl der Benutzer(innen) bereits auf über 1.900 angestiegen. Vorteilhaft ist, dass GitLab perfekt zu dem Umfang passt, in dem die agile Softwareentwicklung bei CACI erfolgt. Ein einziges Programm bei CACI hat beispielsweise mehr als 150 Anwendungen und veröffentlicht 800 Releases neuer Funktionen pro Jahr.
„Unsere Kund(inn)en erwarten Innovation und qualitativ hochwertige Software. Sie brauchen dringend eine hohe Geschwindigkeit – rasche Releases neuer Funktionen sind nötig, um den sich ändernden Anforderungen der Mission gerecht zu werden“, erklärt Kurowski. „Viele in unserer Branche entwickeln Software, aber unser Ansatz ist einen Tick besser – und das im großen Maßstab. Um unsere führende Position auszubauen, haben wir uns an GitLab gewandt, damit wir die Art und Weise, wie wir Software schnell und ohne Kompromisse bei der Sicherheit entwickeln, überdenken und verändern können.“
Unterstützung eines großen Software-Builds
Die auf GitLab basierende CSDE wurde zum entscheidenden Erfolgsfaktor für die Arbeit von CACI, um eine neue Version eines Kommunikkationssystems für die Kund(inn)en zu entwickeln.
Zwei frühere Versionen des Projekts waren mit verschiedensten DevSecOps-Tools erstellt worden. Für die Entwicklung der neuen Version der Missionsanwendung wechselte das Team zur auf GitLab basierenden CSDE von CACI, um eine integrierte, durchgängige DevSecOps-Plattform nutzen zu können.
„GitLab bot alle Funktionen und die Automatisierung, die wir brauchten, in einer einzigen Anwendung. Das hat unsere Arbeit vereinfacht“, sagt Wesley Monroe, technischer Projektleiter bei CACI. „Mit Roadmapping, Ticketverfolgung und Sicherheitsscans an einem Ort ist es schwierig, die neue Lösung mit unseren vorherigen Tools zu vergleichen.“
Einhaltung behördlicher Vorschriften
Einer der größten Vorteile der DevSecOps-Plattform von GitLab ist, dass CACI damit die aufkommenden Sicherheitsanforderungen bereits jetzt einbeziehen kann. So werden kostspielige Nacharbeiten später im Prozess vermieden.
Die Einhaltung von Gesetzen, Vorschriften und Standards der Regierung ist für einen staatlichen Auftragnehmer von entscheidender Bedeutung. Das bedeutet nicht nur, konform zu sein, sondern dies auch nachweisen zu können.
Die CSDE war ein weiteres Beispiel dafür, wie CACI bereits investierte, bevor die Bedürfnisse seiner Kund(inn)en bekannt waren. „Wir haben uns so eingerichtet, dass wir auch zukünftige Sicherheitsanforderungen erfüllen können“, sagt Craft. „Wir können die Einhaltung der Sicherheitsstandards nachweisen und haben Daten, die dies belegen. Diese werden in der GitLab-Plattform aufgezeichnet und gespeichert.“
Durch die Verwendung einer einzigen Plattform können die Teams von CACI die Sicherheit schon im Vorfeld kontrollieren und sie in jede Phase des Software-Entwicklungsprozesses einbinden. Das ist der Schlüssel, um sicherheitsrelevante Vorschriften der US-Regierung wie das Secure Software Development Framework (SSDF) zu erfüllen.
Kosten senken und Komplexität vereinfachen
Vor der Migration von CACI zur DevSecOps-Lösung von GitLab mussten sich die Teams mit einer Vielzahl von uneinheitlichen und teuren Tools im gesamten Unternehmen herumschlagen. Diese Komplexität wurde nun reduziert, indem einige der Tools entfernt wurden.
Indem die Toolchain des Unternehmens abgespeckt wurde, konnte man laut Kurowski die Lizenzkosten senken. Außerdem wird weniger Zeit für die Verwaltung der Tools aufgewendet und man kann mehr Zeit in die Entwicklung von Software stecken. Er erläutert auch, dass die Teams produktiver sind, Projekte viel schneller veröffentlichen und Spitzen bei der Nachfrage einfacher bewältigt werden können. Er sagt, dass auch Schulungen vereinfacht wurden, Updates reibungsloser und schneller verlaufen und das Projektmanagement besser mit der Codeentwicklung abgestimmt ist. Auch Patches erfolgen jetzt mit keiner oder nur wenig Ausfallzeit.
Softwareentwickler(innen), die auf einer gemeinsamen Plattform arbeiten, können nun einfach zwischen Projekten wechseln, um Spitzen bei der Kundennachfrage zu decken. „Dadurch wird sichergstellt, dass Kund(inn)en schnell Zugang zu Top-Talenten in der Softwareentwicklung haben“, sagt Kurowski.
Dank der Plattform konnte auch eine Dokumentation erstellt werden, die „um Welten besser“ ist als das, was vorher produziert wurde, so Craft. Dies liegt vor allem daran, dass die Plattform eine starke Zusammenarbeit innerhalb und zwischen DevSecOps-Teams ermöglicht. Die Teammitglieder haben nun nämlich bessere Sichtbarkeit in Projekten und können Verantwortung teilen, indem Notizen zu Problemen, Lösungen und Best Practices geteilt werden.
Aufbau einer DevSecOps-Community
Die DevSecOps-Benutzer(innen) von CACI bauen laut Craft eine „Praxis-Community“ auf, die auf der zusätzlichen Transparenz und Zusammenarbeit basiert, die ihnen die Plattform bietet. „Da wir dieselbe Plattform verwenden, kennen wir uns so gut wie nie zuvor“, erklärt er.
CACI nutzt GitLab immer mehr und wird daher früher oder später auch immer mehr auf eine zweckmäßige, verantwortungsbewusste Nutzung von KI-Funktionen wie GitLab Duo setzen, die in die Plattform integriert sind. Kurowski sagt, dass man sich schon auf den Einsatz von KI freue, um zu lernen, bestehenden Code zu verstehen und neuen Code zu entwickeln.
„Wir lieben es, wie GitLab die DevSecOps mit KI ergänzt“, fügt er hinzu. „Unsere Programmierer(innen) verbringen mehr Zeit damit, Code zu verstehen, als ihn zu schreiben. Das ist einfach Standard in der Branche. Die Idee, den Prozess mit Codeerläuterungen, Codevorschlägen und Code-Unterstützung im Allgemeinen zu erweitern, trifft die Bedürfnisse ganz genau.“
Alle Informationen und Personen, die an der Fallstudie beteiligt waren, waren zum Zeitpunkt der Veröffentlichung korrekt.