CARFAX migliora la sicurezza e riduce la gestione della pipeline e i costi grazie a GitLab
Vuoi scoprire i vantaggi di GitLab Ultimate per il tuo team?
CARFAX impiegava troppo tempo e denaro per supportare la sua toolchain DevOps a discapito della distribuzione di nuove funzionalità. Adottando GitLab, ha ottimizzato la toolchain migliorando al contempo la sicurezza.
CARFAX, Inc. è una società statunitense che aiuta milioni di persone ad acquistare veicoli ogni giorno. Con oltre 31 miliardi di record, ha il database di cronologia dei veicoli più completo del Nord America, che offre agli utenti informazioni come le letture del contachilometri, il numero di proprietari e la cronologia dei danni. CARFAX riceve queste informazioni da più di 139.000 origini di dati, comprese tutte le agenzie di veicoli a motore provinciali statunitensi e canadesi.
Riduzione dei problemi della toolchain
Molti dei clienti di CARFAX interagiscono con l'azienda online, che quindi si affida ai software per mantenere e sviluppare le relazioni con la clientela e stare al passo con la concorrenza. Per farlo, CARFAX deve creare in modo efficiente e in sicurezza un software nuovo, innovativo e sicuro, insieme a nuove funzionalità per i suoi prodotti software più popolari. Nel corso degli anni, i team di sviluppo di CARFAX avevano accumulato una toolchain di strumenti DevOps che non soddisfaceva tutte le esigenze dell'azienda e, peggio ancora, creava ulteriori problemi.
"Impiegavamo troppo tempo e denaro per il procurement e il supporto della nostra toolchain, che ormai includeva 12 strumenti", ci racconta Mark Portofe, Responsabile dell'platform engineering presso CARFAX. "Dovevamo ridurne al minimo la manutenzione e il supporto, in modo che i nostri team potessero concentrarsi sullo sviluppo di nuove funzionalità senza dover gestire tutti quegli strumenti".
Oltre ai problemi di efficienza e produttività, i team di sviluppo di CARFAX avevano bisogno di un modo per trovare le vulnerabilità all'inizio del ciclo di sviluppo del software. I problemi emersi durante le analisi manuali periodiche, invece che durante il processo di sviluppo, costavano infatti tempo e denaro. CARFAX si è posta l'obiettivo di cambiare la situazione.
Un aiuto dalla piattaforma DevSecOps di GitLab
Per apportare le modifiche necessarie, a metà del 2020 CARFAX ha deciso di usare la piattaforma DevSecOps di GitLab, in particolare GitLab Ultimate. "Con GitLab sapevamo che avremmo ottenuto molte funzionalità da sfruttare senza doverle creare manualmente", afferma Portofe.
Come primo passo, CARFAX si è concentrata sul mirroring della codebase in GitLab e sull'uso delle analisi di sicurezza di GitLab in tutto il codice. Questa fase è stata completata nei primi sei mesi. Successivamente, l'azienda ha iniziato a utilizzare GitLab per il repository del codice e le funzionalità della pipeline CI/CD. L'azienda non ha definito un ordine rigido di migrazione o una tabella di marcia precisa, ma i team di sviluppo software hanno stilato dei piani per usare la piattaforma di GitLab nelle loro roadmap di prodotto individuali. Per aiutare gli sviluppatori che stavano iniziando a usare GitLab, CARFAX ha istituito un team centrale che collaborasse con loro.
Inizialmente, GitLab veniva usato principalmente per le app rivolte ai clienti. Contemporaneamente, si è iniziato a migrare le pipeline corrispondenti per le stesse applicazioni. Il software non rivolto ai clienti, insieme alle app legacy di grandi dimensioni, avrà un percorso di migrazione più lungo.
"Abbiamo permesso ai team di sviluppo di pianificarlo da soli", afferma Portofe. "Abbiamo concesso parecchia flessibilità, perché molte delle loro roadmap erano già state preparate. In questo modo abbiamo generato molto entusiasmo, perché i vantaggi dell'analisi di sicurezza e della migliore comprensione del codice sono stati evidenti".
Riduzione della toolchain e delle fragilità
Nelle prime fasi di utilizzo di GitLab, CARFAX ha sostituito vari strumenti DevOps nella propria toolchain, che nell'obiettivo finale di Portofe sarà dimezzata.
"La toolchain completa ci stava costando denaro sia in termini di costi di licenza che di inefficienze", spiega. "Con GitLab abbiamo visto un enorme aumento delle analisi di sicurezza, perché CARFAX è stata in grado di analizzare l'intera codebase senza passaggi manuali. Ci ha anche dato una panoramica nettamente migliore delle nostre vulnerabilità in termini di sicurezza. Abbiamo risparmiato denaro e aumentato la sicurezza."
Portofe sottolinea inoltre che la riduzione della toolchain semplifica i carichi di lavoro dei tecnici, aumenta la produttività e l'efficienza e rende più stabile l'intero processo di sviluppo e deployment.
"C'era una certa fragilità generale con altri strumenti che abbiamo usato in passato, ma non è così con GitLab", afferma Portofe. "Indirettamente, è un vantaggio per l'intera azienda. In fini dei conti, quello che conta è distribuire le funzionalità ai clienti nel modo più efficiente possibile".
Maggiore sicurezza con l'automazione e l'approccio Shift Left
Un altro aspetto della piattaforma DevSecOps di GitLab che ha aggiunto efficienza è stata la sua automazione integrata, che ha portato un nuovo livello di sicurezza.
CARFAX ha usato le funzionalità di sicurezza automatizzate di GitLab per eseguire l'analisi delle dipendenze e dei container, nonché il rilevamento dei segreti. "Prima di usare GitLab, le analisi di sicurezza sulla nostra codebase erano un'attività manuale e complessa. Oggi è molto più facile", afferma Portofe. "Quella per la sicurezza è una battaglia che non finisce mai, ma le funzionalità di sicurezza di GitLab stanno rendendo più facile per gli sviluppatori individuare i problemi in anticipo".
L'analisi automatica della piattaforma ha permesso a CARFAX di trovare quasi un terzo delle sue vulnerabilità con grande anticipo nel ciclo di sviluppo nell'ultimo anno.
Portofe sottolinea che usare una piattaforma fa sì che l'intero team di sviluppo rifletta sulla sicurezza fin dalle prime fasi del ciclo di vita del software. Spostando l'attenzione sulla sicurezza nelle prime fasi, è possibile tenere a mente le esigenze e le implicazioni di sicurezza durante la programmazione, non a valle quando è più difficile, più costoso e meno efficiente risolvere eventuali problemi.
"Ora pensiamo sempre alla sicurezza mentre progettiamo e sviluppiamo i software". "Non cerchiamo solo di preparare le funzionalità per l'uso, ma garantiamo anche che siano sicure. Fa parte di ogni fase del ciclo di sviluppo software. Ci consente di risparmiare tempo e migliora la sicurezza".
Più deployment con un team più piccolo
CARFAX ha migliorato notevolmente la produttività con DevSecOps. Automatizzando i processi, usando un approccio Shift Left e riducendo la complessità della toolchain, i team hanno potuto semplificare i processi e aumentare la produttività e la velocità di deployment. Solo nel 2022, l'azienda ha registrato un aumento del 14% dei deployment di produzione.
"Ora tutto è più ordinato quando spostiamo il codice in produzione", afferma Portofe. "Stiamo introducendo più funzionalità di prodotto nuove, perché i team possono dedicare più tempo a creare codice che non ad assicurarsi che le pipeline siano in esecuzione".
E soprattutto, ci sorprende che CARFAX stia aumentando i deployment con un team più piccolo.
Il team di tooling normalmente ha cinque membri, e sviluppa pipeline e utilità comuni a disposizione dei circa 250 ingegneri software di CARFAX. Da un po' di tempo, però, comprende solo due persone, e sta aumentando la sua produttività e i deployment. "La piattaforma ci ha permesso di operare come un team di due persone e di far funzionare comunque il processo", afferma Portofe. "I nostri deployment di produzione, nel complesso, sono aumentati di circa il 25% nei primi cinque mesi del 2023 rispetto al precedente periodo di cinque mesi. È sorprendente".
Facilitare la migrazione al cloud
CARFAX, che sfrutta le funzionalità di Amazon Web Services (AWS), ha avuto diversi team con varie risorse sul cloud nel corso del tempo, nonché alcune infrastrutture on-premise, in un ambiente misto. Ora, con l'aiuto di GitLab, sta eseguendo la migrazione della maggior parte delle infrastrutture, dei server e delle codebase nel cloud.
"Data la strada che abbiamo scelto, è utile che GitLab offra strumenti per facilitare il passaggio al cloud", spiega Portofe, e aggiunge che l'azienda sta anche consolidando la propria piattaforma di cloud computing.
La piattaforma di GitLab consente a CARFAX di avere un approccio agnostico rispetto al cloud. "Quando condividiamo le nostre pipeline CI/CD, possiamo spostarle con una rampa comune che rende il tutto più facile", afferma Portofe.
Tutte le informazioni e le persone coinvolte nel case study rappresentano fedelmente la situazione reale al momento della pubblicazione.