HackerOne quintuplica la velocità di deployment con la sicurezza integrata di GitLab
Vuoi scoprire i vantaggi di GitLab Ultimate per il tuo team?
HackerOne, la società di sicurezza informatica più affidabile al mondo, ha adottato GitLab per eliminare le sue svariate toolchain e adottare un approccio Shift Left alla sicurezza.
Grazie a GitLab Ultimate, HackerOne ha ottimizzato i tempi delle pipeline, la velocità di deployment e l'efficienza degli sviluppatori.
La piattaforma di sicurezza che fa affidamento sugli hacker
HackerOne consente al mondo di costruire un Internet più sicuro. In qualità di piattaforma di sicurezza human-based più affidabile al mondo, HackerOne offre accesso alla più grande community di hacker del pianeta. Questa community, che si avvale database più fornito di tendenze delle vulnerabilità e di benchmark di settore, mitiga il rischio informatico ricercando, individuando e segnalando in modo sicuro i punti deboli nella sicurezza per le aziende di tutti i settori e in varie superfici di attacco.
Il mondo si fa sempre più connesso e le aziende si spostano verso il cloud: in questo contesto, la sicurezza informatica deve rimanere al passo con i cambiamenti. Grazie ad HackerOne, i team di sicurezza possono scalare le proprie soluzioni con superfici di attacco agili utilizzando test di sicurezza studiati da hacker e gli approfondimenti sulle vulnerabilità che aiutano a ridurre il rischio in tutto l'SDLC.
Velocità di sviluppo e di deployment
HackerOne è un'azienda distribuita a livello globale, i cui team dipendono perciò l'uno dall'altro per completare i progetti. In passato era frequente che uno sviluppatore nei Paesi Bassi lavorasse al codice e qualcuno in Nord America riprendesse da dove l'altro si era interrotto. I tempi lunghi della pipeline potevano dunque interrompere i passaggi di consegne. "In molti casi, finivamo per bloccare una richiesta di merge mentre avremmo voluto eseguirla… se avessimo avuto strumenti più veloci, avremmo potuto farlo" sostiene Mitch Trale, Head of Infrastructure di HackerOne.
HackerOne utilizzava strumenti separati per il controllo della versione del codice e l'integrazione continua. Con la crescita di HackerOne e l'allargamento del team tecnico da 10 a 30 membri, secondo Trale questi strumenti erano "molto limitati… un esempio è proprio il tempo impiegato per eseguire una singola pipeline all'interno del nostro vecchio sistema, che rendeva proibitivo eseguire questa operazione frequentemente". "Quindi i tecnici si sono messi all'opera per aggirare queste limitazioni. Abbiamo iniziato a creare questi effetti collaterali a valle, che poi abbiamo dovuto affrontare separatamente". Il team aveva bisogno di uno strumento in grado di crescere di pari passo con HackerOne e di gestire più progetti che coinvolgevano più gruppi.
Quando i team prendevano in considerazione nuovi strumenti software, analizzavano principalmente la velocità di sviluppo, quella di deployment e la soddisfazione degli sviluppatori. "Ottimizziamo il sistema per avere tecnici soddisfatti, dove possibile. Strumenti migliori ci aiutano ad automatizzare di più, aumentando la produttività e la qualità", spiega Trale. Il team aveva bisogno di una piattaforma che migliorasse l'esperienza degli sviluppatori dall'inizio alla fine, dallo sviluppo al deployment.
Scalabilità e proprietà dello sviluppatore
HackerOne ha adottato GitLab alla fine del 2018 per la gestione dei codici sorgente, la gestione dei problemi, la CI/CD e le funzionalità di sicurezza e conformità che non esistevano nel precedente sistema di strumenti. L'adozione di GitLab è aumentata drasticamente in tutta l'azienda grazie alle varie offerte Agile che potevano funzionare in ambienti diversi. "HackerOne ha adottato GitLab ovunque, ma abbiamo anche visto nuove funzionalità che i product manager e i responsabili degli sprint potevano sfruttare. Ora i team collaborano per pianificare il lavoro futuro", racconta Trale. "Vediamo diagrammi di Gantt che rappresentano le dipendenze. Questo livello di complessità era davvero fondamentale in quella fase dello sviluppo di HackerOne, perché stavamo crescendo".
GitLab non ci ha offerto solo un modo per scalare i team, ma ha anche permesso di rendere più egualitari i processi di sviluppo delle applicazioni. Grazie all'interfaccia utente intuitiva di GitLab, il numero di utenti di HackerOne è aumentato. "Alcuni responsabili tecnici di prodotto ora possono apportare modifiche al codice che influiscono sul testo del sito o sul colore del carattere", aggiunge Trale. "È più facile utilizzare gli strumenti di editing visivo di GitLab e una richiesta di merge che può essere facilmente approvata e sottoposta a deployment a livello atomico. Questo non era possibile prima".
La facilità d'uso di GitLab rende il lavoro all'interno della piattaforma più gestibile per sviluppatori e tecnici. Quale strumento open-source, GitLab è moderno, ma non eccessivamente complesso. Offre molte funzionalità, ma è funzionalmente disponibile per i tecnici di ogni livello dell'azienda. "Ora possiamo democratizzare il controllo sulle pipeline. I singoli tecnici possono fungere da DevOps, da infrastruttura… e amministrare gli strumenti in modo inedito. I nostri vecchi strumenti erano ingombranti, difficili da mantenere e gestire", spiega Trale.
Sicurezza integrata per deployment più rapidi
Uno dei maggiori vantaggi dell'adozione di GitLab è la possibilità di aprire ticket di codice nella pipeline prima rispetto al passato. Insieme alla maggiore velocità delle pipeline, ciò permette ai team di lavorare in modo iterativo per risolvere le falle nella sicurezza. Prima i tecnici impiegavano almeno 60 minuti per l'esecuzione della pipeline di integrazione. Lavoravano end-to-end dal commit ai test, fino agli smoke test e al deployment: un processo che richiedeva un'ora. In caso di un singolo errore, dovevano rieseguire l'intero processo.
"Perciò sono diventati eccessivamente cauti nell'eseguire il push del codice. Volevamo rendere la durata del ciclo il più breve possibile e ridurre il rischio associato a qualsiasi rilascio di codice", spiega Trale. "Quindi GitLab era strategicamente importante per noi perché ci ha permesso di perfezionare questo codice e svilupparlo secondo le nostre specifiche di qualità".
Ora il team può anche rieseguire parti specifiche della pipeline, cosa impossibile in passato, e può concentrarsi sui potenziali errori nella pipeline di integrazione continua senza doverla riavviare. "La velocità conta… ora ci vogliono circa otto minuti per eseguire una pipeline. Sono un miglioramento incredibile. Questo da solo sarebbe bastato per considerare il passaggio a GitLab: la promessa di questa pipeline di integrazione continua ad alta velocità", osserva Trale. Inoltre ora abbiamo più visibilità sui log di audit e possiamo vedere cosa sta succedendo dietro le quinte per capire cosa contribuisce al degrado delle prestazioni.
Con l'API e le funzionalità di sicurezza di GitLab, il team tecnico ha creato un bot che genera automaticamente richieste di merge basate su pacchetti obsoleti. Il bot analizza i repository e crea richieste di merge in base a quelli da aggiornare. I tecnici devono solo esaminarle e approvarle, per poi eseguire il deployment. Questa automazione consente di risparmiare tempo nel ciclo manuale e di creare scansioni di sicurezza più rapide. Non è più compito di una singola persona dedicare un'ora aggiuntiva ai test per ogni deployment. "Ora eseguiamo deployment di codice più volte al giorno: da una a cinque volte al giorno sono disponibili nuove versioni di HackerOne sul web. Prima, un tecnico dedicava almeno un'ora a ciascuno di quei deployment", spiega Trale. "Forse mezz'ora impiegando due ingegneri, per assicurarsi che tutto funzionasse. Con una stima conservativa, stiamo risparmiando dalle quattro alle cinque ore al giorno di energia per ogni sviluppatore, consolidando questo lavoro mediante gli strumenti".
Prima di GitLab, il ciclo di deployment di HackerOne era di circa una o due volte al giorno. Adesso che tutti gli strumenti sono in un unico posto, correttamente etichettati e organizzati in modo efficiente, i PM e coloro che gestiscono gli sprint possono scegliere a cosa lavorare. "GitLab ci aiuta a individuare tempestivamente questi elementi e a integrarli nel flusso di lavoro degli sviluppatori.
Avere tutti gli strumenti in un'unica piattaforma ha reso l'analisi e la verifica della sicurezza un processo più semplice rispetto al precedente flusso di lavoro del team. "Il costo di esecuzione delle analisi di sicurezza in GitLab è di molto inferiore rispetto al passato. E quindi siamo molto più inclini a eseguire analisi più approfondite, più velocemente, che si tratti di singoli pacchetti o addirittura di eseguire una serie di test di sicurezza. Siamo molto più consapevoli e stiamo usando GitLab per questo scopo", spiega Trale.
Il team tecnico ha anche creato un bot Slack personalizzato che si integra con GitLab e attiva i deployment. Tutti i deployment sono pubblici nel canale Slack, dove avviene gran parte del lavoro tra i tecnici di HackerOne. Con l'integrazione, possono vedere lo stato di deployment in Slack anziché dover cercare la pipeline o il registro di controllo. Se qualcosa va storto durante il deployment, 30 persone possono aiutare a eseguire il debug in tempo reale. L'integrazione del deployment in Slack e l'utilizzo di GitLab per la CI/CD consentono un accesso più semplice e veloce al codice e alla gestione della sicurezza.
Il consolidamento degli strumenti e la velocità di deployment sono le priorità che hanno portato HackerOne a effettuare il passaggio, ma è lo sviluppo attivo di GitLab che continua a stupire i membri del team. GitLab ha release mensili che si basano sulle funzionalità esistenti, come la sicurezza, e che utilizzano il feedback dei clienti. "La nostra collaborazione con GitLab è sempre più profonda. Invece, alcuni degli altri strumenti che abbiamo valutato non avevano quella forza di sviluppo, quel tipo di slancio che ha GitLab", racconta Trale. "La cadenza mensile lo testimonia: arrivano spesso nuove funzionalità che possiamo sfruttare. Questo sviluppo attivo è una mentalità molto contemporanea di GitLab, che ci piace molto".
Tutte le informazioni e le persone coinvolte nel case study rappresentano fedelmente la situazione reale al momento della pubblicazione.