DevOps ha un futuro negli ambienti multi-cloud

Con il termine DevOps si intendono le procedure volte ad automatizzare i processi tra i gruppi che si occupano di sviluppo software e IT per creare, testare e rilasciare in modo più rapido ed efficiente il software, sia esso un prodotto o un servizio.

DevOps punta alla comunicazione, collaborazione e integrazione tra i team IT e business che operano in compartimenti separati. Così promette maggiore fiducia, rilasci di software più veloci e capacità di risolvere rapidamente i problemi critici.

Per implementare una struttura DevOps efficiente i responsabili IT devono pensare pa come promuovere un cambio culturale e organizzativo nel loro team e nella più ampia organizzazione rispetto alla semplice diffusione di nuove tecnologie.

Una strategia DevOps di successo richiede una focalizzazione congiunta da parte di entrambi i team di sviluppo software e operativo su ciò di cui l’azienda ha bisogno per soddisfare i propri obiettivi di trasformazione digitale.

Creare i team DevOps

Secondo Jonathan Lamiel, Product Manager Platform di Talend, è necessario scomporre gruppi compartimentati di persone e responsabilità e, al loro posto, creare team che siano in grado di svolgere più attività rispetto a problematiche tecniche e obiettivi. In ultima analisi, i gruppi DevOps di successo hanno bisogno di persone con un’intelligenza collettiva concentrate a trovare un equilibrio tra un’innovazione rapida e costante e le esigenze in ambito sicurezza e operatività.

Jonathan Lamiel di Talend

Evoluzione verso il multi-cloud

Anche DevOps stesso si sta evolvendo, e il suo futuro dipende dalla padronanza degli ecosistemi multi-cloud. Il cloud, infatti, sta assistendo a due trend: la crescente diversità di servizi cloud che porta a infrastrutture ibride e multi-cloud, la progressiva affermazione di DataOps che richiedono di più agli sviluppatori che gestiscono l’infrastruttura dati.

Un cloud ibrido combina distribuzioni cloud pubbliche e private, solitamente per eseguire un task specifico o incentrato su una particolare applicazione, mentre con multi-cloud si intende l’utilizzo di due o più piattaforme di gestione cloud in un unico ambiente IT eterogeneo.

Si sceglie la strada multi-cloud per diversi motivi: ridurre al minimo la proliferazione incontrollata dei dati e la loro perdita, diminuire i tempi di inattività attraverso la ridondanza, evitare di legarsi a un singolo fornitore, e offrire versatilità per soddisfare le mutevoli esigenze di progetto di diversi team in azienda.

Il ruolo del DataOps

Da un lato, la quantità di dati creati e raccolti è più grande che mai, dall’altro sempre più utenti hanno il compito di sfruttare tali dati (dal finance al marketing, dalle vendite alle risorse umane). Per questo motivo, l’IT è sempre più sotto pressione, non solo per la gestione di un’infrastruttura sempre più complessa: infatti deve permettere a un maggior numero di utenti di poter utilizzare meglio i dati a disposizione.

Ed è qui che, spiega Appert, entra in scena il DataOps: per organizzare e fornire i dati da diverse fonti a molti utenti in modo affidabile con la provenienza richiesta per supportare flussi di dati duplicabili.

Di conseguenza le aziende devono formulare strategie DevOps uniche per questi nuovi processi di distribuzione delle applicazioni e di collaboration. Gli strumenti DevOps utilizzati da un’azienda devono avere la possibilità di distribuire in modo affidabile il codice su cloud pubblici, privati e ibridi e a service provider riconosciuti a livello globale come Google, HPE, Amazon Web Services, ecc.

La corsa al cloud ha messo sotto pressione i team DevOps, ma il multi-cloud sta alzando l'asticella: i team DevOps dovranno diventare ancora più agili e scalabili. Concetti e metodi come l’integrazione e il rilascio costante verranno implementati più in generale e l’automazione giocherà un ruolo ancor più importante.

Sviluppare app nativamente per il cloud

