<img height="1" width="1" style="display:none" src="https://www.facebook.com/tr?id=1214412942025937&amp;ev=PageView&amp;noscript=1">

Red Blog

DevOps: 3 aspetti da considerare per snellire i tuoi processi

Davide Costanza,

DevOps: 3 aspetti da considerare per snellire i tuoi processi

Il termine DevOps deriva dall'incontro fra gli sviluppatori di software (development) e i sistemisti (operations) e indica un approccio che integra nella cultura aziendale nuovi elementi di collaborazione, automazione e platform design. Questa metodologia punta a ottimizzare e accelerare le fasi di sviluppo, deploy, release e mantenimento di nuovi software, tendenzialmente progettati per funzionare su un'infrastruttura cloud. Grazie ai DevOps le applicazioni e i prodotti software vengono così sviluppati più rapidamente e in modo più flessibile, gestendo in parallelo anche il mantenimento dei sistemi su cui vengono installati i programmi.

Andiamo dunque ad approfondire tre temi di importanza centrale per la metodologia DevOps: la cultura aziendale, l'automazione e le piattaforme.

 

Scopri come innovare il rilascio delle applicazioni grazie ai container!

 

L'integrazione fra i flussi di lavoro di sistemisti e sviluppatori e l'introduzione di tecnologie di automazione generano una miglior erogazione dei servizi IT e un valore aggiunto che non riguarda solo le attività di business e la capacità di competere sul mercato. Dalla logistica, alle comunicazioni alla produzione, la capacità di creare e distribuire i software è infatti un aspetto fondamentale per qualsiasi organizzazione che voglia innovare processi interni tradizionalmente lenti, manuali e spesso soggetti ad errori. I software, inoltre, sono ormai una componente di base nella relazione con i clienti e nelle modalità con cui gli utenti interagiscono con le aziende durante il loro percorso d'acquisto attraverso app e servizi online. Un approccio come quello DevOps, fondato su un nuovo paradigma di collaborazione fra specialisti, consente quindi di migliorare anche l'efficienza operativa di un'azienda, oltre agli aspetti di accessibilità, qualità e sicurezza.

1. La cultura aziendale: collaborazione e open source

DevOps | 1. La cultura aziendale: collaborazione e open source

L'approccio open source è alla base della cultura DevOps, sia come fonte di strumenti innovativi che come modello collaborativo per lo sviluppo e per l'aggiornamento ciclico dei sistemi. La parola chiave è proprio collaborazione e non va intesa come una prerogativa da limitare a sistemisti e sviluppatori. Gli stessi DevOps, infatti, in un certo senso operano sia a monte che a valle dell'ecosistema aziendale, iniziando le prime fasi di sviluppo all'interno delle comunità open source e aiutando i dipartimenti IT dei clienti a trarre il massimo vantaggio da questo tipo di innovazioni.

Il metodo DevOps è dunque più efficace quando i suoi principi vengono estesi a tutte le componenti di un'organizzazione, promuovendo la sperimentazione, le dinamiche di fast-failure, la trasparenza nei processi di decision-making e i sistemi che premiano fiducia e cooperazione. Anche i fitti flussi di comunicazione che caratterizzano molti progetti open source sono fondamentali sia per le specifiche attività dei DevOps che per le organizzazioni nel loro complesso.

2. L'automazione: per accelerare il rilascio delle applicazioni 

DevOps | 2. L'automazione: per accelerare il rilascio delle applicazioni

Per approfondire la toolchain associata al metodo DevOps, un buon punto di partenza è l'automazione della CI/CD pipeline (continuous integration/continuous delivery). L'obiettivo finale è quello di rendere l'automazione costante e pervasiva sia per le infrastrutture IT tradizionali che per quelle cloud utilizzando un linguaggio comune. Per esempio Ansible, il software che consente di automatizzare le procedure di gestione dei sistemi, per la sua configurazione usa un formato dati che è sì strutturato, quindi interpretabile facilmente da una macchina, ma è anche espressivo e leggibile da un umano.

