Oggi si sente spesso parlare di
DevOps. Ma di cosa si tratta?
Red Hat ne dà qui una sua interpretazione:
“Non è una cosa che si può risolvere con uno strumento, né è una metodologia, né richiede il reclutamento di persone super dotate per gestire tutte le attività del ciclo di vita dell'applicazione. Né si può dire che sia solo CI/CD”.
DevOps è un modello organizzativo leggero che coinvolge processi, persone e tecnologie al fine di ottenere un sostanziale
miglioramento nella gestione del ciclo di vita delle applicazioni, dal loro
sviluppo e collaudo, alla loro
implementazione fino al
funzionamento in produzione.
Un miglioramento sostanzialeMa in cosa si traduce questo miglioramento?
- Agilità: maggiore capacità di rendere disponibili ambienti e risorse senza aumentare, o addirittura riducendo i costi.
- Standardizzazione: minore sforzo nell'integrazione, nel test, nell'implementazione e nel funzionamento, incapsulando le differenze tra le applicazioni con un modello omogeneo e semplice.
- Stabilità: riduzione dei guasti e dei malfunzionamenti grazie all'automazione dei processi di test, implementazione, recupero ed escalation.
- Comunicazione: diminuzione delle tensioni tra le aree di sviluppo, test e funzionamento in modo da condividere obiettivi, processi e tecnologia.
- Velocità: come probabile conseguenza dei punti precedenti, il tempo che intercorre tra lo sviluppo di una nuova funzionalità e il suo impiego in produzione si riduce.
L’impatto dei container nell'implementazione di DevOps
A detta di Red Hat, quando
si incapsulano le applicazioni e le loro dipendenze in container non è più necessario sapere come queste vengono installate o configurate, o se la destinazione è on-premise o nel cloud.
Sono portatili. Queste
piattaforme container facilitano l'organizzazione di DevOps, fornendo un
modello comune e continuo tra Dev e Ops, consentendo al contempo la
separazione delle responsabilità senza interrompere la continuità e fornendo vantaggi specifici in termini di:
- Agilità: Creazione automatica degli ambienti di test, che vengono eliminati al termine della prova, o la creazione istantanea degli ambienti e delle risorse necessarie per il ciclo di vita completo di un nuovo progetto.
- Normalizzazione: Quando un operatore riceve un'applicazione, non ha bisogno di una guida per installarla, in quanto viene implementata come qualsiasi altro container. Non è necessario modificare file di configurazione specifici. L'applicazione viene monitorata automaticamente, in tutti gli ambienti.
- Stabilità: Promuovendo o trasferendo lo stesso container che ha superato il processo di test (QA) si evita l'iniezione di possibili guasti in fase di installazione o configurazione, o quelli derivanti da differenze tra l'ambiente sorgente e quello di destinazione.
- Comunicazione: Esiste uno standard per qualsiasi applicazione e per tutti gli ambienti (Kubernetes), parlano la stessa lingua.
Se implementati correttamente, questi aspetti
aumentano la velocità di consegna, riducono i costi e migliorano la qualità del servizio. Inoltre, piattaforme container come
Red Hat OpenShift sono oggi facili da adottare.