Conversica guida l'innovazione dell'IA con l'aiuto di GitLab Ultimate
Vuoi scoprire i vantaggi di GitLab Ultimate per il tuo team?
Il team tecnico di Conversica era alla ricerca di un singolo strumento scalabile per la CI/CD.
GitLab Ultimate offre agli sviluppatori di Conversica le più recenti funzionalità in questo ambito.
Un leader mondiale nell'IA
Conversica è leader nell'intelligenza artificiale per le aziende ed è l'unico fornitore di software di coinvolgimento dei lead basato sull'IA per le organizzazioni di marketing e vendita. Scelta da oltre 1.500 clienti in tutto il mondo, Conversica fornisce un SaaS per creare campagne curate che attirino e fidelizzino la clientela.
Il danno degli strumenti frammentari
Il team di sviluppo di Conversica usava TeamCity per la CI/CD, Quay.io per il registro delle immagini Docker e GitHub per il controllo del codice sorgente. Questo insieme di soluzioni creava un approccio disorganico, in cui gli strumenti erano in qualche modo consolidati attorno a GitHub, ma non abbastanza per creare un ambiente controllato. La situazione causava scontento tra gli sviluppatori, che faticavano ad accedere agli strumenti. "TeamCity ha una sorta di configurazione XML interna memorizzata in modo cervellotico e poco chiaro per gli sviluppatori", racconta Rob Fulwell, responsabile tecnico di Conversica. "L'accesso è possibile solo attraverso la UI, ma questa non è la modalità preferita dagli sviluppatori. A loro piace lavorare sui file di testo."
Il flusso di lavoro sconnesso risultava troppo lento per le esigenze aziendali. "I responsabili delle vendite e del marketing facevano pressioni per fornire le funzionalità più rapidamente", ricorda Fulwell. "In passato abbiamo dovuto concentrarci sulla distribuzione, cosa che forse ha causato l'accumulo di questo debito tecnico".
Il team perdeva sempre più tempo a risolvere gli errori della pipeline, invece di dedicarsi alla differenziazione dell'azienda. "Temevamo anche di non riuscire a implementare i requisiti futuri relativi a sicurezza e scansione delle licenze nei nostri sistemi", racconta Fulwell.
Creazione di piccoli progetti software
Dopo aver commissionato una serie di ricerche ad esperti, Conversica ha deciso che GitLab sarebbe stato lo strumento obbligatorio per i team tecnici e ha svolto la migrazione in tre mesi. Uno dei requisiti di Conversica era che lo strumento selezionato avesse una documentazione chiara per semplificare la migrazione. "In realtà ci siamo assicurati che la documentazione fosse tra le migliori in circolazione. Senza questa, penso che avremmo seriamente considerato un altro set di strumenti", racconta Fulwell.
Il team di Fulwell ha fornito consulenza alle altre squadre tecniche che stavano imparando a implementare le loro pipeline su GitLab. "Abbiamo collaborato molto con gli sviluppatori di altri team e, insieme a loro, abbiamo unito le pipeline", racconta Fulwell. "Ci siamo assicurati di rispettare gli standard dei giusti elementi da inserire in una buona pipeline, e quindi di avere la giusta progressione dei test automatici. È così che siamo riusciti a implementare la soluzione in tutto il team".
Conversica ha scelto GitLab Ultimate per sfruttare al meglio lo strumento senza limitazioni. "Grazie al self-hosting, se abbiamo bisogno di modificare alcune API internamente e programmare l'infrastruttura per renderlo possibile, ora possiamo farlo", dice Fulwell.
Con GitHub l'azienda aveva sperimentato alcune "strozzature" che causavano tempi di attesa e inattività per gli sviluppatori. Nonostante avessero le risorse per accettare più richieste, infatti, non riuscivano a raggiungere un livello di produzione più alto. Con GitLab Ultimate, gli sviluppatori non sono più inattivi.
Interfaccia utente moderna, pipeline trasparenti, maggiori capacità di scalare
Un chiaro vantaggio del passaggio a GitLab è la possibilità di visualizzare la pipeline end-to-end. Recentemente Conversica ha dovuto eseguire un revert di emergenza per un elemento distribuito durante il fine settimana. Con GitLab ha potuto vedere il commit specifico di cui era stato eseguito il deployment in quell'ambiente. "La prima volta che l'ho fatto, sono rimasto a bocca aperta. Potevo uscire dall'ambiente e letteralmente fare clic una volta sull'head del ramo principale in un altro ambiente", racconta Fulwell. Con GitHub i revert di emergenza erano possibili, ma non in un clic: servivano diversi passaggi per trovare il commit corretto. "Con GitLab è semplicissimo spostarsi end-to-end sulla pipeline quando si cerca un bug o altro: è un enorme vantaggio", racconta.
La UI di GitLab è più pulita e più facile da capire per gli sviluppatori rispetto agli strumenti del flusso di lavoro precedente. L'integrazione end-to-end con controllo del codice sorgente tramite CI/CD per il deployment offre ai team di sviluppo un'efficienza impossibile da raggiungere con il vecchio set di strumenti. Ora possono comunicare con più efficienza con i vari team tecnici, esplorare i progetti degli altri gruppi e collaborare al meglio. Il deployment è semplificato e può avvenire a un ritmo più veloce perché c'è fiducia nella distribuzione della pipeline. La sicurezza ora è a livello di codice, una grande novità per Conversica.
Conversica sta eseguendo il deployment da ECR a EKS nell'istanza GitLab Ultimate Self-Managed. Non sta ancora usando un'integrazione Kubernetes, ma sta studiando come raggiungere l'obiettivo. "Il passaggio a GitLab sembrava una scelta naturale in termini di scalabilità, affidabilità e sicurezza", afferma Fulwell. "Sicuramente ha funzionato bene in termini di capacità di implementazione e integrazione con i sistemi AWS che avevamo già compreso".
Tutte le informazioni e le persone coinvolte nel case study rappresentano fedelmente la situazione reale al momento della pubblicazione.