Suite di lavoro privata: Test 105 volte più veloci, rilasci 3 volte più brevi

Innowise ha trasformato il processo di rilascio di Carbonio, sostituendo le pratiche manuali con una struttura meticolosa e automatizzata. Questo ha permesso di velocizzare i rollout, aumentare la stabilità e la scalabilità a lungo termine.

98%

meno bug di produzione

10x

distribuzione più rapida per le installazioni client

Suite di postazione di lavoro digitale privata distribuita su un personal computer
I dipendenti 130
Regione Italia
Cliente da 2022

Panoramica del cliente

Riassumere l'articolo con AI

Zextras sviluppa software aziendali incentrati sulla comunicazione sicura e sulla gestione dei dati. Il suo prodotto di punta, Carbonio, è una suite di lavoro digitale self-hosted che integra e-mail, calendario, archiviazione di file, chat, conferenze e strumenti per l'ufficio, in esecuzione su desktop e mobile. Grazie al suo modello sicuro e completamente privato e all'architettura modulare, Carbonio è apprezzato da organizzazioni di tutte le dimensioni che danno priorità alla sovranità digitale senza rinunciare alla scalabilità.

Sfida

Con un set di strumenti maturo, molteplici componenti e un numero crescente di installazioni, Carbonio ha continuato a espandersi, insieme al suo ecosistema di partner. Per sostenere questo slancio, il team ha cercato di snellire i processi di consegna e installazione - una mossa strategica per:

  • Aumentare la velocità di rollout. Fornite aggiornamenti e correzioni più rapidamente per aiutare gli utenti di Carbonio ad accedere prima ai miglioramenti e a rafforzare il vantaggio competitivo.
  • Ridurre l'onere dell'assistenza. Migliorare la stabilità e la reattività del sistema per ridurre al minimo i tempi di inattività e diminuire la pressione sui team di assistenza.
  • Crescere le installazioni guidate dai partner. Semplificare l'implementazione e la configurazione per ridurre le barriere tecniche e consentire a un maggior numero di partner di implementare Carbonio in modo indipendente.

Dietro questi obiettivi aziendali si nascondeva un ciclo di vita post-sviluppo parzialmente manuale, un collo di bottiglia per una piattaforma scalabile e multi-modulo come Carbonio. Il team aveva bisogno di:

  • Accelerare il controllo qualità. I test di regressione richiedevano 35 ore per ciclo, bloccando le pipeline di rilascio e sottraendo tempo agli sviluppatori, mentre i difetti non rilevati portavano a costosi interventi di hotfix.
  • Semplificare e accelerare la distribuzione. Ogni server, modulo e integrazione doveva essere configurato a mano, consumando tempo prezioso e richiedendo una profonda competenza tecnica.
  • Semplificare lo sviluppo. I componenti architettonici ereditati hanno reso più impegnativo lo sviluppo quotidiano, lasciando meno spazio all'innovazione.

Per questo motivo avevano bisogno di un partner esperto nella trasformazione di processi complessi, in grado di collaborare all'eliminazione dei colli di bottiglia e alla velocizzazione del rilascio dei prodotti.

Automatizzare i processi manuali per velocizzare i rilasci

La soluzione che abbiamo fornito

Come parte del team internazionale del cliente, Innowise si è rapidamente unita al progetto di Zextras, introducendo un approccio basato sull'automazione. Abbiamo identificato i principali blocchi ed eliminato i colli di bottiglia alla radice con framework strutturati che risolvevano le cause piuttosto che i sintomi.

QA come servizio continuo

Il team QA di Innowise si è reso conto che il QA manuale era ostacolato da integrazioni pesanti dal punto di vista della regressione, da problemi di contenuto imprevedibili e da risultati incoerenti tra gli ambienti. Per superare questo problema, abbiamo reingegnerizzato i test in base alla completa automazione.

