La maggior parte dei dirigenti IT ha probabilmente familiarità con i concetti di DevOps e DevSecOps. C’è però un nuovo modello che sta generando un notevole scalpore che è particolarmente rilevante per i professionisti del networking: NetDevOps. Come per altre tecnologie emergenti, la definizione di NetDevOps varia a seconda di chi la fornisce. Ma a un livello di base, il termine si riferisce all’applicazione dei principi DevOps alle reti di computer. “NetDevOps è un argomento decisamente caldo in questo periodo, anche se non c’è una definizione univoca per descriverlo”, afferma Andrew Lerner, vicepresidente della ricerca per il networking presso Gartner.

Cos’è NetDevOps?

Secondo la definizione di Gartner, NetDevOps implica l’applicazione dei concetti DevOps di integrazione continua/distribuzione continua (CI/CD) alle attività di rete. Altri termini usati per descrivere questo modello includono NetOps 2.0, network as code e GitOps networking. La società di ricerca GigaOm afferma che NetDevOps “comprende l’astrazione, la codificazione e l’implementazione dell’infrastruttura di rete come codice [IaC], utilizzando flussi di lavoro programmati e automatizzati per incorporare qualità e resilienza all’interno della rete”.

Lerner afferma che per sfruttare NetDevOps un’organizzazione deve disporre di una pipeline automatizzata che includa lo staging, la convalida pre/post e il test delle attività di rete come il provisioning. GigaOm è d’accordo, aggiungendo che la pipeline NetDevOps può fornire codice da diversi ambienti di sviluppo alla produzione, innescando test di convalida e conformità completi lungo il percorso. NetDevOps comprende anche monitoraggio, misurazione e risposta continui.

Quali sono i vantaggi di NetDevOps?

Date le sue radici nel modello DevOps, NetDevOps abbraccia molti degli stessi obiettivi. “DevOps è descritto da quattro principi: un approccio olistico al pensiero sistemico (visualizzare l’intero sistema, non semplicemente un pezzo), nessun silos organizzativo, feedback rapido e automazione per ridurre il lavoro” afferma Joel King, architetto di automazione di rete indipendente. Le operazioni di rete sono in ritardo rispetto ad altre aree funzionali che supportano l’infrastruttura IT di un’organizzazione, afferma King, soprattutto quando si tratta di automazione attraverso la programmabilità della rete.

“Per distribuire una nuova applicazione o servizio a supporto dell’azienda, i componenti di elaborazione, storage e rete richiedono tutti modifiche alla configurazione o l’implementazione di nuovo hardware”, afferma King. “Spesso queste modifiche vengono eseguite manualmente da un tecnico che digita su una finestra del terminale e potrebbero dover essere riviste da un processo formale di controllo delle modifiche”. Potrebbero essere necessarie settimane o mesi per incidere sulle modifiche all’infrastruttura necessarie per supportare i requisiti dell’applicazione. “L’automazione delle modifiche all’infrastruttura è una componente fondamentale per ridurre il tempo necessario per implementare nuove applicazioni o servizi e per soddisfare i requisiti aziendali”.

zone di isolamento

NetDevOps aiuta a migliorare l’agilità ed è particolarmente prezioso per le organizzazioni che implementano l’infrastruttura come codice, perché la rete è spesso un collo di bottiglia”, afferma Lerner. “Le pratiche NetDevOps guidano flussi di lavoro e documentazione chiari, che aiutano con il controllo, la governance e la risoluzione dei problemi”. Un altro vantaggio di NetDevOps è che consente una maggiore collaborazione tra i vari reparti all’interno dell’IT, proprio come fa DevOps con lo sviluppo e le operazioni.

“NetDevOps collega i silos tra i team operativi e di sviluppo della rete” afferma Sameer Mahajan, architetto di rete presso la società di software GS Lab. “Questi due team hanno responsabilità diverse. Il team di sviluppo lavora allo sviluppo e al test del codice, mentre il team operativo si occupa dell’ambiente, dell’architettura IT, dell’implementazione, della disponibilità, ecc.” Tradizionalmente, sono coinvolti più passaggi mentre si porta il codice in fase di sviluppo alla produzione, afferma Mahajan. “Ciò si traduce in problemi di qualità del software, ritardi e frustrazione tra i membri del team. NetDevOps risolve tali problemi automatizzando questo processo e semplificandolo. Aumenta inoltre l’efficienza dell’implementazione delle modifiche alla rete e riduce gli errori”.

Ci sono almeno sette casi d’uso principali per NetDevOps, nota Mahajan, inclusi provisioning dei dispositivi, raccolta dati e telemetria, controlli di conformità, migrazioni, reportistica, risoluzione dei problemi e gestione della configurazione.

Ostacoli all’implementazione di NetDevOps

