CACI usa GitLab per migliorare la fornitura di tecnologia per i clienti del settore pubblico
GitLab Ultimate
Vuoi scoprire i vantaggi di GitLab Ultimate per il tuo team?
Con GitLab, CACI è riuscita a soddisfare al meglio le esigenze software dei clienti su larga scala, rafforzando la sua posizione nel settore e aumentando i profitti.
CACI International Inc., una società da 6,7 miliardi di dollari la cui tecnologia e competenza svolgono un ruolo vitale nella sicurezza nazionale degli Stati Uniti e nella modernizzazione del governo, si considera un attore importante nei cambiamenti del settore e i suoi processi di sviluppo software Agile rappresentano il suo punto di forza. CACI si è fatta un nome fornendo software critico e hardware con software agli enti governativi, alla comunità di intelligence e al Ministero della difesa statunitensi. Quando CACI si è resa conto di dover cambiare radicalmente il proprio modo di sviluppare e distribuire il software, ha deciso di avviare una collaborazione con GitLab, che considerava rivoluzionaria nel settore.
CACI è passata alla piattaforma DevSecOps basata sull'IA di GitLab per aumentare l'efficienza, la sicurezza e la produttività, oltre a consolidare le toolchain complesse e costose precedenti.
"I nostri clienti si affidano a noi perché sanno che lo sviluppo software Agile è il nostro superpotere", afferma Glenn Kurowski, Vicepresidente senior e CTO di CACI. "Ma analizzando il nostro lavoro in modo critico abbiamo scoperto che alcuni programmi usavano toolchain DevSecOps che erano fantastici anni fa, ma non così ottimali oggi. Con varie acquisizioni alle spalle, avevamo diverse toolchain DevSecOps distribuite tra i nostri team di sviluppo software. Stava funzionando, ma sapevamo che il processo poteva essere più efficiente. Abbiamo dovuto rivoluzionare noi stessi per migliorare il nostro superpotere.
Secondo Kurowski, CACI ha scelto GitLab come partner per vari motivi, tra cui la sua piattaforma DevSecOps completa, le continue innovazioni e la sua volontà di collaborare per soddisfare i nuovi requisiti di sicurezza del governo degli Stati Uniti. L'adozione di GitLab ha anche permesso a CACI di avere un approccio più omogeneo e di eliminare le difficoltà dovute a prodotti eterogenei.
La colonna portante dell'ambiente comune di CACI
Una parte importante del piano di CACI prevedeva l'impegno a usare GitLab come ingranaggio centrale per sviluppare un Common Software Development Environment (CSDE) a livello aziendale.
La creazione del software di CACI nel CSDE, che è impostato come servizio su AWS GovCloud, garantisce che tutti gli elementi sviluppati siano pienamente conformi alle nuove normative federali. L'ambiente include un set standard di strumenti, servizi e framework di regole per le richieste normative. Con CSDE as-a-service, è disponibile per tutti i progetti, e la piattaforma DevSecOps di GitLab è al centro di tutto.
"In precedenza, i nostri team dovevano spesso creare una nuova toolchain DevSecOps per ogni nuovo contratto", ricorda Kyle Craft, Responsabile del servizio CSDE presso CACI. "Con GitLab al centro del nostro CSDE, è sufficiente creare un nuovo account e iniziare a lavorare sul software, invece di dedicare tempo alla creazione e all'amministrazione di una toolchain. Così è molto più efficiente".
CACI usa il CSDE per i suoi quasi 190 progetti di sviluppo software, a meno che un cliente non richieda l'utilizzo del proprio ambiente. Da quando è passata a un CSDE basato su GitLab, l'azienda ha notato un risparmio del 90% in termini di manodopera e lavoro amministrativo sulla toolchain. L'automazione della creazione di patch si è ridotta da alcune ore a pochi minuti, mentre l'analisi di sicurezza è 13 volte più veloce rispetto alle implementazioni precedenti.
"I nostri sviluppatori amano la facilità d'uso, la disponibilità, l'affidabilità e la scalabilità del nostro servizio CSDE basato su GitLab", afferma Craft. "GitLab è la colonna portante del nostro ambiente di sviluppo, e i nostri dipendenti apprezzano la velocità con cui possono avviare progetti e produrre software per nuovi programmi e progetti".
Da quando il lavoro è stato standardizzato su GitLab, CACI ha assistito a una crescita esplosiva degli utenti CSDE. Il lancio di CSDE è iniziato con soli 110 utenti nell'estate del 2022. Poco più di un anno dopo, era già diffuso tra oltre 1.900 sviluppatori. Uno dei motivi del successo è che GitLab si adatta perfettamente alla scala dello sviluppo software Agile di CACI. Ad esempio, un solo programma di CACI ha più di 150 applicazioni e invia 800 release di nuove funzionalità all'anno.
"I nostri clienti si aspettano innovazione e software di alta qualità. Hanno un disperato bisogno di alta velocità: rilasci rapidi di nuove funzionalità per soddisfare le esigenze in continua evoluzione", afferma Kurowski. "Molti nel nostro settore si occupano di sviluppo software, ma noi lo portiamo a un livello superiore e su larga scala. Per espandere la nostra posizione di leader, ci siamo affidati a GitLab. Volevamo ripensare e rivoluzionare il modo in cui sviluppiamo software rapidamente, senza compromettere la sicurezza".
Supporto di una build software importante
Il CSDE basato su GitLab è stato fondamentale quando CACI ha dovuto creare una nuova versione di un sistema di comunicazione per uno dei suoi clienti.
Due versioni precedenti del progetto erano state create utilizzando vari strumenti DevSecOps. Per supportare lo sviluppo della nuova versione dell'applicazione, il team è passato al CSDE basato su GitLab di CACI per avere una piattaforma DevSecOps integrata end-to-end.
"GitLab offriva tutte le funzionalità e l'automazione di cui avevamo bisogno in un'unica applicazione. Ha semplificato il nostro lavoro", afferma Wesley Monroe, Responsabile tecnico del progetto di CACI. "GitLab offre la mappatura del percorso, il monitoraggio dei ticket e l'analisi di sicurezza in un unico luogo, per cui non è nemmeno paragonabile alla nostra soluzione precedente".
Rispetto delle normative governative
Uno dei maggiori vantaggi dell'utilizzo della piattaforma DevSecOps di GitLab è che consente a CACI di gestire i requisiti di conformità di sicurezza in continua evoluzione, evitando costose rielaborazioni future.
Rispettare le leggi, i regolamenti e le norme governativi è fondamentale per qualsiasi appaltatore del settore pubblico. È necessario non solo garantirne il rispetto, ma essere in grado di dimostrarlo.
Il CSDE è un altro esempio di come CACI investa in anticipo rispetto alle esigenze dei clienti. "Ci siamo posizionati in modo da poter soddisfare i futuri requisiti di sicurezza dei nostri contratti", afferma Craft. "Possiamo attestare di soddisfare gli standard di sicurezza grazie ai dati tracciati e archiviati nella piattaforma di GitLab".
Inoltre, l'utilizzo di un'unica piattaforma consente ai team di CACI di adottare un approccio Shift Left, incorporando la sicurezza in ogni fase del ciclo di sviluppo software. Questa è la chiave per riuscire a soddisfare le normative governative statunitensi sulla sicurezza, come il Secure Software Development Framework (SSDF).
Tagliare i costi e semplificare
Prima che CACI avviasse la migrazione al DevSecOps di GitLab, il lavoro di tutti i reparti era appesantito dall'uso di strumenti eterogenei e costosi. Ora l'azienda sta riducendo la complessità migrando alcuni di questi strumenti.
Semplificando le toolchain dell'azienda, Kurowski ha ridotto i costi di licenza e i tempi nell'amministrazione degli strumenti, e può dedicare più tempo allo sviluppo di software. Inoltre, ha notato che i team sono più produttivi, lanciano progetti molto più velocemente e soddisfano più facilmente i picchi di domanda. Kurowski racconta che anche la formazione è stata semplificata, gli aggiornamenti vengono eseguiti in modo più fluido e rapido e la gestione dei progetti si è allineata allo sviluppo del codice. Inoltre, ora le patch vengono eseguite con poco o nessun tempo di inattività.
Oggi gli sviluppatori, che lavorano su una piattaforma comune, si spostano facilmente tra i progetti per soddisfare le impennate della domanda dei clienti. "Ciò garantisce ai clienti un rapido accesso ai migliori sviluppatori", afferma Kurowski.
Craft spiega che la piattaforma ha anche permesso di creare una documentazione di gran lunga migliore rispetto a quella realizzata in passato. Ciò si deve principalmente al fatto che la piattaforma favorisce una stretta collaborazione all'interno e tra i team DevSecOps, offrendo una migliore visibilità dei progetti e la possibilità di prendere appunti su problemi, soluzioni e best practice.
Creare una community DevSecOps
Gli utenti DevSecOps di CACI hanno creato quella che Craft chiama una "comunità di pratica" a causa dell'incredibile visibilità e collaborazione offerte dalla piattaforma. "Poiché usiamo la stessa piattaforma, siamo consapevoli l'uno dell'altro come mai prima", spiega.
La diffusione di GitLab in CACI si deve in parte all'interesse di sfruttare in modo mirato e responsabile le funzionalità dell'IA integrate nella piattaforma, come GitLab Duo. Kurowski racconta di voler usare l'IA per velocizzare l'apprendimento e la comprensione del codice esistente, e lo sviluppo di codice nuovo."Ci piace il fatto che GitLab migliori il DevSecOps grazie all'IA", aggiunge. "I nostri programmatori trascorrono più tempo a capire il codice che a scriverlo. Questa è la normalità per il nostro settore. L'idea di migliorare il processo con la spiegazione del codice, i suggerimenti di codice e l'assistenza al codice, in generale, è la risposta perfetta a un'esigenza fondamentale".
Tutte le informazioni e le persone coinvolte nel case study rappresentano fedelmente la situazione reale al momento della pubblicazione.