Continuous Integration e Continuous Delivery

istruzioni per l’uso

Se conosci, anche solo marginalmente il mondo DevOps 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.

Continous Integration Continous Deployment Miriade

 

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.
Contenuti simili
DIGITAL ENTERPRISE
mar 09, 2022

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.

DIGITAL ENTERPRISE
Cosa fa un System Administrato
feb 19, 2022

Esistono sistemisti che si occupano più di server che di pc e, in quel caso, sono spesso coinvolti nell’analisi dei log. Anche la sicurezza è un ambito che riguarda l'attività del System Administrator. A volte prendono in esame anche la parte di Firewall, anche se è più legata alla Security e al Networking. Ad ogni modo, in tema di sicurezza, ogni sistema operativo ha le sue patch e queste sono certamente una delle più grandi preoccupazioni di un Sistemista.