Ad oggi, NetDevOps non è stato ampiamente implementato. “Stimiamo che attualmente solo tra il 2% e il 10% delle aziende utilizzi attivamente le pratiche NetDevOps”, afferma Lerner. Questo perché le organizzazioni devono affrontare una serie di ostacoli all’implementazione di NetDevOps:

  • Avversione al rischio: “L’impatto di un’interruzione del data center è enorme”, afferma Lerner. “Pertanto, i team di rete sono avversi al rischio e non hanno fiducia nell’automazione delle reti dei data center. Le pratiche NetDevOps richiedono un repository accurato di informazioni di rete aggiornate (inventario, posizione, ecc.), che non è comune in molte aziende”.
  • Debito tecnico: il debito tecnico sotto forma di ambienti eterogenei dal punto di vista di un singolo fornitore e configurazione è un altro ostacolo, afferma Lerner. “E, naturalmente, flussi di lavoro incoerenti o non documentati relativi alle attività di rete limitano l’adozione”.
  • Carenza di competenze: “Raccomandiamo di investire nel personale spostando l’attenzione sulle assunzioni e sulla formazione verso competenze software specifiche, tra cui Ansible e Python, forum della community e team di networking incrociati con il personale DevOps adiacente”, afferma Lerner.
  • Documentazione: le pratiche NetDevOps richiedono un repository accurato di informazioni di rete aggiornate, cosa non comune in molte aziende.
  • Cultura: per molte aziende, l’adozione di questi principi rappresenta un importante cambiamento culturale. È probabile che le organizzazioni che hanno una cultura di bassa fiducia, gestione dall’alto verso il basso e controlli rigidi delle modifiche in atto abbiano problemi nell’implementazione di NetDevOps.

I primi passi per implementare NetDevOps

L’implementazione di NetDevOps riguarda processo, organizzazione e formazione, piuttosto che tecnologia, afferma King. “Una valutazione delle competenze del personale è un primo passo necessario. Molti ingegneri di rete non hanno il tempo, l’interesse o l’attitudine per diventare programmatori di rete. Tuttavia, alcuni membri del team di ingegneri di rete potrebbero scoprire che l’apprendimento delle competenze di programmazione è una nuova sfida e fornire un’opportunità di apprendimento andrà a beneficio del team”.

network-health

La creazione di una struttura di squadra in cui esperti in materia possono collaborare con i programmatori è un ottimo approccio. Inoltre, le aziende possono creare centri di eccellenza per dimostrare il funzionamento di un team integrato di esperti e programmatori, quindi applicare e replicare questo approccio di squadra ad altre aree delle operazioni IT. Oltre a investire nella formazione, le organizzazioni che si preparano a passare a NetDevOps dovrebbero fornire al personale tempo sufficiente per assorbire nuovi processi e strumenti.

È anche una buona pratica creare modelli standard per i tipi di dispositivi, applicare il controllo delle versioni e utilizzare l’automazione ove possibile. “Automatizzate la convalida pre e post modifica. Automatizzate i test pre e post ambientali, come i controlli di latenza/disponibilità. E automatizzate il test e il rollback della configurazione”. In definitiva, si tratta di creare una nuova cultura che supporti NetDevOps, afferma Mahajan. “L’organizzazione dovrebbe passare alla mentalità di apportare piccoli e frequenti cambiamenti in modo automatizzato. I piccoli cambiamenti diminuiscono il rischio, quelli frequenti cambiamenti aiutano a mantenere l’ambiente più aggiornato e la modalità automatizzata riduce gli interventi manuali e rende meno soggetti a errori”.

Come mantenere il successo sulla strada per NetDevOps

Una cosa è avviare un’iniziativa NetDevOps, ma mantenere il successo a lungo termine richiede uno sforzo prolungato. “Il mantenimento di una strategia NetDevOps richiede che la direzione si impegni a promuovere e investire nel tempo, nella formazione e nella struttura organizzativa per consentire il successo”, afferma King. “Questi cambiamenti sono investimenti a lungo termine”.

Abilitare un team in grado di ottenere alcuni piccoli e iniziali successi è importante, afferma King. “È fondamentale acquisire le metriche relative a questi successi, in termini di risparmio sui costi, maggiore soddisfazione dei dipendenti e tempi più rapidi per fornire valore agli stakeholder e renderlo visibile al management”. È anche importante investire nell’apprendimento e nella sperimentazione continui da parte del team per espandere le proprie capacità. “Date ai dipendenti il tempo per il lavoro di miglioramento o per l’innovazione e adattate i processi esistenti per incorporare queste innovazioni”.

In che modo un’organizzazione misura il successo di NetDevOps?

“Il successo è misurato da tempi di attività elevati della rete, meno errori e mantenimento dell’ambiente sulla versione più recente delle modifiche”, afferma Mahajan. Le aziende non devono fare da sole quando utilizzano NetDevOps. Sebbene sia più un processo che un’offerta di fornitori commerciali, ci sono fornitori che possono aiutare le aziende ad abilitare NetDevOps all’interno delle loro organizzazioni. Tra questi ci sono Network to Code, Itential, HashiCorp, Arista e altri, che forniscono infrastruttura come codice e altre capacità di automazione della rete.

Secondo GigaOm emergeranno presto nuovi attori con soluzioni snelle e innovative, mentre i fornitori di reti affermati competeranno acquisendo fornitori di soluzioni e ampliando le partnership critiche. Con diversi fornitori e opzioni NetDevOps disponibili e il panorama in evoluzione, la selezione dei migliori strumenti NetDevOps dipenderà dai casi d’uso dell’organizzazione, dall’infrastruttura software esistente, dalle scelte architetturali e dalle capacità interne. Per le organizzazioni che desiderano automatizzare e accelerare il passaggio alle operazioni digitali, NetDevOps potrà presto essere al centro dei loro sforzi per migliorare le prestazioni e l’affidabilità della rete.