Il DevOps è una metodologia di sviluppo del software che sfrutta nuove logiche di condivisione e collaborazione e che enfatizza la comunicazione tra sviluppatori, tester ed addetti alle operations IT. L’obiettivo è quello di accelerare i tempi di rilascio del software di cui le aziende non possono più fare a meno.
Prendendo spunto dalla metodologia Agile, tenta di rimuovere le barriere tra comparti IT creando team di sviluppo più ridotti, multifunzionali ed autonomi utilizzando una pianificazione adattiva e trasformando lo sviluppo in un processo diretto e continuo in cui si inseriscono i vari attori aziendali ed il Cliente.
Questo si traduce in nuovi livelli di condivisione e di integrazione tra gli sviluppatori e gli addetti alle operations al fine di accelerare i tempi di progettazione, testing e di rilascio delle soluzioni applicative aziendali sia in ambienti tradizionali che in ambienti cloud. Il tutto assicurando la qualità e la sicurezza del software sviluppato.
DevOps permette di mettere in produzione software in maniera più rapida e frequente, mantenendo l’affidabilità ed innalzando il livello di security e confidence del processo.
Upgrade ha abbracciato questo cambiamento culturale di metodologia lavorativa creando al proprio interno delle figure ibride in grado di supportare il cliente in un processo end to end. In questo processo Upgrade si distingue come partner in grado di fare da trait d’union tra le infrastrutture hardware di nuova generazione (pronte per l’automazione by design), i processi di automazione ed orchestrazione ed i nuovi paradigmi di gestione come la containerizzazione. In un IT che sta diventando sempre più API-centrico, aiutiamo il Cliente nel riprogettare ogni componente del datacenter per essere parte integrante di un disegno più grande ed armonico.
Perché serve più integrazione e interfunzionalità?
Generalmente i log e le metriche dei sistemi e delle applicazioni non sono sempre facilmente reperibili da chi ha l’ownership del progetto: il monitoraggio viene eseguito da un team separato, e questo porta ad inefficienze e ulteriori burocrazie.
Crescono applicazioni e sistemi a supporto del business. Il time to market è tiranno e agli sviluppatori si chiede maggiore velocità nella messa in produzione di software e di app. Grazie al modello DevOps team di sviluppo interfunzionali programmano in maniera più rapida, rilasciando soluzioni di qualità e sicure per ambienti tradizionali e in cloud.
Come?
Automazione & Container: un binomio ad alta velocità
Altre caratteristiche fondamentali di un sistema di sviluppo DevOps sono l’integrazione continua (CI) e l’erogazione continua e/o la distribuzione continua (CD), nonché scalabilità ed efficienza nei consumi.
La logica delle immutables images (che siano container o altre tecnologie) consente un ulteriore accelerazione ed una confidenza sulle operations mai avuta prima. Tutti abbiamo esempi di immutables images nelle nostre tasche: gli smartphone e le relative app.
IaaC, ovvero Infrastructure As a Code
Il codice del software non è l’unico elemento archiviato nel repository. Sempre più spesso, infatti, vengono memorizzati anche gli script che contengono tutti i dettagli delle configurazioni e i modelli creati con gli strumenti di gestione delle configurazioni come, ad esempio, Puppet e Chef, che sono due tra i linguaggi più popolari.
Upgrade si è verticalizzata nella generazione di metodi automatici per configurare e implementare l’infrastruttura, ciò che ha dato origine al concetto di infrastructure as a code (IaC).
Questo consente di poter estendere, contrarre o, addirittura, ricostruire da zero in tempi rapidi le proprie applicazioni mission critical in un modo che ai tempi dei server fisici non era neanche immaginabile, ed in tempi più recenti di virtualizzazione server, difficilmente attuabile.
Questo nuovo paradigma oggi coinvolge anche il moderno storage che sta passando da monolitico a multinodo e diventa sempre di più software defined.
La connessione con il cloud
I DevOps hanno un ruolo chiave anche nel cloud. Le aziende dotate di un’infrastruttura cloud, infatti, hanno costantemente bisogno di gestire e riposizionare risorse e di capacità che non possono essere gestite in modo manuale con la necessaria velocità ma che vengono risolte dai DevOps e dall IaaC.
Se vuoi approfondire ulteriormente le tue conoscenze sull’argomento DevOps o se vuoi semplicemente scambiare la tua opinione e le tue esperienze con esperti del settore, non perdere l’occasione di partecipare al DevOps Heroes 2017, scopri di più: http://www.devops-heroes.net/#