Blog

  • +
    Mitigare l’impatto del Coronavirus: consigli per gli IT
  • +
    Webinar: Non farti fermare dal virus, scopri lo smart working con G Suite | giovedì 26 marzo
  • +
    AWS a supporto delle zone rosse
  • +
    Smart working, ma come?
  • +
    Smart working: come sta cambiando il mondo del lavoro con la digital trasformation
  • +
    Trend BI 2020: le analytics non bastano più
  • +
    Cloud 2020: le tendenze principali
  • +
    Le tendenze DevOps per il 2020
  • +
    Il 2020 del Machine Learning e dell’Intelligenza Artificiale
  • +
    Il 2019 di Miriade
  • +
    I trend IT del 2020
  • +
    AWS Transformation Day. Il racconto dell’evento

Continuous Integration e Continuous Delivery: istruzioni per l’uso

By Luca Zanetello 9 mesi fa

Se conosci, anche solo marginalmente il mondo DevOps – di cui abbiamo già scritto in un precedente articolo – avrai sentito parlare di Continuous Delivery e Continuous integration.

Entrambi sono tra gli elementi principali della metodologia DevOps che aiuta i team IT a lavorare in modo più rapido e coordinato, riducendo i tempi di rilascio delle nuove versione degli applicativi.

Ma quali sono le caratteristiche di questi due metodi?

Continuous Integration

La continuous integration è un metodo di sviluppo software in cui gli sviluppatori aggiungono regolarmente modifiche al codice in un repository centralizzato, con la creazione di build e i test eseguiti automaticamente con lo scopo di individuare e risolvere i bug con maggiore tempestività, migliorare la qualità del software e ridurre il tempo richiesto per convalidare e pubblicare nuovi aggiornamenti.
In passato gli sviluppatori di un team lavoravano spesso separati gli uni dagli altri per un lungo periodo e cercavano di integrare le loro modifiche al master solo una volta completate, rendendo difficoltosa e poco immediata l’unione di modifiche del codice, comportando anche l’accumulo di bug per lunghi periodi senza che venissero corretti.
Con la continuous integration, invece, gli sviluppatori eseguono i commit in modo più frequente in un repository condiviso e impiegano un sistema di controllo della versione, ad esempio Git. Prima di applicare una modifica, possono eseguire unit test in locale, una verifica aggiuntiva importante prima dell’integrazione definitiva.

I principali vantaggi:

  • Maggiore produttività per gli sviluppatori
    Gli sviluppatori vengono liberati dalle attività manuali incoraggiando le pratiche che riducono il numero di errori e bug nel software distribuito ai clienti.
  • Bug individuati e risolti con maggiore prontezza
    Con un testing più frequente è più facile individuare tempestivamente e risolvere i bug prima che diventino problemi gravi.
  • Aggiornamenti più rapidi
    Possibilità di rilasciare aggiornamenti in modo più rapido e con maggiore frequenza.

Continuous Delivery

Con la Continuous Delivery le modifiche al codice vengono preparate automaticamente per un rilascio in produzione. La Continuous Delivery estende la Continuous Integration distribuendo tutte le modifiche al codice all’ambiente di testing e/o di produzione dopo la fase di creazione di build, consentendo agli sviluppatori di automatizzare il testing oltre gli unit test, in modo da verificare l’applicazione degli aggiornamenti su vari livelli prima di renderli disponibili ai clienti. Queste prove possono includere test dell’interfaccia, test di caricamento, test di integrazione, test di affidabilità delle API e molto altro.

La differenza principale tra Continuous Delivery e Continuous Integration è la presenza di un processo di approvazione manuale per l’aggiornamento della produzione. Con la Continuous Delivery la produzione avviene automaticamente, senza un’approvazione esplicita.

La decisione finale per implementare il nuovo software nell’ambiente di produzione attivo dipende poi dallo sviluppatore.

I principali vantaggi:

  • Processo di rilascio del software automatizzato
    La distribuzione continua consente al team di applicare a una build, testare e preparare le modifiche al codice per l’inoltro in produzione in modo più efficiente e veloce.
  • Maggiore produttività per gli sviluppatori
    Migliore produttività degli sviluppatori liberandoli dalle attività manuali e incoraggiando le pratiche che riducono il numero di errori e bug nel software rilasciato ai clienti.
  • Bug individuati e risolti con maggiore prontezza
    Possibilità di rilevare e risolvere i bug prima che si trasformino in problemi gravi, grazie a testing più completi e più frequenti. La Continuous Delivery consente di eseguire sul codice il genere di test che, senza un’automatizzazione completa, non sarebbe stato possibile effettuare.
  • Aggiornamenti più rapidi
    Rilascio di aggiornamenti in modo più rapido e con maggiore frequenza grazie a una build temporanea sempre a disposizione, pronta per la distribuzione che ha già passato un processo di testing standardizzato.

Scopri di più

Miriade ha al proprio interno elevate competenze DevOps ed è pronta ad aiutarti a snellire e semplificare i tuoi processi di sviluppo e di gestione delle infrastrutture per consentirti di rispondere in modo sempre più veloce all’esigenze del tuo mercato.

Scopri come possiamo aiutarti visitando la pagina dedicata al mondo DevOps.

Category:
  Miriade
this post was shared 0 times
 000