In che modo GitLab Geo supporta l'innovazione di NVIDIA
Vuoi scoprire i vantaggi di GitLab Ultimate per il tuo team?
GitLab Geo aiuta i team di sviluppo di NVIDIA a tutelare la sicurezza e a comunicare al meglio.
I team distribuiti di NVIDIA si affidano a Geo per avere stabilità e sicurezza.
Azienda all'avanguardia nell'elaborazione ad alte prestazioni
NVIDIA è nota per aver creato la prima unità di elaborazione grafica (GPU) al mondo nel 1999, che ha cambiato per sempre il mondo del gaming.
Da allora, NVIDIA è cresciuta fino a diventare leader globale in settori come il visual computing, l'intelligenza artificiale, i data center, il deep learning e le piattaforme di gaming. L'azienda offre la più recente tecnologia GPU per il mobile computing, i servizi automobilistici, i dispositivi medici e i videogiochi su larga scala. Inoltre, le sue GPU sono usate diffusamente nei principali data center cloud pubblici del mondo.
Sicurezza, scalabilità e visibilità
NVIDIA ha oltre 50 sedi nel mondo e più di 13.000 dipendenti, una struttura che richiede numerose applicazioni software. L'azienda si aspetta da tutti una piena libertà creativa. "Consideriamo un vantaggio competitivo il fatto che non imponiamo strumenti e altri processi dall'alto. Lasciamo che i gruppi capiscano organicamente come vogliono lavorare", spiega Patrick Herlihy, specialista di gestione della configurazione presso NVIDIA.
Incentivare il personale a usare gli strumenti migliori per il proprio lavoro comporta una serie di sfide. La sicurezza e la comunicazione trasparente sono parte integrante della crescita aziendale. "Se i nostri sviluppatori dovessero gestire moltissimi piccoli server in tutto il mondo perderebbero un'infinità di tempo", racconta Herlihy. "Abbiamo bisogno di qualcosa di più moderno, con un flusso di lavoro e caratteristiche al passo coi tempi", spiega Kevin Sage, responsabile SCM.
La strategia aziendale consente ai team di usare qualsiasi piattaforma o strumento preferiscano. Se uno strumento viene accettato dalla maggioranza, viene messo in atto un piano di supporto. "Abbiamo un modello molto decentralizzato in cui i team possono scegliere come fare le cose per un po' di tempo. Quando però poi crescono, tale soluzione diventa impraticabile e così chiedono ai team centrali, come il nostro, di aiutarli e gestire lo strumento per conto loro", afferma Herlihy. "In un certo senso, è una sorta di mercato per le idee, e molte persone scelgono GitLab. Quando hanno la possibilità di scegliere, sembra che optino per GitLab".
Allineamento tra i team diffusi
La Community Edition di GitLab è stata introdotta in NVIDIA in modo molto simile. Da quando GitLab è stato introdotto internamente nel 2016, il tasso di accettazione complessivo è salito alle stelle e questa soluzione ora è pienamente supportata. Poiché lo strumento veniva usato da più persone, era chiaro che le capacità di integrazione, la scalabilità e la facilità d'uso di GitLab sono elementi che non tutti gli altri strumenti possiedono. "GitLab è l'unico server Git che ci offre davvero queste funzionalità. Penso che sia stata una svolta enorme per noi amministratori", afferma Sage.
GitLab Geo è particolarmente importante affinché i team distribuiti lavorino in modo efficiente ed efficace. GitLab Geo riduce il tempo (e lo stress) necessario ai team di sviluppo distribuiti di NVIDIA per clonare e gestire i progetti. "GitLab è migliorato continuamente grazie alla scalabilità. Ha aumentato la capacità di diffondersi tra più nodi. Con Geo, all'interno di un data center, ora possiamo scalare... Abbiamo molti nodi che eseguono e condividono il carico, ed è tutto invisibile agli utenti. Continuiamo a lavorare perché la soluzione sia più scalabile, più tollerante agli errori e più disponibile", dice Sage. "Ora stiamo eseguendo aggiornamenti per azzerare i tempi di inattività: tutto ciò è stato davvero un grande miglioramento nel prodotto e rende più facile l'esecuzione e la gestione in un deployment esteso".
GitLab Geo consente a NVIDIA di espandersi facilmente in tutto il mondo e di fornire servizi ai propri team internazionali. Grazie alle immagini speculari di sola lettura di GitLab Geo, l'azienda riesce a tenere i dati vicini agli utenti, evitando ore di attesa per l'estrazione di grandi repository necessari per il lavoro.
L'obiettivo finale è fornire agli sviluppatori un'esperienza dedicata e scalabile, e impedire che gli utenti usino tutti i server contemporaneamente. NVIDIA sta inoltre creando strutture aggiuntive: GitLab Geo, con le sue funzionalità di alta disponibilità (HA), aiuta i team a prepararsi a qualsiasi esigenza di ripristino di emergenza, nonché a mantenere alto il tempo di attività.
GitLab fornisce anche un livello di trasparenza che altri strumenti non hanno. "Il fatto che sia così trasparente nel processo di sviluppo è un vantaggio enorme. Mi ha aiutato a prendere velocità in tempi relativamente brevi. E ora posso anche capire come funziona internamente il prodotto e sistemare le cose da solo", racconta Herlihy.
La trasparenza genera innovazione
L'obiettivo era avere un tempo di attività del 100%, ed è stato raggiunto con GitLab. "Negli ultimi sei mesi, direi che è stato abbastanza vicino al 100%… il fatto che il modello GitLab HA non abbia mai tempi di inattività è impressionante", afferma Herlihy. "Per quanto riguarda Geo, viene più usato di quanto pensassi".
La comunicazione trasparente di GitLab, e persino gli errori, hanno creato un ambiente sicuro per i team di sviluppo di NVIDIA. Non è un segreto che i software non siano affidabili al 100%. Ma GitLab è veloce nel segnalare i problemi e ancora più veloce nel risolverli. "Quando c'è un problema, possiamo risolverlo. Possiamo ricevere aiuto e non dobbiamo aspettare tre anni perché qualcuno nella community decida di inviare una patch", afferma Sage. "Trovare un buon supporto è stato davvero un grosso problema per noi".
L'approccio aperto di GitLab è stato apprezzato anche a livello di cultura aziendale: non solo per il modo in cui lo strumento viene gestito, ma anche perché una comunicazione chiara migliora i processi, sia internamente che per il cliente. "Alcuni nostri direttori senior citano GitLab per spiegare perché vogliamo la trasparenza, come la usiamo e quanto aiuta le persone", afferma Sage. "Il modo in cui gestite questi aspetti viene effettivamente notato dai nostri dirigenti. Ritengono che dovremmo copiare parte del vostro atteggiamento anche nelle nostre applicazioni e nei nostri strumenti interni".
Il prossimo grande passo di NVIDIA e GitLab sarà portare avanti le strategie di pianificazione del ripristino di emergenza. "Il ripristino di emergenza è il nostro piano per l'uso di Geo. Quindi dovrebbe essere un passaggio facile… stiamo cercando di rendere molto più facile non tanto il failover automatizzato, ma il funzionamento fluido del ripristino di emergenza di Geo", afferma Herlihy.
Tutte le informazioni e le persone coinvolte nel case study rappresentano fedelmente la situazione reale al momento della pubblicazione.