Per avere un ruolo da protagonisti nell’era della digital economy e riuscire ad assecondare le richieste interne dell’aziende, come dei clienti, l’IT deve fornire applicazioni e soluzioni software nel modo più veloce possibile, ma senza sconti sulla sicurezza e sulla qualità del codice. In questo senso i processi di sviluppo Agile e DevOps sono diventati fondamentali, offrono la flessibilità necessaria nella gestione del ciclo di vita dell’applicazione e, con le giuste soluzioni, permettono di accelerare il rilascio delle versioni.
“Spesso pero, i team operano a velocità diverse, sono distribuiti, lavorano su app legacy e su nuove app cloud-native contemporaneamente – spiega Mark Levy Director of Product Marketing di Micro Focus -. Le grandi aziende hanno centinaia di app distribuite nei diversi ambienti”. Ecco, essere in grado di gestire più pipeline di deployment negli scenari complessi ed eterogenei diventa una vera sfida – ne abbiamo parlato in modo specifico in un contributo recente – da affrontare con le giuste soluzioni. Micro Focus non considera DevOps come “un componente aggiuntivo” per la gestione del ciclo di vita delle applicazioni, ma anche come cultura dei processi dal concepimento dell’applicazione al rilascio finale (e ancora oltre).
Un driver importante per la buona riuscita dei progetti DevOps è la riduzione degli “sprechi” nel ciclo di vita dello sviluppo del software. Utilizzando strumenti di gestione delle versioni che controllano e automatizzano il rilascio delle versioni del software, le organizzazioni possono fare meglio in meno tempo: ottimizzare l’intero ciclo di vita dell’applicazione, migliorare la velocità di progettazione, lo sviluppo e la consegna, nonché contribuire a migliorare la qualità e ridurre così i rischi.
Gli strumenti che Micro Focus mette a disposizione per questi scopi, come spiega CCS Insight sono progettati per integrarsi e per essere flessibili, consentendo alle organizzazioni di “modificare su misura” i propri processi, e poi – attraverso l’analisi e la visibilità sull’intero ciclo di vita – migliorarli. Micro Focus fornisce i software necessari che possono aiutare i clienti a migliorare il loro ciclo di vita delle applicazioni end-to-end.
In particolare, per quanto riguarda rilascio e deployment veloci delle applicazioni, Micro Focus propone Release Control e Deployment Automation.
Release Control adotta un approccio DevOps orientato alla gestione del flusso di lavoro che garantisce che ogni cambiamento sia ripetibile, verificabile e soddisfi il giusto livello di governance. L’approccio guidato dai processi assicura che quando i requisiti di governance cambiano, anche il flusso di lavoro si rimodelli di conseguenza.
Così è possibile eseguire più flussi di lavoro in parallelo, ciascuno con il proprio ritmo per il rispetto delle date di consegna a più velocità. E con la possibilità di ripristinare qualsiasi modifica in caso di guasto.
Con Deployment Automation è possibile invece incrementare la velocità di rilascio del software sfruttando i benefici dell’automazione per il deployment applicativo. On-premise come su qualsiasi cloud mitigando i rischi e migliorando la qualità.
Release Control
Release Control si propone come un unico sistema per la ‘registrazione’, la pianificazione, la programmazione e l’approvazione di tutti i tipi di rilasci. Tra i punti di forza il supporto multi piattaforma che qualifica la proposta come soluzione di orchestrazione dei rilasci in un processo consolidato e ripetibile per tutte le tipologie di software – dalle applicazioni mainframe e distribuite fino alle app cloud e mobili. Gli strumenti di orchestrazione che offre permettono di automatizzare i flussi di lavoro per eliminare i passaggi manuali ove possibile nel rispetto di policy e processi di rilascio.
Le aziende mantengono la possibilità di personalizzare i processi e si garantiscono la loro attuazione così come l’instradamento e l’approvazione attraverso audit train integrati e il reporting necessario. Non è un aspetto secondario: è sempre possibile disporre a vista delle programmazioni sui release train, sui rilasci e sugli ambienti con dashboard, personalizzabili e basate su ruoli, in grado di fornire lo stato di avanzamento dei progetti in tempo reale e la pianificazione. E si mantiene inoltre lo sguardo di insieme sull’intero ciclo di vita delle applicazioni, sulla gestione e sui rilasci.
Release Control con il supporto per la pianificazione e la programmazione degli ambienti garantisce che siano disponibili gli ambienti al momento giusto per i team deputati ad utilizzarli. E’ possibile, per esempio, gestire ambienti comuni, correlati, organizzare gruppi di ambienti ad hoc per poi sviluppare pipeline di distribuzione. Non solo, le liste di attività di distribuzione ripetibili possono essere programmate nei diversi ambienti con un sensibile risparmio di tempo e risorse.
L’automazione dei processi permetterà di eliminare le attività manuali con la possibilità di creare, gestire, programmare e assegnare le unità di distribuzione e sviluppare runbook automatizzati che possono essere impiegati nei diversi ambienti, al servizio dei team, per rilasci più fluidi e puntuali. Release Control aiuta a tenere alto il rispetto dei requisiti di sicurezza aziendali, ma non a scapito della programmazione. E’ un aspetto importante considerato come i processi di rilascio e distribuzione delle applicazioni oggi coinvolga sempre di più gli stakeholder aziendali.
Per comprendere i benefici di una soluzione di questo tipo, per esempio, basta considerare i vantaggi dati dalla possibilità di abbandonare l’utilizzo di fogli di calcolo parziali e frammentati con la programmazione e il continuo invio di email, grazie all’accesso ad una semplice consolle Web. Non mancano interessanti casi d’uso, per esempio in ambito finance.
Le banche e gli istituti finanziari possono eliminare i rischi degli audit, offrire insight agli azionisti, automatizzare le modifiche direttamente in produzione mantenendo allineati i team, senza perdere la visibilità e la tracciabilità delle modifiche. Ma i vantaggi sono trasversali a tutte le industries che possono ridurre costi e rischi legati al rilascio delle nuove release, preservando l’integrità del software, ed assicurando ai clienti finali una migliore esperienza finale.
Deployment Automation
L’automazione dei processi di deployment è parte integrante della riuscita dei progetti di sviluppo. Con Deployment Automation è possibile gestire le pipeline di distribuzione a partire dal controllo della versione fino al rilascio finale. La soluzione, con la semplicità del drag-and-drop permette infatti di orchestrare distribuzioni complesse in tutti gli ambienti. E con l’utilizzo di snapshot puntuali di gestire lo stato e l’ambiente in cui le app operano.
Gli snapshot rappresentano uno stato specifico di un’applicazione in un ambiente, offrono la vista su tutte le versioni attuali dei componenti e permettono di semplificare la gestione di ambienti complessi. Per esempio con un solo click o il fallback è possibile impostare il go attraverso la pipeline di distribuzione. L’aspetto centrale abilitante è la possibilità, con Deployment Automation, di sfruttare al massimo l’approccio CI/CD, grazie all’integrazione con gli strumenti di questo tipo e i tool che semplificano l’automazione della pipeline di distribuzione.
Al riguardo Deployment Automation dispone di un’ampia libreria di plugin (che si integrano con le pipeline di distribuzione per il Continuous Delivering), può supportare virtualmente qualsiasi sistema e può essere configurato in fase di progettazione e di runtime.
Proviamo a seguire un tipico ciclo operativo in questo ambito. Il responsabile IT può disegnare i processi di distribuzione con il drag-and-drop degli elementi, visualizzare il processo nella sua interezza ed eventualmente riutilizzarlo, tutto attraverso un modello di navigazione intuitivo e semplificato. Un aspetto interessante è questo, soprattutto per gli utenti che non hanno competenze specifiche nell’ambito.
I processi così disegnati possono essere condivisi in modo rapido tra i team addetti al rilascio applicativo con un’evidente riduzione dei tempi. La creazione e la distribuzione di un modello può avvenire sia a livello di componenti, sia a livelli di applicazioni e la gestione delle pipeline di distribuzione permette il riutilizzo delle stesse basate sui modelli generati per tutti gli ambienti. Già sulla pipeline, quindi, è possibile applicare la sequenza di distribuzione scelta, con il controllo su condizioni, distribuzioni di controllo e approvazioni per i diversi ambienti.
Con Deployment Automation, realtà come il gruppo Generali France hanno migliorato l’agilità di rilascio, riscontrando miglioramenti prestazionali in fase operativa e hanno guadagnato in termini di controllo, sicurezza e conformità dei rilasci. Vi sono aziende come Gordmans che hanno sposato Deployment Automation per la gestione delle release end-to-end migliorando l’intero ciclo di vita delle applicazioni e gli handoff di rilascio delle modifiche. O, ancora, è possibile citare l’esempio di Ilianz, che evidenzia come l’approccio one-click della soluzione consenta di migliorare i tempi di go-to-market con la possibilità di delegare la stessa attività di distribuzione ai responsabili della release.
Non perdere tutti gli approfondimenti della room Micro Focus Powering Digital Transformation
© RIPRODUZIONE RISERVATA