Che cos'è il recapito continuo?

Per le organizzazioni è diventato necessario poter usufruire del valore offerto dalla distribuzione continua. Per offrire valore agli utenti finali, è necessario rilasciare continuamente e senza errori.

Il recapito continuo (CD) è il processo di automazione di compilazione, test, configurazione e distribuzione da una compilazione a un ambiente di produzione. Una pipeline di versione può creare più ambienti di test o di gestione temporanea per automatizzare la creazione dell'infrastruttura e distribuire nuove compilazioni. Gli ambienti successivi supportano l'integrazione, il carico e le attività di test di accettazione dell'utente a esecuzione prolungata progressiva.

Illustration of how continuous delivery automates the flow to production..

Prima del CD, i cicli di rilascio del software erano un collo di bottiglia per i team operativi e delle applicazioni. Questi team spesso si basavano su handoff manuali che causavano problemi durante i cicli di rilascio. I processi manuali hanno portato a versioni inaffidabili che hanno generato ritardi ed errori.

La distribuzione continua è una pratica snella , con l'obiettivo di mantenere aggiornata la produzione con il percorso più rapido dalla disponibilità di nuovo codice o componente alla distribuzione. L'automazione riduce al minimo il tempo necessario per la distribuzione e il tempo necessario per attenuare (TTM) o il tempo necessario per correggere gli eventi imprevisti di produzione (TTR ). In termini snella, CD ottimizza il tempo di processo ed elimina il tempo di inattività.

L'integrazione continua avvia il processo cd. La pipeline di versione esegue le fasi di ogni ambiente successivo all'ambiente successivo dopo il completamento dei test. La pipeline di versione cd automatizzata consente un approccio rapido non riuscito alla convalida, in cui i test con maggiore probabilità hanno esito negativo e i test a esecuzione prolungata vengono eseguiti solo dopo il completamento corretto dei test più veloci.

Le procedure complementari dell'infrastruttura come codice (IaC) e il monitoraggio facilitano il CD.

Tecniche di esposizione progressiva

CD supporta diversi modelli per l'esposizione progressiva, detta anche "controllo del raggio di esplosione". Queste procedure limitano l'esposizione alle distribuzioni per evitare di rischiare problemi con la base utente complessiva.

  • CD può sequenziare più anelli di distribuzione per l'esposizione progressiva. Un anello tenta una distribuzione in un gruppo di utenti e ne monitora l'esperienza. Il primo anello di distribuzione può essere un canary per testare le nuove versioni nell'ambiente di produzione prima di un'implementazione più ampia. CD automatizza la distribuzione da un anello al successivo.

    La distribuzione all'anello successivo può dipendere facoltativamente da un passaggio di approvazione manuale, in cui un decision maker si disconnette elettronicamente dalle modifiche. CD può creare un record controllabile dell'approvazione per soddisfare le procedure normative o altri obiettivi di controllo.

  • La distribuzione blu/verde si basa sul mantenimento di una versione blu esistente mentre viene distribuita una nuova versione verde. Questa procedura usa in genere il bilanciamento del carico per indirizzare l'aumento della quantità di traffico verso la distribuzione verde. Se il monitoraggio rileva un evento imprevisto, il traffico può essere reindirizzato alla distribuzione di tipo blu ancora in esecuzione.

  • Flag di funzionalità o interruttori di funzionalità sono un'altra tecnica per la sperimentazione e i lanci scuri. I flag di funzionalità attivano o disattivano le funzionalità per gruppi di utenti diversi in base all'identità e all'appartenenza ai gruppi.

Le pipeline di versione moderne consentono ai team di sviluppo di distribuire nuove funzionalità in modo rapido e sicuro. La distribuzione continua può risolvere rapidamente i problemi rilevati nell'ambiente di produzione eseguendo il roll forward con una nuova distribuzione. In questo modo, cd crea un flusso continuo di valore del cliente.

Passaggi successivi