release management devops
Che cos'è la gestione del rilascio in DevOps?
Spero che tu sia stato chiaro Concetto di gestione della configurazione in DevOps dal nostro ultimo tutorial.
Come abbiamo definito DevOps in precedenza, DevOps è l'intero team che possiede il software dal suo inizio fino a quando non viene consegnato alla produzione e garantisce che l'applicazione funzioni nella produzione secondo i requisiti.
Lettura consigliata => I migliori tutorial di formazione DevOps in assoluto
Quindi, 'Release Management' come tutti sappiamo è quello di gestire quale versione del software viene distribuita in quale ambiente, quando e come non è solo responsabilità del Release Manager, ma responsabilità dell'intero team in DevOps.
I principali vantaggi del Release Management in DevOps possono essere riassunti come,
-
- Consegne più veloci e coerenti.
- Forte controllo e tracciabilità dei cambiamenti.
- Automazione del processo di rilascio: maggiore qualità, coerenza, fiducia.
- Aumenta la fiducia attraverso consegne di successo e coerenti.
- Rilascio - attività non stressata
- Nessun tempo morto
VIDEO Part4 Block 2: Release Management- 17 minuti 12 secondi
Trascrizione:
In questo blocco capiremo il file Procedura di Release Management di DevOps .
Cos'è il Release Management nel contesto DevOps e quali sono i suoi principali vantaggi?
Quando penso alla gestione del rilascio, le varie domande che sorgono nella mia mente sono: quale versione è in esecuzione in quale ambiente e quali patch sono state applicate lì? Quali sono gli hotfix che sono stati distribuiti e per quale cliente si tratta?
Lo so, è il mal di testa del responsabile del rilascio tenere traccia di tutte queste informazioni. Sappiamo che, in precedenza, la gestione dei rilasci non era responsabilità né dello sviluppo né delle operazioni. Era un team di gestione del rilascio separato che gestiva le attività di rilascio del software.
E un consiglio separato chiamato CCB e CAB, comitato di controllo del cambiamento, comitato di approvazione del cambiamento, utilizzato per gestire la responsabilità di gestire i cambiamenti e controllare cosa viene applicato e cosa no.
Ma ora le cose sono cambiate con DevOps. E non è più solo responsabilità del responsabile del rilascio, ma dell'intero team.
Come abbiamo definito DevOps in precedenza, DevOps è un intero team che possiede il software dall'inizio fino a quando non viene consegnato alla produzione e garantisce che l'applicazione funzioni nella produzione secondo i requisiti.
Pertanto, in DevOps, a meno che il codice non venga distribuito sul sito e le sue prestazioni vengano monitorate correttamente per un periodo specifico, l'attività di sviluppo del software non è completa.
Pertanto, la responsabilità della consegna del software e delle sue prestazioni in tempo reale ricade su tutti i membri del team. Così come le attività di gestione del rilascio.
Impareremo di più sugli aspetti di gestione del rilascio in DevOps.
Facci capire cos'è la gestione del rilascio?
Come tutti sappiamo, da una prospettiva più ampia, la gestione dei rilasci è gestire e mantenere le informazioni come, quale versione del software o dei componenti vengono distribuiti in quali ambienti, quando e come sono stati distribuiti.
miglior software spia per telefoni cellulari per Android
Quindi, questo è tutto sulla gestione del rilascio.
Vediamo come funziona il processo di gestione del rilascio.
A differenza di prima, in DevOps non sono presenti CCB formali. Ma ciò non significa che non ci siano approvazioni per le modifiche.
Le approvazioni avvengono anche tramite uno strumento. Gli strumenti di gestione delle modifiche come Jeera e ClearQuest vengono utilizzati per eseguire la registrazione e l'approvazione delle modifiche e instradarle nel team di sviluppo per creare un backlog come un debito tecnico o un nuovo requisito.
Queste modifiche raccolte dal team del programma vengono create, testate e vengono distribuite automaticamente alla produzione insieme alla pipeline di distribuzione automatizzata. Ma ogni modifica viene registrata, nel controllo della versione e queste modifiche vengono verificate e testate durante la pipeline di consegna.
Quindi, qualunque modifica venga apportata dal team, viene registrata nello strumento di controllo della versione e ciò che è stato distribuito con successo negli ambienti e le loro configurazioni sono disponibili nello strumento di configurazione.
Quindi, sia il controllo della versione che la gestione della configurazione insieme ci danno un quadro chiaro di ciò che viene rilasciato, quando viene rilasciato, dove viene rilasciato e come viene rilasciato.
Quindi, nel contesto di DevOps, è fondamentalmente il controllo della versione e la gestione della configurazione che funge da strumento di gestione del rilascio. Quindi, questi due processi e strumenti agiscono come un CCB, che chiamiamo nel nostro metodo di sviluppo tradizionale.
Fondamentalmente, automatizza il lavoro di un manager CCB, che idealmente verifica ciascuna di queste modifiche o rilasci e certifica di lasciarlo andare in produzione.
In caso di DevOps, non è il rilascio che viene certificato ma l'intera pipeline di consegna che viene certificata in modo automatizzato insieme ai gate manuali.
In quanto tale, la gestione del rilascio non è un'attività separata come parte di DevOps, ma è già integrata come parte della pipeline DevOps o della pipeline di distribuzione insieme al controllo della versione, alla gestione della configurazione e alla pipeline di distribuzione.
Quindi, il controllo della versione, se abbinato alla gestione della configurazione, rende la gestione del rilascio.
E mentre stiamo entrando nella pratica DevOps in cui miriamo a effettuare consegne in un periodo di poche ore, praticamente è impossibile gestire manualmente distribuzioni così frequenti e la sua registrazione e manutenzione tramite i tradizionali processi di gestione dei rilasci in cui vengono gestiti manualmente con automazione in misura minima.
Quindi, l'automazione totale del processo di gestione del rilascio è un must.
Inoltre, nella pipeline DevOps, non abbiamo bisogno di controllare le distribuzioni, se le modifiche vengono approvate, create, testate e rientrano nel controllo della versione, vengono automaticamente applicate alla produzione. Ovviamente, gli interruttori delle funzionalità sono disponibili per attivarli o disattivarli per controllarli durante la produzione.
La verifica e la tracciabilità di ogni modifica sono uno dei maggiori vantaggi che abbiamo dal punto di vista della gestione del rilascio. Pertanto, quando creiamo la pipeline DevOps o la pipeline di distribuzione, incorporiamo questa registrazione e auditing all'interno della pipeline, in modo che gli eventi in tempo reale nell'ambiente vengano registrati e controllati.
Quindi, otterremo gli eventi effettivi che vengono fuori a causa dell'azione di distribuzione dell'applicazione nell'ambiente. Essendo una versione sempre più breve, è abbastanza facile tenere traccia di queste modifiche durante la pipeline.
Siamo arrivati alla parte Strumenti della gestione del rilascio.
Gli strumenti di Release Management disponibili sul mercato assicurano che l'implementazione automatica delle modifiche sia tempestiva e priva di errori e mirano a fornire il massimo valore agli utenti.
Fondamentalmente, sono gli strumenti di distribuzione, che vengono utilizzati nella pipeline di consegna durante la distribuzione automatizzata.
XL Release è uno di questi strumenti di gestione del rilascio specifico per la distribuzione continua. Come ho detto prima, questi strumenti aiutano i team DevOps a progettare il loro modello di distribuzione e aiutano a monitorare i rilasci automatizzando tutte le attività relative alla distribuzione e gestendo i rilasci.
Plutora è un altro strumento così robusto che fornisce un set di strumenti software on demand per la gestione dei rilasci IT aziendali che aiuta a fornire i rilasci.
Il prodotto Release Lifecycle Management di BMC Software è anche uno strumento di gestione del rilascio di BMC Software che fornisce visibilità end-to-end dello stato di avanzamento del rilascio del software. Sembra che, attraverso un portale web centrale, gli utenti possano monitorare lo sviluppo dell'applicazione, il controllo qualità e la produzione per monitorare le implicazioni di ogni modifica apportata.
C'è un altro strumento di XebiaLabs. Questo strumento consente di pianificare, automatizzare e analizzare la pipeline per le versioni software.
Elenchiamo i vantaggi del sistema automatizzato di gestione dei rilasci di DevOps.
Prima di tutto, l'intero processo di gestione del rilascio, che viene automatizzato, aiuta il team ad avere consegne più rapide e coerenti ai clienti.
Abbiamo imparato che, ogni volta che una versione o una modifica viene inserita in una pipeline di distribuzione continua nell'ambiente DevOps, ogni informazione di ciò che è effettivamente accaduto nell'ambiente sarebbe stata chiaramente scritta nei log.
Quindi, avremo cose reali o avvenimenti in tempo reale che vengono scritti nel registro, come di ciò che è accaduto durante l'effettiva distribuzione della versione in un particolare ambiente.
Quindi, con questo, abbiamo un controllo e una tracciabilità molto molto forti delle modifiche mantenute in DevOps.
In qualsiasi momento, chiunque apporti modifiche in qualsiasi parte della pipeline di consegna, verrà tracciato.
Avremo il controllo della versione, cosa è stato cambiato, cosa è stato distribuito e le sue rispettive configurazioni. Quindi, questo, fornisce una chiara visibilità sui dettagli su, cosa è stato consegnato, dove è stato consegnato, quando e come, in caso di ogni rilascio.
L'automazione della pipeline di rilascio è un'altra grande caratteristica del DevOps, che impedisce il più possibile l'intervento manuale ed è anche molto facile risalire in caso di errori di rilascio, confrontando il rilascio fallito con il rilascio riuscito.
Quindi, l'automazione della pipeline di rilascio ci fornisce la migliore qualità di consegna in pochi minuti. Si commettono errori umani, coerenza e ovviamente maggiore fiducia nelle consegne.
Ciò consente inoltre al team di percepire l'implementazione o il 'rilascio in produzione' come una pianificazione di routine o giornaliera, facendogli comprendere a fondo la pipeline di rilascio e le sue distribuzioni.
Non c'è dubbio che questo comfort e risparmio di tempo consente alle persone di concentrarsi maggiormente sulle altre cose importanti rispetto alle cose di routine.
Sappiamo prima, i rilasci avvenivano dopo le ore o le prime ore e generalmente nei fine settimana. E il team doveva supportare queste versioni in quei tempi.
Pensa a tutti i momenti stressanti prima del rilascio che sarebbe avvenuto, essere svegli nelle ore notturne o la mattina presto per eseguire il dispiegamento, finire per commettere errori umani, dimenticare di apportare un cambiamento, e poi pregare Dio affinché il rilascio abbia successo e così via.
Quindi ora, l'attuale metodo DevOps di distribuzione e gestione dei rilasci ha messo un sipario su tutti i nostri precedenti problemi di momenti stressanti.
come aprire il file .xml
Niente più implementazioni nel fine settimana, niente più notti insonni e niente più stress da implementazione. Tutto è automatizzato. Quindi, il rilascio di nuove funzionalità o l'aggiornamento delle modifiche non è più un'attività stressante.
Il metodo di distribuzione DevOps non prevede tempi di inattività o interruzioni di alcun genere per gli utenti rispetto al caso precedente di invio di fastidiosi messaggi di inattività a tutti i clienti chiedendo loro di smettere di utilizzare il servizio o di dare loro improvvise sorprese con i problemi imprevisti che si sono verificati durante l'aggiornamento e prolungando ulteriormente i tempi di inattività.
Ridicolo !! Perché dovrebbero preoccuparsi degli aggiornamenti software che stiamo eseguendo o perché dovrebbero avere problemi con questi aggiornamenti?
Non disturbare gli utenti con qualsiasi aggiornamento che il team software sta apportando al server. Quindi il modo DevOps di rilasciare i rilasci ha posto fine a tutti questi problemi.
Niente più distribuzioni notturne, niente più patch da consegnare ai clienti e niente più interruzioni del servizio.
Con questo, stiamo completando l'argomento 'Gestione del rilascio in DevOps'.
Nel nostro prossimo tutorial , impareremo di più su Processo di monitoraggio delle prestazioni delle applicazioni in DevOps.
Tutorial PREV | PROSSIMO Tutorial
Lettura consigliata
- Gestione della configurazione nelle pratiche DevOps
- Comunicato stampa: Il componente aggiuntivo per la gestione dei test, Zephyr per JIRA, è ora disponibile nel cloud
- Distribuzione continua in DevOps
- Cosa dovrebbe sapere il QA Tester sul processo di gestione del rilascio e della distribuzione
- Importanza di piccoli incrementi di consegne in DevOps
- Consegna continua in DevOps
- Test continuo in DevOps
- Automazione DevOps: come viene applicata l'automazione nella pratica DevOps