Da lì, Zextras ha guadagnato un pipeline QA continua e resiliente che convalida i componenti dell'interfaccia utente in ogni release e cattura la maggior parte dei bug prima che raggiungano la produzione. Con la mappatura dell'architettura e la definizione delle priorità dei flussi critici per l'azienda, il nostro approccio all'automazione dei test porta ora alla realizzazione di release prevedibili e stabili:

  • Copertura completa dei casi - Tutti i flussi di utenti essenziali vengono ora convalidati automaticamente, dalle funzioni di base come l'invio e la ricezione di e-mail alle operazioni complesse nei moduli di archiviazione dei file e di videoconferenza.
  • Supporto di più browser - I test vengono eseguiti su Chrome, Safari, Firefox ed Edge con un utilizzo ottimizzato delle risorse. Sfruttando il motore Chromium condiviso in Chrome ed Edge, abbiamo ridotto al minimo le duplicazioni eseguendo la maggior parte dei test in Chromium.
  • Rilevamento proattivo dei problemi - I problemi dei driver del browser vengono identificati prima degli aggiornamenti ufficiali del browser, prevenendo i problemi che potrebbero verificarsi nelle versioni successive. Questo approccio preventivo consente di risparmiare risorse e di accelerare i test.
  • Supporto dell'ambiente dinamico - I test possono essere eseguiti in qualsiasi ambiente, semplicemente specificando l'URL del server, facilitando la convalida dei moduli in diverse configurazioni.
  • Affidabilità con casi limite. - Eseguendo test con diversi set di dati, ci siamo assicurati che input, eccezioni o condizioni insolite non potessero altrimenti interrompere il sistema.
  • Rapporti accessibili. - per ogni scenario di bug, i rapporti di test forniscono schermate, video, registri delle richieste e risultati, consentendo ai PM, al personale tecnico e non tecnico di individuare e dare priorità ai problemi immediatamente.

La cosa più importante è che ora il QA è incorporato nello sviluppo stesso. Con la suite di automazione integrata nelle pipeline CI/CD di Jenkins, ogni build e deployment attiva un controllo completo dell'interfaccia utente, individuando tempestivamente i problemi e proteggendo la velocità di rilascio.

Per il momento, il nostro team di automazione QA composto da due ingegneri ha consegnato 900+ test automatizzati che copre gli scenari critici di uso quotidiano, dalle transazioni e-mail alla pianificazione del calendario, dall'archiviazione dei file alla chat. Per garantire l'affidabilità, abbiamo fissato e mantenuto costantemente un KPI di 90%+ stabilità del test in tutte le esecuzioni.

E continua a evolversi: perfezioniamo continuamente il framework, rimuovendo le vecchie soluzioni personalizzate man mano che il prodotto si evolve e adattando i localizzatori durante la migrazione React 17→18. Inoltre, abbiamo ampliato la copertura con l'automazione CLI, aggiunto test in base all'evoluzione del prodotto e migliorato il rafforzamento per la manutenibilità a lungo termine.

Eccellenza nell'implementazione e nelle operazioni

L'unità DevOps di Innowise ha aiutato il cliente a ottimizzare il processo di distribuzione introducendo una maggiore automazione su scala. Sia gli aggiornamenti che le installazioni dei clienti, che prima consumavano tempo e risorse, ora vengono eseguiti in modo più rapido, sicuro e con un'affidabilità costante.

