Lasciate i vostri contatti, vi invieremo il nostro whitepaper via e-mail.
Acconsento al trattamento dei miei dati personali per l'invio di materiale di marketing personalizzato in conformità con la normativa vigente. Informativa sulla privacy. Confermando l'invio, l'utente accetta di ricevere materiale di marketing
Grazie!

Il modulo è stato inviato con successo.
Ulteriori informazioni sono contenute nella vostra casella di posta elettronica.

Innowise è una società internazionale di sviluppo software a ciclo completo fondata nel 2007. Siamo un team di oltre 1600+ professionisti IT che sviluppano software per altri professionisti in tutto il mondo.
Chi siamo
Innowise è una società internazionale di sviluppo software a ciclo completo fondata nel 2007. Siamo un team di oltre 1600+ professionisti IT che sviluppano software per altri professionisti in tutto il mondo.

Automazione DevOps per il sistema di gestione dei laboratori: oltre 70% di riduzione dei costi di calcolo

Il team di Innowise ha ottimizzato l'infrastruttura cloud e automatizzato i processi CI/CD per un'azienda leader nel settore dei test del DNA, aumentando la scalabilità e l'efficienza delle operazioni di elaborazione dei dati.

Cliente

Industria
Assistenza sanitaria
Regione
Stati Uniti
Cliente da
2023

Il nostro cliente è un'azienda leader nel settore delle biotecnologie, specializzata in test del DNA e analisi del microbioma. L'azienda è nota per la fornitura di analisi rapide e affidabili che utilizzano tecniche molecolari avanzate e che si rivolgono a un ampio spettro di applicazioni nel campo della salute umana, dell'agricoltura e degli studi ambientali. I loro servizi vanno dalla progettazione degli studi all'analisi completa dei dati, contribuendo alla ricerca e allo sviluppo nel settore sanitario.

Le informazioni dettagliate sul cliente non possono essere divulgate in base ai termini dell'NDA.

Sfida

Problemi con gli aggiornamenti dell'infrastruttura, la migrazione a GitHub e l'ottimizzazione CI/CD

La nostra collaborazione con il cliente, iniziata nel 2023, si è incentrata principalmente sulla risoluzione delle sue complesse sfide DevOps. Il cliente ha dovuto affrontare una serie di problemi sfaccettati, ognuno dei quali era essenziale per l'efficienza operativa della ricerca sul microbioma:
  • Espansione dell'infrastruttura e migrazione: Il cliente era in procinto di espandere il proprio ambienti AWS con architetture aggiornate. Questa espansione ha comportato la migrazione di diversi ambienti legacy in nuovi sistemi. 
  • Gestione dell'infrastruttura legacy: Un altro aspetto della sfida era la gestione del codice Terraform e delle risorse del cluster Kubernetes. La configurazione esistente era macchinosa e obsoleta e richiedeva una revisione sostanziale per soddisfare le esigenze attuali e future.
  • Esaurimento del pool di indirizzi IP: Un problema critico era l'esaurimento degli indirizzi IP causato da una subnetting inefficiente nella rete. Questo ostacolava l'attuale gestione della rete e rappresentava una minaccia significativa per i piani di espansione futuri.
  • Migrazione da GitLab a GitHub: Il cliente voleva anche passare da GitLab a GitHub, con l'integrazione di GitHub Codespaces. Questo passaggio mirava a facilitare lo sviluppo in remoto e a evitare la necessità di archiviare il codice su macchine locali, aumentando la sicurezza e la collaborazione.
  • Ottimizzazione dei processi CI/CD: Era urgente ottimizzare i processi di continuous integration e continuous deployment (CI/CD). Il miglioramento di questi processi era essenziale per aumentare la velocità e l'affidabilità del deployment.
  • Implementazione della strategia di implementazione Blue/Green: Infine, il cliente ha cercato di implementare una strategia di distribuzione Blue/Green. Questo approccio mirava a ridurre al minimo i rischi di implementazione e a garantire un rollout continuo di nuove funzionalità e aggiornamenti.
Il cliente si aspettava che il nostro team affrontasse queste sfide e migliorasse l'efficienza operativa, riducendo i costi e accelerando il processo di sviluppo. Essendo specializzati nella ricerca sul microbioma con vaste esigenze di elaborazione dei dati, il miglioramento delle pratiche DevOps era essenziale per rafforzare la capacità di fornire servizi in tempi rapidi.

Soluzione

Automazione DevOps per LMS

La nostra soluzione per il cliente si è concentrata su tre aree principali: ottimizzazione dell'infrastruttura, automazione DevOps e miglioramento dei processi CI/CD.

Ottimizzazione dell'infrastruttura

