Il DevOps promuove la collaborazione tra gi sviluppatori e gli altri professionisti del settore IT (come, ad esempio, esperti di server, storage, sicurezza e di rete) con l’obiettivo di sviluppare, testare e rilasciare rapidamente un nuovo software. L’obiettivo è quello di creare una cultura in cui la consegna del software possa avvenire in maniera veloce, frequente e affidabile, utilizzando l’automazione ove possibile e testando il codice per la distribuzione su più server.
I microservice e la componentizzazione delle applicazioni
Il DevOps sfrutta la componentizzazione delle applicazioni in applet più piccoli, detti anche microservice, che possono essere distribuiti lungo una vasta gamma di risorse del data center come nei cloud pubblici o in quelli privati. I container software, come Docker, stanno diventando un modo popolare per introdurre rapidamente nuovi microservice per i test. I microservice e le applicazioni DevOps richiedono un rapido provisioning delle risorse di elaborazione, di storage e di rete che consentono loro di funzionare velocemente, in maniera affidabile, sicura e scalabile (se necessario).
Il ruolo della rete
La rete ha un duplice ruolo: fornire rapidamente le risorse adeguate per le applicazioni DevOps e presidiare la protezione e la gestione di queste applicazioni in rapida migrazione. L’agilità e i cambiamenti serrati dei requisiti dei microservice, secondo gli esperti rappresentano una sfida per le reti tradizionali. La disaggregazione delle applicazioni, infatti, determina la presenza di troppe parti in movimento per un networking manuale: per questi motivi l’automazione è considerata un fondamentale. La capacità di effettuare pre-test sulle risorse di rete con la metodologia DevOps è importante per evitare possibili rallentamenti dei tempi di distribuzione delle applicazioni (ad esempio, nel caso in cui di debba tornare indietro a risolvere i problemi di rete).
Dove SDN, DevOps e automazione si incontrano
Il Software Defined Networking ottimizza la rete per DevOps e automazione, offrendo alle organizzazioni IT che implementano applicazioni complesse la capacità di controllare il provisioning rapido delle risorse di rete e dei servizi (comprese le politiche di sicurezza). Il SDN abilita quindi la gestione centralizzata della rete e riduce i costi operativi, spostando le sfide della configurazione (manuale) dalle persone alla tecnologia. Le reti SDN-based possono rilevare automaticamente le modifiche nel flusso di traffico e selezionare il percorso che i dati compiono attraverso una rete in base a parametri come tipo di applicazione, qualità del servizio e norme di sicurezza. Il Software Defined Networking può quindi sostenere l’implementazione rapida di un gran numero di nuovi applicazioni e microservice.
I vantaggi del Software Defined Networking
Le principali organizzazioni IT si stanno rapidamente convertendo al DevOps per accelerare lo sviluppo di applicazioni e ridurre i costi. Molti provider, tra cui Google, Apple, Facebook e Microsoft, hanno già implementato tecnologie SDN per automatizzare il provisioning e la gestione delle loro reti. Gli esperti ritengono che i responsabili IT oggi dovrebbero prendere in seria considerazione la distribuzione SDN per soddisfare le esigenze in continua evoluzione delle loro squadre DevOps e delle relative applicazioni.
Come già detto, lo sviluppo di applicazioni in stile DevOps richiede un rapido provisioning, risorse scalabili e operazioni automatizzate per far sì che si possano fornire i servizi IT in maniera flessibile: la sfida, in questo scenario, è rappresentata dal fatto che i metodi tradizionali di provisioning di rete (ad esempio, configurare manualmente ogni dispositivo) non sono scalabili e non possono quindi soddisfare la complessità delle applicazioni distribuite (come nel caso di Hadoop, Big Data e Internet of Things). Il Software Defined Networking invece, come sottolineano gli esperti, offre la possibilità di automatizzare i processi per fornire rapidamente risorse di rete e di sicurezza alle applicazioni DevOps.