Ecco cosa ha fatto la differenza:

  • Infrastruttura come codice (IaC) - Le installazioni e gli aggiornamenti sono ora completamente automatizzati con i playbook Ansible. I proxy e le impostazioni dei database sono codificati, rendendo le distribuzioni ripetibili, a basso rischio e immediatamente scalabili tra i clienti e i data center. I nuovi ambienti possono essere avviati molto più rapidamente.
  • Monitoraggio continuo (in corso) - per le infrastrutture interne, gli esportatori Prometheus e i cruscotti Grafana personalizzati tengono traccia delle prestazioni, del carico, dell'attività antivirus, della salute del servizio e altro ancora. I registri centralizzati segnalano le anomalie, aiutando a prevenire i problemi prima che disturbino gli utenti.
  • Componente ad alta disponibilità (HA) - PostgreSQL può essere configurato con ridondanza e failover automatico per salvaguardare i dati fondamentali della piattaforma. Questa configurazione garantisce la sicurezza del database, l'affidabilità delle transazioni e la resilienza dei servizi che dipendono da esso.
  • Strumenti di migrazione - In collaborazione con le altre unità del cliente, sono state sviluppate utility dedicate per supportare la migrazione di posta, calendari, contatti e account da piattaforme di terze parti. Questo ha contribuito a ridurre i tempi di inattività e a semplificare l'onboarding, mantenendo l'integrità, la privacy e la continuità dei dati.
  • Automazione della gestione dei rilasci - Con il CI/CD, i playbook di Ansible vengono confezionati in raccolte e pubblicati automaticamente su Ansible Galaxy o su un hub privato. In questo modo i clienti hanno la possibilità di effettuare l'installazione con un solo clic, di velocizzare l'onboarding e di avere la certezza che ogni versione sia testata e pronta per l'uso.

Supportiamo installazioni personalizzate, adattando Carbonio ai diversi ambienti dei clienti. Ciò significa riprogettare la sua architettura in casi limite che vanno da configurazioni a server singolo per un uso leggero, a infrastrutture di posta elettronica ad alto volume, a implementazioni che supportano conferenze parallele estese. Affrontando questi scenari non standard, aiutiamo Zextras a offrire esperienze personalizzate, affidabili e scalabili per ogni cliente.

Supporto continuo: crescita delle funzionalità e onboarding senza soluzione di continuità

Essendo inserito nel team di sviluppo del cliente, l'Innowise ha contribuito Competenza in Java che ha sostenuto gli sforzi più ampi per rendere il core di Carbonio più resiliente e pronto per il futuro. Abbiamo iniziato eliminando gli ostacoli di vecchia data attraverso un profondo refactoring, pratiche di codice pulito e la riprogettazione delle funzionalità sulle versioni moderne del linguaggio, miglioramenti che hanno contribuito ad aumentare la manutenibilità, le prestazioni e l'efficienza dei costi a lungo termine.

In continuo sviluppo, questo sforzo congiunto ha rafforzato la posizione di Carbonio come piattaforma di lavoro sicura e affidabile. I progressi più significativi includono:

  • Email sicure, basate su certificati, con crittografia S/MIME;
  • Traffico criptato con certificati TLS/SSL e strumenti di rinnovo automatico;
  • Controlli di amministrazione più rigorosi, tra cui la reimpostazione della password, la rinominazione dell'account e la gestione dei diritti dell'helpdesk;
  • Funzionalità di tenuta legale per supportare i requisiti di conformità nei settori regolamentati;
  • Sincronizzazione più rapida di e-mail, calendari e contatti in condizioni di carico estremo.

Continuiamo a svolgere un ruolo attivo nell'evoluzione di Carbonio, apportando miglioramenti e correzioni di bug che aiutano a mantenere il prodotto stabile, sicuro e allineato alle mutevoli richieste del mercato.

Icona della citazione

L'onere manuale di un prodotto complesso e multi-modulare come Carbonio appesantiva il team e allontanava le date di rilascio. Il nostro obiettivo era quello di rendere i test e le installazioni del prodotto una routine senza problemi. Grazie all'automazione del QA e della distribuzione, Zextras è ora sicura della qualità del prodotto e può far crescere attivamente le installazioni guidate dai partner.

Andrew Artyukhovsky
Andrew Artyukhovsky Responsabile Assicurazione Qualità

Tecnologie utilizzate

AQA

Playwright, Fiddler, CI/CD via Jenkins, GitHub, Allure

DevOps e ingegneria di sistema

Jenkins, Azioni GitHub, Ansible, vSphere, Prometheus, Grafana, PostgreSQL, HAProxy, PfSense, ClamAV, kLDAP, Apache Kafka, Ubuntu, Loki, Vector, Zookeeper, Patroni, Docker, Python, Azure