Tuttavia, osserva Appert, per padroneggiare il DevOps in un ambiente multi-cloud non è sufficiente fare di più e più rapidamente. Per qualcuno, lanciare nuovi tempi di esecuzione nel cloud potrebbe essere un problema. Sarebbe più saggio creare applicazioni cloud native.

Le app tradizionali sono monolitiche, operano come macchine virtuali, utilizzano un’architettura scale-up e generalmente sono più difficili da sviluppare, distribuire e mantenere.

Per contro, le app cloud native sono più modulari e orientate ai servizi, includono una serie di contenitori e servizi, basati su un’architettura scalabile, e semplici da automatizzare, spostare e scalare. In effetti, chi non ha già spostato il DevOps nel cloud, è un po’ in ritardo; presto, essere nel cloud in modalità nativa sarà fondamentale.

Spostare il DevOps da un cloud o un cloud ibrido singolo a un mondo multi-cloud richiede anche l’utilizzo di nuove piattaforme e nuovi strumenti. Ma uno dei principali ostacoli che le aziende si trovano oggi ad affrontare è il processo di sviluppo: la codifica, la fase di test e l’analisi della qualità sono processi lunghi che aggiungono tempo e sforzi a una procedura che dovrebbe, ormai, essere ottimizzata.

Per rimanere competitive, le aziende dovranno liberarsi di numerosi ostacoli nel processo DevOps tra cui infrastrutture obsolete, l’uso frammentato di strumenti variabili e applicazioni complesse, in modo da poter sviluppare e scalare in modo più rapido, quasi senza sforzi.

Quali nuovi strumenti

Decisori IT e progettisti adottano sempre più strategie multi-cloud per cercare di incrementare l’utilizzo di infrastrutture IT esistenti, sviluppare nuove funzionalità in scala, ridurre i costi, ottimizzare le risorse ed evitare di legarsi a un unico vendor.

Per far ciò è necessaria una strategia di gestione del traffico a livello globale che possa monitorare lo stato dell’infrastruttura all’interno dei data center, nonché le esperienze degli utenti finali in generale, rispondendo alle modifiche di controllo e specifiche di sistema con la velocità che caratterizza i gruppi DevOps.

Il passaggio a un mondo multi-cloud è in pieno svolgimento, perciò è necessario individuare nuove modalità più rapide ed efficaci per creare e collegare le applicazioni cloud native. Il DevOps fornisce nuove opportunità per implementare e scalare rapidamente nuovi servizi e ridurre il divario tra l’ideazione e la disponibilità di tali servizi, grazie al cloud.

Certamente, la creazione costante e la continua integrazione sono esempi primari di questo. Ma DevOps include molto più dello sviluppo software. La vera definizione è molto più ampia e comprende gli strumenti utilizzati dalle persone, la tecnologia, i processi di acquisizione dei servizi e le persone che gestiscono i sistemi.

DevOps collega i clienti con i progettisti e il personale di servizio prima e durante il processo di sviluppo, contribuendo ad evitare prodotti finali che possono essere tecnicamente perfetti ma non soddisfano le esigenze dell’obiettivo d’uso.

Molto più incrementale rispetto agli approcci tradizionali di sviluppo a cascata, il DevOps consente ai team di individuare i difetti e correggerli più velocemente. Il processo coinvolge tutti i principali stakeholder, i gruppi operativi e di servizio, i team preposti alla sicurezza e il cliente finale.

Anche così permangono colli di bottiglia e punti critici che rallentano lo sviluppo. Distribuzione costante, automazione touchless per le release software, funzionalità di testing e analisi della qualità automatizzate forniranno a breve la risposta a queste problematiche.

Alla fine DevOps in multi-cloud sfrutterà la creatività e l’immaginazione degli sviluppatori per innovare in un flusso ottimizzato e continuo. I nuovi strumenti e le nuove piattaforme gestiranno i dettagli ordinari in fase di distribuzione.

 

Se questo articolo ti è piaciuto e vuoi rimanere sempre informato sulle novità tecnologiche iscriviti alla newsletter gratuita.
CONDIVIDI

LASCIA UN COMMENTO

Please enter your comment!
Please enter your name here