In che modo Nebulaworks ha sostituito tre strumenti con GitLab e aumentato la velocità e l'agilità dei clienti
Vuoi scoprire i vantaggi di GitLab Ultimate per il tuo team?
Nebulaworks ha adottato GitLab, ha semplificato la manutenzione e le spese degli strumenti e può ora definirsi organizzazione basata sulla CI.
La società di consulenza specializzata in ingegneria ha adottato GitLab per la gestione del codice sorgente (SCM), l'integrazione e la distribuzione continue (CI/CD) e il monitoraggio dei ticket e ha migliorato nel frattempo il contatto con il team di marketing.
La consulenza di colleghi del settore
Nebulaworks è una società di consulenza specializzata in ingegneria del software che offre ai clienti soluzioni innovative nell'ambito dei processi di sviluppo e distribuzione. L'orgoglio dell'azienda? Lavorare a stretto contatto con la clientela al fine di strutturare team di professionisti incentivati ad acquisire nuove conoscenze e in grado di collaborare a tutti i livelli, garantire prestazioni eccellenti e risolvere problemi complessi implementando soluzioni semplici.
Nebulaworks è stata fondata nel 2014 da due ingegneri che sentivano l'esigenza di sfidare lo status quo del settore dello sviluppo software e della fornitura di servizi IT in ambito Ops all'interno delle grandi imprese. A differenza di molte delle società di consulenza e dei system integrator dell'epoca, Nebulaworks si è costituita con l'obiettivo di risolvere le complesse sfide affrontate dagli ingegneri informatici che lavorano nelle grandi imprese. In poche parole: una società di consulenza con le caratteristiche di un system integrator, creata da ingegneri per agevolare i colleghi del settore.
Tre strumenti di troppo
Nebulaworks era alla ricerca di una piattaforma che fosse in grado di fornire repository remoti per consentire ai team di collaborare in modo efficace, indipendentemente dalla loro posizione geografica. In precedenza, il team di sviluppo utilizzava l'istanza autogestita di un repository Git e un software separato per il monitoraggio e la gestione dei ticket. Il loro obiettivo era aumentare la produttività e concentrare gli sforzi su un processo di sviluppo che fosse in grado di incidere in termini di business, anziché limitarsi alle attività amministrative quotidiane necessarie per mantenere online il sistema.
L'organizzazione disponeva di un servizio di integrazione continua autogestito supportato da Kubernetes. A causa del sovraccarico amministrativo, questa soluzione era poco indicata per gli ingegneri che utilizzavano il sistema in quanto li sobbarcava di ulteriore lavoro.
Nebulaworks ha mantenuto un totale di tre strumenti interni per diversi anni. Per un ingegnere, gestire e mantenere tali strumenti era un impiego a tempo pieno che assorbiva risorse preziose che avrebbero dovuto essere destinate al software engineering. Inoltre, le informazioni e le autorizzazioni non erano centralizzate in un'unica posizione, determinando in molti casi commutazioni di contesto dispendiose in termini di tempo e risorse.
Una sola piattaforma, tante funzionalità
Rob Hernandez, responsabile tecnologico dell'azienda, ha studiato altre piattaforme insieme al suo team prima di rinnovare la licenza dei tre strumenti interni autogestiti. Durante la prova pratica di GitLab, hanno eseguito il mirroring del progetto già esistente, adattandolo per utilizzare la parte di integrazione continua necessaria per i test, e successivamente hanno integrato tutte le strutture di monitoraggio dei ticket e le bacheche. Il risultato? Il livello di organizzazione garantito da GitLab e la capacità di fornire una gerarchia di progetti diversi erano superiori rispetto alla concorrenza.
"La possibilità di centralizzare tutti i ticket a un livello gerarchico più alto era una prospettiva decisamente accattivante. Non saremmo stati in grado di farlo con il nostro servizio Git autogestito", afferma Hernandez. "Scoprire le funzionalità dello strumento mostrato nella demo è stato illuminante, così come la possibilità di creare categorie all'interno di una struttura gerarchica più ampia al fine di gestire al meglio i progetti di un cliente specifico".
GitLab offriva al team una piattaforma unica per l'integrazione della CI, la gestione del codice, la collaborazione e il monitoraggio dei ticket senza la necessità di integrare strumenti aggiuntivi. Nebulaworks è in grado di offrire ai clienti un'esperienza d'uso collaborativa e trasparente. Una comunicazione chiara e diretta permette a tutte le parti coinvolte di ridurre i costi, risolvere i problemi in meno tempo e mitigare i rischi, creando un clima di fiducia e reciproca collaborazione. Grazie a GitLab, Nebulaworks è riuscita finalmente a concentrarsi sui prodotti, senza doversi preoccupare dell'aggiornamento e della manutenzione della toolchain.
CI, gestione del codice e successo dei clienti
Trattandosi di una piattaforma centralizzata in grado di favorire la collaborazione, GitLab elimina i silo di informazioni, contribuendo in tal modo a far progredire l'azienda. Il team può contare su un flusso di lavoro semplificato: ticket strettamente collegati al codice, visibilità end-to-end, CI integrata in modo ottimale e nessuna commutazione di contesto fra gli strumenti.
Nebulaworks ha sostituito completamente il suo stack Git autogestito con GitLab. "Ci siamo spinti al punto di definire tutte le nostre risorse (repository, gruppi, autorizzazioni e non solo) su GitLab utilizzando Terraform. In questo modo, GitLab viene aggiornato proprio come qualsiasi altro segmento di codice: invio di una RM, la conseguente applicazione e il successivo merge", afferma Hernandez. "È fantastico che anche i neoassunti siano in grado di aggiungere le proprie autorizzazioni sin dal primo giorno tramite una RM. È proprio la soluzione ideale. Non c'è altro modo per apportare modifiche all'interno del nostro gruppo."
Nebulaworks ha scelto il piano Gold di GitLab, perché le funzionalità SaaS in abbonamento hanno permesso al team di spegnere alcune macchine on-premise e ottenere i vantaggi di un'applicazione in hosting. GitLab fornisce la tecnologia necessaria per eseguire e gestire i loro deployment in Amazon Web Services (AWS), in particolare i carichi di lavoro dei container in esecuzione sui cluster Amazon EKS.
Con la scelta di un modello SaaS, il team è in grado di ottimizzare l'efficienza sfruttando l'infrastruttura di GitLab e di concentrarsi sulla fornitura di prodotti migliori ai clienti. "Non dobbiamo più preoccuparci delle patch di sicurezza o dell'aggiornamento delle versioni per offrire nuove funzionalità: a tutto questo pensa GitLab", afferma Hernandez. "Ora possiamo concentrarci sulla produttività del nostro team tecnico e sull'efficienza dei servizi e delle funzionalità di cui abbiamo bisogno. Gitlab ci permette di lavorare sulle questioni più importanti, senza doverci preoccupare delle attività di manutenzione".
Poiché il team tecnico utilizza molti strumenti diversi e si rapporta a una clientela variegata, è chiamato a concentrarsi sugli obiettivi da raggiungere. Il team valuta i risultati in base ai prodotti realizzati e alle tempistiche di distribuzione, ragion per cui necessita di uno strumento affidabile in grado di funzionare in sinergia con altri strumenti. "GitLab ci permette di rilasciare software in produzione ogni due settimane. È questo che si aspetta la nostra azienda. Ed è così che vogliamo andare avanti. Per noi è molto semplice. Lo stress è un lontano ricordo. Effettuiamo test su tutte le componenti e ne collaudiamo tutte le modifiche e gli aggiornamenti prima di implementarli in un ambiente di produzione reale", afferma Hernandez.
Il team tecnico di Nebulaworks non è l'unico a utilizzare GitLab. Per contribuire ad agevolare le interazioni fra il reparto marketing e gli ingegneri, il team di content marketing collabora in GitLab. L'azienda aveva pianificato la creazione di contenuti per una consulenza ingegneristica e GitLab ha fornito una soluzione semplice che permette di lavorare a stretto contatto con il team tecnico al fine di creare contenuti di qualità. Entrambi i team utilizzano i ticket e le bacheche di GitLab per comunicare, e i contenuti vengono aggiunti al sito nelle richieste di merge.
"Quando abbiamo deciso di investire nel content marketing, sapevamo di dover trovare una soluzione che consentisse al reparto marketing e agli ingegneri di lavorare insieme senza difficoltà. L'immediatezza della funzionalità di GitLab ci ha permesso di farlo", afferma Anne Lin, responsabile marketing per il brand. "Il reparto marketing ha adottato rapidamente il flusso di lavoro del team tecnico utilizzando il monitoraggio dei ticket, le bacheche Kanban e le richieste di merge per collaborare alla produzione di contenuti. Sfruttando lo stesso flusso di lavoro, i due team sono stati in grado di generare fiducia e offrire visibilità nel lavoro reciproco".
GitLab consente ai team di lavorare in modo asincrono. Presso Nebulaworks, lavorare da casa è facoltativo. Da quando l'azienda ha adottato la filosofia di lavoro da casa, la collaborazione è stata immediata. "Non abbiamo esitato. Il modo in cui collaboriamo e lavoriamo con i nostri clienti e ai progetti non è cambiato in termini di flusso di lavoro", ha affermato Patrick Collins, vicepresidente delle vendite e responsabile del successo clienti. "È stato un notevole successo riuscire a mettere in atto questo processo, passando da un enorme gruppo di persone in ufficio e un team che lavora al 100% da remoto".
Tutte le informazioni e le persone coinvolte nel case study rappresentano fedelmente la situazione reale al momento della pubblicazione.