Abbiamo iniziato la nostra collaborazione revisionando l'infrastruttura del cliente. Il nostro team ha optato per un'architettura serverless utilizzando i servizi AWS. Questo approccio era fondamentale per gestire le grandi quantità di dati elaborati nell'analisi del microbioma.
  • Ambiente AWS e migrazione legacy: Abbiamo ampliato gli ambienti AWS, incorporando nuove architetture che supportassero la crescita e le esigenze diversificate del cliente. I sistemi legacy sono stati migrati senza problemi a questi nuovi ambienti senza interrompere le operazioni in corso.
  • Gestione della rete e assegnazione degli indirizzi IP: La sfida dell'esaurimento degli indirizzi IP è stata affrontata implementando un approccio di subnetting strategico. In questo modo si è risolto il problema immediato della carenza di indirizzi e si è semplificata la futura espansione della rete.
  • Rifattorizzazione IaC con Terraform e Terraspace: Il nostro team ha ristrutturato la configurazione dell'Infrastructure as Code (IaC), migrando da Terraform a Terraspace. Questo passaggio ha migliorato la gestibilità e la scalabilità del codice dell'infrastruttura, consentendo la gestione di più account.

Automazione DevOps

Le pratiche operative di sviluppo sono state al centro della nostra soluzione, finalizzata a migliorare Automazione dell'infrastruttura DevOps e semplificare i processi.
  • Implementazione di Karpenter: L'introduzione di Karpenter ha segnato una tappa significativa nell'ottimizzazione delle risorse. Questo strumento ha ridotto il numero di macchine necessarie e ha abbattuto i costi di calcolo di 70%.
  • Integrazione degli strumenti del progetto Argo: Abbiamo utilizzato ArgoCD, Argo Rollouts e ArgoCD Image Updater per automatizzare i processi di distribuzione. Questa configurazione ha liberato gli sviluppatori dalla gestione manuale della pipeline, consentendo loro di concentrarsi sulle attività di sviluppo principali.
  • Modello di distribuzione Blue/Green e Canary: La nostra strategia di distribuzione ha combinato i punti di forza dei modelli Blue/Green e Canary. Questo approccio ibrido ha accelerato i cicli di sviluppo e minimizzato i rischi di implementazione, segnando un significativo progresso nelle capacità operative del cliente.

Miglioramento del processo CI/CD

L'ultimo pilastro del nostro Servizi di automazione DevOps si è concentrato sul perfezionamento dei processi CI/CD. Ciò ha comportato una serie di implementazioni strategiche volte a incrementare le prestazioni.

  • Migrazione a GitHub e integrazione di Codespaces: Abbiamo facilitato la transizione del cliente da GitLab a GitHub, configurando i GitHub Codespaces per una gestione del codice più sicura ed efficiente. Questo passaggio ha migliorato la sicurezza del codice e semplificato i flussi di lavoro dello sviluppo.

  • Rifattorizzazione e automazione delle pipeline: Abbiamo ristrutturato le pipeline CI/CD per separare il deployment continuo dall'integrazione. Questa segmentazione ha migliorato l'efficienza del processo di deployment e ridotto i potenziali errori.

  • Monitoraggio e ottimizzazione dei costi: L'implementazione di Grafana Stack e Prometheus ci ha permesso di creare un sistema di monitoraggio completo. Questo sistema ci ha aiutato a monitorare i costi di AWS e a ottimizzare l'uso delle risorse per operazioni economicamente vantaggiose.

Tecnologie

Parte posteriore

Python; FastAPI

Parte anteriore

React; Node.js; Material UI

Databases

PostgreSQL

Piattaforme

Web

Cloud Servizi e piattaforme

AWS; Funzioni Lambda; EKS; ECR

Gestione e containerizzazione

Docker; Kubernetes

Infrastruttura come codice (IaC)

Timone; Terraform; Terraspace

Integrazione e distribuzione continue

ArgoCD; Argo Rollouts; ArgoCD Image Updater; GitLab; GitHub; Karpenter; Kubecost

Monitoraggio e registrazione

Grafana; Grafana Loki; Promtail; Prometheus

Gestione della rete

Plugin Kubernetes CNI

Monitoraggio del server

Prometheus

Garanzia di qualità

Playwright

Sistemi operativi

Linux; amd64; arm64

Sistemi di controllo della versione

GitHub; ArgoCD

Integrazioni

Microsoft AD SSO

Processo

Il nostro processo si è basato sulla metodologia Agile con un framework Scrum che enfatizzava la flessibilità, il miglioramento continuo e la rapidità di consegna. Abbiamo organizzato il nostro lavoro in sprint di una settimana, con riunioni quotidiane di stand-up alle 18:00 CET per garantire l'allineamento e affrontare qualsiasi problema immediato. Ogni venerdì si tenevano sessioni di pianificazione degli sprint, in cui il team esaminava e pianificava collettivamente le attività per la settimana successiva. Queste sessioni erano accompagnate da retrospettive e presentazioni.
  • Gestione dei compiti e comunicazione
I nostri sviluppatori avevano la piena proprietà del backlog, dando loro l'autonomia di gestire e pianificare le attività. La comunicazione diretta con il Product Owner (PO) era poco frequente, in quanto gli obiettivi e i requisiti principali delle attività erano stabiliti e spesso dettagliati dal designer principale del progetto.
  • Sviluppo e documentazione
