Canary Release vs Blue / Green
È una strategia di deployment utilizzata per minimizzare il rischio.
| Canary Release | Blue / Green | |
|---|---|---|
| Definition | Un Canary Release è una strategia di deployment utilizzata nello sviluppo software per ridurre il rischio di introdurre una nuova versione, inizialmente dispiegandola a un piccolo sottoinsieme di utenti. | È un metodo di deployment software che prevede il mantenimento di due ambienti di produzione identici, con un ambiente (blue) che esegue la versione corrente dell'applicazione e l'altro (green) che esegue la nuova versione. |
| Categories | DevOps, deployment, release, rischi | ALM, CD, CI, DevOps, deployment |
Che cos'è un Canary Release?
È una strategia di deployment utilizzata per minimizzare il rischio.
Definizione
Un Canary Release è una strategia di deployment utilizzata nello sviluppo software per ridurre il rischio di introdurre una nuova versione, inizialmente dispiegandola a un piccolo sottoinsieme di utenti.
Origine
Il nome deriva dai minatori che portavano un canarino in una gabbia nelle miniere di carbone. Se dei gas tossici si infiltravano nella miniera, il canarino moriva prima dei minatori.
Monitoraggio
Il sistema è attentamente monitorato per rilevare problemi, e se la nuova versione funziona bene, viene gradualmente rilasciata a più utenti.
Rollback
Se vengono rilevati problemi, il rilascio può essere annullato e la vecchia versione ripristinata per tutti gli utenti.
Selezione
Vengono utilizzate diverse strategie per selezionare quali utenti saranno esposti alla nuova versione, come il campionamento casuale o la selezione basata su demografica.
Cos'è il deployment Blue / Green?
È un metodo di deployment software che prevede il mantenimento di due ambienti di produzione identici.
Definizione
È un metodo di deployment software che prevede il mantenimento di due ambienti di produzione identici, con un ambiente (blue) che esegue la versione corrente dell'applicazione e l'altro (green) che esegue la nuova versione.
Cambio del Traffico
Solo uno degli ambienti riceve traffico live in un dato momento, con tutto il traffico di produzione indirizzato verso di esso, mentre l'ambiente inattivo viene utilizzato per testare e implementare nuove modifiche.
Rollback
Se si presentano problemi con la nuova versione, il traffico può essere immediatamente reindirizzato all'ambiente live precedente, minimizzando i tempi di inattività e il rischio.
Obiettivo
Il metodo mira a ridurre i tempi di inattività durante i deployment reindirizzando istantaneamente le richieste da un ambiente all'altro.