Backend

Java 11, Java 17, Java 21, Jetty, Jersey, Guice, LDAP, SOAP, Maven, Linux, Bash, Perl, GitHub, AWS Lambda

Team

Icona 2
Ingegneri AQA
Icona 1
Software Engineer
Icona 1
Ingegnere DevOps
Icona 1
Architetto di soluzioni
Il team Innowise

Risultati

Durata del progetto
Luglio 2022 - Oggi

Un approccio orientato all'automazione ha ridisegnato il ciclo di vita post-sviluppo di Zextras, fornendo:

  • Cicli di test 105 volte più veloci - da 35 ore a 20 minuti.
  • 98% meno bug di produzione - i problemi dell'assistenza clienti sono diminuiti in modo significativo.
  • Tasso di superamento del test automatizzato ≥90% - affidabilità bloccata in tutte le corse.
  • 240+ difetti critici intercettati prima della produzione - problemi che avrebbero potuto causare interruzioni non hanno mai raggiunto gli utenti.
  • Collaborazione semplificata - Rapporti chiari e visivi consentono ai PM, all'assistenza e ai team di sviluppo di prendere decisioni più rapide e basate sui dati.
  • Risorse ottimizzate - L'automazione ha ridotto le spese per i test manuali, reindirizzando tempo e budget verso una consegna più rapida delle funzionalità.
  • Distribuzione accelerata di 10 volte - Le installazioni e gli aggiornamenti dei client sono diventati più rapidi e ripetibili.
  • Cicli di rilascio ridotti di 3 volte - nuove funzionalità raggiungono più rapidamente il mercato.
  • Abilitati i rollout dei partner - L'installazione automatizzata ha aperto le porte a distribuzioni guidate dai partner, creando nuovi flussi di reddito.

Grazie a rilasci di funzionalità più rapidi e a un modello di distribuzione favorevole ai partner, Carbonio consolida la sua posizione di alternativa competitiva e autogestita ai fornitori di collaborazione cloud globali. Il team di Innowise continua a supportare il prodotto ampliando la copertura dei test automatizzati, correggendo i bug e introducendo nuove funzionalità per renderlo più stabile, sicuro e facile da usare.

Indice dei contenuti

Automatizzare i processi manuali per velocizzare i rilasci

    Contattateci

    Prenota una chiamata oppure compilate il modulo sottostante e sarete ricontattati una volta elaborata la vostra richiesta.

    Inviaci un messaggio vocale
    Allegare i documenti
    Caricare il file

    È possibile allegare 1 file di dimensioni massime di 2 MB. Formati di file validi: pdf, jpg, jpeg, png.

    Facendo clic su Invia, l'utente acconsente al trattamento dei propri dati personali da parte di Innowise in base alla nostra Informativa sulla privacy per fornirvi informazioni pertinenti. Inviando il vostro numero di telefono, accettate che possiamo contattarvi tramite chiamate vocali, SMS e applicazioni di messaggistica. Potrebbero essere applicate tariffe per chiamate, messaggi e dati.

    Potete anche inviarci la vostra richiesta
    a contact@innowise.com
    Cosa succede dopo?
    1

    Una volta ricevuta ed elaborata la vostra richiesta, vi contatteremo per illustrarvi le esigenze del vostro progetto. Progetto e firmare un NDA per garantire la riservatezza.

    2

    Dopo aver esaminato i vostri desideri, le vostre esigenze e le vostre aspettative, il nostro team elaborerà una proposta di progetto con l'ambito di lavoro, le dimensioni del team, i tempi e i costi stimati con l'ambito di lavoro, le dimensioni del team, i tempi e i costi stimati.

    3

    Organizzeremo un incontro con voi per discutere l'offerta e definire i dettagli.

    4

    Infine, firmeremo un contratto e inizieremo subito a lavorare sul vostro progetto.

    freccia