CARFAX verbessert die Sicherheit, verringert das Pipeline-Management und senkt die Kosten mit GitLab
Möchtest du sehen, was GitLab Ultimate für dein Team tun kann?
CARFAX hat in der Vergangenheit zu viel Zeit und Geld für die Unterstützung der DevOps-Toolchain aufgewendet, anstatt sich auf die Bereitstellung neuer Funktionen zu konzentrieren. Durch die Einführung von GitLab hat das Unternehmen diese Toolchain verkürzt und gleichzeitig die Sicherheit verbessert.
Das US-amerikanische Unternehmen CARFAX, Inc. hilft jeden Tag Millionen von Menschen beim Fahrzeugkauf. Mit mehr als 31 Milliarden Datensätzen verfügt Carfax über die umfangreichste Fahrzeugdatenbank Nordamerikas und bietet Benutzer(inne)n Fahrzeuginformationen wie Kilometerstände, Anzahl der Vorbesitzer(innen) und Schadensverlauf. CARFAX erhält diese Informationen aus mehr als 139.000 Datenquellen, darunter alle US-amerikanischen und kanadischen Kraftfahrzeugbehörden.
Minderung von Toolchain-Problemen
Viele der CARFAX-Kund(inn)en interagieren online mit dem Unternehmen. Deshalb ist CARFAX auf Software angewiesen, um Kundenbeziehungen zu pflegen und auszubauen und der Konkurrenz einen Schritt voraus zu sein. Dazu muss das Unternehmen effizient und sicher neue, innovative und sichere Software sowie neue Funktionen für seine beliebtesten Softwareprodukte entwickeln. Im Laufe der Jahre hatten die Carfax-Entwicklungsteams eine Toolchain von DevOps-Tools zusammengestellt, die nicht alle Anforderungen des Unternehmens erfüllten und, noch schlimmer, zusätzliche Herausforderungen mit sich brachten.
„Wir haben zu viel Zeit und Geld für die Beschaffung und Unterstützung unserer Toolchain aufgewendet, die auf 12 Tools angewachsen war“, sagt Mark Portofe, Director of Platform Engineering bei CARFAX. „Wir mussten die Wartung und den Support der Toolchain so weit wie möglich minimieren, damit sich unsere Teams auf die Entwicklung neuer Funktionen konzentrieren konnten, anstatt immer nur all diese verschiedenen Tools zu verwalten.“
Zusätzlich zu ihren Effizienz- und Produktivitätsbedenken brauchten die Carfax-Entwicklungsteams eine Möglichkeit, Sicherheitslücken früher im Lebenszyklus der Softwareentwicklung zu finden. Probleme, die bei regelmäßigen, manuellen Scans auftraten, anstatt während des Entwicklungsprozesses, kosteten das Unternehmen Zeit und Geld. CARFAX wollte das ändern.
Nutzung der DevSecOps-Plattform von GitLab
Um diese notwendigen Änderungen vorzunehmen, entschied sich CARFAX Mitte 2020 für die DevSecOps-Plattform von GitLab, insbesondere für GitLab Ultimate. „Wir wussten, dass wir mit GitLab viele Funktionen erhalten würden, die wir direkt und nahtlos nutzen könnten“, sagt Portofe.
Zu Beginn konzentrierte sich CARFAX auf die Spiegelung der Codebase in GitLab und die Nutzung der GitLab-Sicherheitsscans für den gesamten Code. Dieser Schritt war innerhalb von sechs Monaten abgeschlossen. Als nächstes begann das Unternehmen, GitLab für sein Code-Repository und seine CI/CD-Pipeline-Funktionen zu verwenden. Es gab zwar kein hartes Migrationsmandat oder einen Zeitplan, aber Softwareentwicklungsteams haben Pläne für die Nutzung der GitLab-Plattform innerhalb ihrer individuellen Produkt-Roadmaps erstellt. Und um den Entwicklungsteams beim Einstieg in GitLab zu helfen, gründete CARFAX ein zentrales Team, das direkt mit ihnen zusammenarbeitete.
Die Nutzung von GitLab im Unternehmen begann weitgehend mit kundenorientierten Apps. Gleichzeitig begannen die Teams, entsprechende Pipelines für dieselben Anwendungen zu migrieren. Nicht kundenorientierte Software hat zusammen mit großen, älteren Apps einen längeren Migrationsprozess.
„Wir haben den Entwicklerteams erlaubt, die Migration selbst zu planen“, sagt Portofe. „Wir haben unseren Entwicklungsteams viel Flexibilität gegeben, weil viele ihrer Roadmaps bereits ausgearbeitet waren. Diese Vorgehensweise war spannend, da die Teams die Vorteile von Sicherheitsscans und besseren Code-Einblicken erkannten.“
Reduzierung von Toolchain und Fragilität
Zu Anfang der GitLab-Nutzung ersetzte CARFAX verschiedene DevOps-Tools in der Toolchain des Unternehmens. Letztendlich soll die Toolchain laut Portofe um etwa die Hälfte reduziert werden.
„Die gesamte Toolchain hat uns sowohl bei den Lizenzkosten als auch durch Effizienzmängel Geld gekostet“, sagt Portofe. „Mit GitLab haben wir einen enormen Anstieg der Sicherheitsscans festgestellt, da CARFAX seitdem in der Lage ist, die gesamte Codebase ohne manuelle Schritte zu scannen. Damit erhalten wir ein viel besseres Bild unserer Sicherheitslücken. Wir haben Geld gespart und die Sicherheit verbessert.“
Er weist auch darauf hin, dass die Reduzierung der Toolchain die Entwickler(innen) entlastet, Produktivität und Effizienz steigert und den gesamten Entwicklungs- und Bereitstellungsaufwand stabiler macht.
„Andere Tools, die wir früher verwendet haben, hatten eine gewisse allgemeine Fragilität gemeinsam, ganz im Gegensatz zu GitLab“, sagt Portofe. „Indirekt profitiert das gesamte Unternehmen davon. Darum geht es wirklich – wie man Funktionen so effizient wie möglich an die Kund(inn)en weitergibt.“
Mehr Sicherheit durch Automatisierung und frühere Kontrollen
Ein weiterer Aspekt der DevSecOps-Plattform von GitLab, der die Effizienz steigerte, war die integrierte Automatisierung, die ein ganz neues Maß an Sicherheit mit sich brachte.
CARFAX nutzt die automatisierten Sicherheitsfunktionen von GitLab für Abhängigkeits- und Container-Scanning sowie die Erkennung von Geheimnissen. „Bevor wir GitLab verwendet haben, waren Sicherheitsscans in unserer Codebase eine manuelle und mühsame Aufgabe. Heute ist dies viel einfacher“, sagt Portofe. „Sicherheit ist zwar ein ständiger Kampf, aber mit den Sicherheitsfunktionen von GitLab können die Entwickler(inne)n Probleme viel früher erkennen.“
Mit den automatisierten Scans der Plattform konnte CARFAX im vergangenen Jahr fast ein Drittel der Sicherheitslücken viel früher im Entwicklungszyklus finden.
Portofe weist auch darauf hin, dass das gesamte Entwicklungsteam durch die Nutzung einer Plattform extrem früh im Software-Lebenszyklus über die Sicherheit nachdenkt. Indem sie so früh wie möglich an die Sicherheit denken, berücksichtigen sie die Sicherheitsanforderungen und -auswirkungen bei der Programmierung und nicht später im Prozess – wenn es schwieriger, teurer und weniger effizient ist, Probleme zu beheben.
„Wir denken immer an Sicherheit, während wir Software entwerfen und entwickeln“, sagt er. „Es geht nicht nur darum, Funktionen zur Verfügung zu stellen, sondern auch darum, sicherzustellen, dass diese Funktionen sicher sind. Das ist Teil jedes Schritts im Software-Entwicklungsprozess. Das spart Zeit und erhöht unsere Sicherheit.“
Mehr Bereitstellungen mit einem kleineren Team
CARFAX hat mit DevSecOps spürbare Produktivitätssteigerungen erzielt. Durch die Automatisierung von Prozessen, die frühere Berücksichtigung der Sicherheit und die weniger komplexe Toolchain konnten die Teams Prozesse vereinfachen, ihre Produktivität steigern und das Bereitstellungstempo erhöhen. Allein im Jahr 2022 verzeichnete das Unternehmen einen Anstieg der Produktionsbereitstellungen um 14 %.
„Der Code ist inzwischen viel sauberer, wenn er in die Produktion geht“, sagt Portofe. „Wir veröffentlichen mehr neue Produktfunktionen, da die Teams mehr Zeit damit verbringen, Code zu erstellen, als ihre Pipelines zu verwalten.“
Noch viel beeindruckender an diesem Anstieg der Bereitstellungen ist die Tatsache, dass CARFAX all das mit einem kleineren Team erreicht.
Das Tooling-Team des Unternehmens, das für die gemeinsamen Pipelines und Dienstprogramme zuständig ist, mit denen die rund 250 Softwareentwickler(innen) von CARFAX Code erstellen, besteht normalerweise aus fünf Mitgliedern. Es ist jedoch seit einiger Zeit auf nur zwei Mitglieder geschrumpft und erzielt immer noch Produktivitäts- und Bereitstellungssteigerungen. „Die Plattform hat es uns ermöglicht, die Dinge mit einem Zwei-Personen-Team am Laufen zu halten“, sagt Portofe. „Tatsächlich sind unsere Produktionsbereitstellungen in den ersten fünf Monaten des Jahres 2023 im Vergleich zu den vorherigen fünf Monaten insgesamt um rund 25 % gestiegen. Das ist ziemlich erstaunlich.“
Cloud-Migration erleichtern
CARFAX nutzt die Funktionen von Amazon Web Services (AWS) und die Teams haben im Laufe der Zeit unterschiedliche Assets in der Cloud eingesetzt. Parallel verwendeten sie auch eine lokale Infrastruktur. Das war eine gemischte Umgebung. Inzwischen migrieren sie jedoch mit Hilfe von GitLab den größten Teil ihrer Infrastruktur, Server und Codebase in die Cloud.
„Dabei ist es hilfreich, dass GitLab über Tools verfügt, die den Umzug in die Cloud erleichtern“, sagt Portofe und fügt hinzu, dass sie auch ihre Cloud-Compute-Plattform konsolidieren.
Außerdem fügt er hinzu, dass CARFAX mit der GitLab-Plattform cloudunabhängig ist. „Wenn wir unsere CI/CD-Pipelines vereinheitlichen, können wir sie mit einer gemeinsamen Eingangsschnittstelle verschieben, die den Prozess vereinfacht“, sagt Portofe.
Alle Informationen und Personen, die an der Fallstudie beteiligt waren, waren zum Zeitpunkt der Veröffentlichung korrekt.