Anche un uso molto mirato dell'automazione è un modo efficace per sfruttare l'approccio DevOps e dare valore aggiunto alle aziende. L'automation si fa carico dei lavori maggiormente ripetitivi e li codifica assicurando che vengano eseguiti correttamente, in sicurezza e su diversi tipi di infrastrutture. I software self-service sono strettamente correlati all'automazione e rendono sistemisti e sviluppatori più produttivi ed autonomi. A seconda dei tool impiegati, si possono mettere in piedi delle soluzioni self- service sia in presenza di infrastrutture tradizionali sia in ambiente cloud.

Un tipico flusso di lavoro automatizzato inizia con il reparto operation che prepara un ambiente di sviluppo containerizzato, sia esso un PaaS o un ambiente completamente custom. Fornendo ai developer un ambiente self-service, gli Ops si sgravano dalla maggior parte dei compiti di supporto allo sviluppo e possono quindi concentrarsi sull'implementazione e la gestione di un'infrastruttura stabile e scalabile. Un compito dell'automazione è quello di creare un processo di deployment consistente e ripetibile.

Nel flusso di lavoro DevOps sono coinvolti diversi tipi di strumenti, da repository di codice come Git a strumenti che permettono di creare container partendo dal codice sorgente, a software di CI/CD come Jenkins.

Un sistema DevOps avanzato può deployare il codice direttamente in produzione una volta superati i test automatizzati oppure si può prevedere uno step di revisione e approvazione manuale tra le fasi CI e CD della pipeline.

3. Le piattaforme: dinamiche e programmabili

DevOps | 3. Le piattaforme: dinamiche e programmabili

Sebbene la metodologia DevOps non richieda un'infrastruttura o degli strumenti specifici, il supporto di una moderna piattaforma offre notevoli vantaggi alla qualità e rapidità dei servizi forniti. Un punto chiave per l'adozione delle nuove tecnologie riguarda il passaggio dalle tradizionali piattaforme statiche a quelle dinamiche e software-defined. Stiamo parlando di piattaforme programmabili, ossia controllabili attraverso API. Il progetto OpenStack è un esempio di come lo storage, il networking, l'identity management e altre tecnologie possono integrarsi in un'infrastruttura programmabile. I container sono un altro elemento importante delle nuove piattaforme di applicazioni: sono infatti in grado di innovare i processi e gli ambienti IT, e offrono delle fondamenta flessibili per implementare l'approccio DevOps. A livello organizzativo, i container consentono una ownership appropriata dello stack e dei processi tecnologici, riducendo gli hand-off e il dispendioso coordinamento delle modifiche che li accompagna. In questo modo i team applicativi possono avere un quadro completo dei container, lasciando ai sistemisti la piena proprietà della piattaforma di produzione. 

Con un'infrastruttura di container standardizzata, i team di IT Operation possono concentrarsi sulla creazione e gestione di cluster di container, rispettando gli standard di sicurezza, le esigenze di automazione, i requisiti di elevata disponibilità e i costi. La piattaforma Red Hat Atomic Enterprise, ad esempio, include tutti gli strumenti utili a definire ed eseguire le applicazioni containerizzate. Tipologie specifiche di applicazioni richiederanno componenti aggiuntive, molte delle quali possono assumere la forma di container. Librerie, servizi, framework e strumenti middleware sono ampiamente utilizzati dagli sviluppatori per creare applicazioni, integrarle ai dati e automatizzare i processi aziendali.

Se vuoi conoscere come innovare le operazioni di sviluppo e rilascio delle applicazioni grazie ai container, e scoprire come si inserisca il metodo DevOps in questo processo, scarica l'eBook gratuito "Modernizzare il rilascio delle applicazioni con i container" e comincia ad alleggerire i tuoi team Dev e Ops!

Extra Red | Modernizzare il rilascio delle applicazioni con i container

Condividi l'articolo!

   

Commenti

Prova Red Cloud Gratis per 30 Giorni

Iscriviti alla newsletter

Condividi questo blog

   

Post correlati