Il nostro approccio all'implementazione dei compiti ha comportato lo sviluppo di modelli POC (Proof of Concept) per la maggior parte dei compiti, seguiti dalla creazione di diagrammi dettagliati rivisti dal team. Questa pratica ci ha permesso di convalidare le idee e garantire la fattibilità prima dello sviluppo su larga scala. Abbiamo curato in modo approfondito la documentazione del progetto per garantire l'esecuzione regolare dei nostri compiti.
  • Cloud sfide di sicurezza e automazione DevOps 
Un aspetto significativo del nostro progetto è stato la gestione e l'ottimizzazione degli ampi rapporti sui dati di laboratorio del cliente, che ammontavano a petabyte di dati. Questa enorme mole di dati ha comportato notevoli costi AWS.
  • Revisione e adattamento degli sprint
Alla fine di ogni settimana abbiamo condotto delle sprint review, che comprendevano dimostrazioni di nuove funzionalità e discussioni sullo sprint successivo. Queste riunioni sono state fondamentali per adattare le nostre strategie a qualsiasi cambiamento dei requisiti.

Team

2

Ingegneri DevOps

1

Sviluppatore front-end

1

Sviluppatore full-stack

Risultati

70% riduzione dei costi di calcolo

La nostra collaborazione con il cliente ha portato a miglioramenti significativi nell'infrastruttura e nei processi DevOps. I principali risultati ottenuti sono i seguenti:
  • Ottimizzazione dei costi: L'implementazione di Karpenter ha permesso di ridurre il numero di macchine utilizzate nel cluster da 15 a 6, con una conseguente riduzione di 70% dei costi di calcolo. Questo sostanziale risparmio sui costi ha migliorato notevolmente l'efficienza economica delle operazioni.
  • Accelerazione del processo di sviluppo: L'introduzione del modello di rilascio Blue-Green-Canary ha accelerato notevolmente il processo di sviluppo. Questa implementazione strategica ha accelerato lo sviluppo e aggiunto un livello di sicurezza al processo di rilascio.
  • Miglioramenti attraverso l'automazione DevOps: L'utilizzo degli strumenti di Argo Project ha migliorato notevolmente la pipeline di sviluppo. Il team di sviluppo del cliente può ora aggiornare il cluster Kubernetes con nuove versioni dell'applicazione semplicemente spingendo il codice, con l'intero processo di build e deployment automatizzato. Ciò ha ridotto notevolmente l'intervento manuale nelle attività di routine, consentendo agli ingegneri di concentrarsi maggiormente sulle attività di sviluppo strategiche.
  • Semplificazione della gestione dell'infrastruttura: La migrazione del codice di Terraform al framework Terraspace, insieme al refactoring della gestione dei cluster Kubernetes, ha semplificato la gestione dell'infrastruttura. Questi cambiamenti hanno reso la gestione dell'infrastruttura più semplice ed efficiente.
  • Miglioramento dell'osservabilità: L'integrazione di Grafana Stack e Prometheus per ulteriori metriche ha migliorato in modo significativo l'osservabilità del sistema. Questo miglioramento ha portato a un migliore monitoraggio dei dati, facilitando un processo decisionale e una gestione del sistema più informati.
Attualmente, siamo nelle fasi finali della configurazione degli ambienti AWS, assicurandoci che siano adattati alle esigenze del cliente. In prospettiva, si prevede di migliorare ulteriormente il modello di rilascio, sulla base del successo dell'implementazione della strategia Blue-Green-Canary.
Durata del progetto
  • Luglio 2022 - In corso

70%

riduzione dei costi di calcolo

2x

aumento della velocità di sviluppo

50%

diminuzione degli interventi manuali

Contattateci!

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

    Si prega di includere i dettagli del progetto, la durata, lo stack tecnologico, i professionisti IT necessari e altre informazioni pertinenti
    Registra un messaggio vocale sul tuo
    progetto per aiutarci a capirlo meglio
    Allega ulteriori documenti se necessario
    Caricare il file

    È possibile allegare fino a 1 file di 2 MB complessivi. File validi: pdf, jpg, jpeg, png

    Vi informiamo che cliccando sul pulsante Invia, Innowise tratterà i vostri dati personali in conformità con la nostra Informativa sulla privacy allo scopo di fornirvi informazioni adeguate.

    Cosa succede dopo?

    1

    Dopo aver ricevuto ed elaborato la vostra richiesta, vi ricontatteremo a breve per illustrare le esigenze del progetto e firmare un NDA per garantire la riservatezza delle informazioni.

    2

    Dopo aver esaminato i requisiti, i nostri analisti e sviluppatori elaborano una proposta di progetto con l'ambito di lavoro, le dimensioni del team, i tempi e i costi stimati.

    3

    Organizziamo un incontro con voi per discutere l'offerta e giungere a un accordo.

    4

    Firmiamo un contratto e iniziamo a lavorare sul vostro progetto il prima possibile.

    Grazie!

    Il tuo messaggio è stato inviato.
    Elaboreremo la vostra richiesta e vi ricontatteremo al più presto.

    Grazie!

    Il tuo messaggio è stato inviato.
    Elaboreremo la vostra richiesta e vi ricontatteremo al più presto.

    freccia