programmabilità-automazione-reti

Programmabilità e automazione delle reti sono argomenti ai quali sistemisti, progettisti, tecnici o ingegneri di rete pensano con sempre maggior interesse, forse con una certa preoccupazione, probabilmente con la consueta confusione che la novità porta con sé. Il tema dell’automazione non è nuovo nel mondo dell’IT, nel corso dell’ultimo decennio si sono diffuse ampiamente metodologie di tipo DevOps e strumenti come Puppet o Chef per la gestione dei sistemi e delle applicazioni software, per implementare e rilasciare nuovi servizi e funzionalità. Tuttavia soltanto in tempi più recenti, grazie soprattutto all’evoluzione del software impiegato dai dispositivi di rete, maggiormente dotato di predisposizioni all’interfacciamento, la tendenza tecnologica dell’automazione e della programmabilità si è presentata prepotentemente all’attenzione di chi, tradizionalmente, lavora nel mondo delle reti adottando sistemi di gestione ben più orientati alla configurazione condotta manualmente.

La differenza sostanziale negli approcci tra le metodologie tradizionali e le nuove orientate all’automazione è l’elemento che più riesce a disorientare chi da sempre adotta propri sistemi di lavoro e procedure operative ormai consolidate: del resto è risaputo che il cambiamento provoca resistenza.

Un’azienda che intenda trarre tutti i vantaggi da questa nuova evoluzione tecnologica, portando anche all’interno del silo del networking l’agilità e l’efficienza che l’automazione già garantisce all’interno di altri dipartimenti dell’IT, deve necessariamente agire attorno a due cardini fondamentali: la cultura e la formazione. Formare adeguatamente le persone coinvolte nei nuovi processi tecnologici è indispensabile per consentire l’acquisizione di competenze e conoscenze delle tecnologie e dei prodotti e per il loro corretto e fattivo impiego. Ma anche la tecnologia più rivoluzionaria, non risolve i problemi pratici del business da sola. Per ottenere completamente l’obiettivo occorre pariteticamente maturare un appropriato approccio culturale. La realtà dei fatti ci dice che è necessario un giusto equilibrio di ottime persone, ottimi processi e ottime tecnologie, affinché si possano introdurre efficacemente gli elementi basilari su cui costruire i processi di network automation. L’ispirazione per favorire l’approccio culturale congeniale è suggerita dall’idea che le persone vogliono lavorare con altre persone a cui importi davvero ciò che fanno.

 

Cultura dell’automazione

In generale l’automazione incontra i propri ostacoli: le ansie di chi vuole iniziare ad automatizzare, ma non riesce a convincere gli altri a fare le giuste mosse iniziali, o peggio ancora, la cattiva reputazione che adombra un progetto fallito a causa di qualche tentativo maldestro di automazione, con relativo impatto negativo su un sistema in produzione. Un progetto di automazione non può e non deve relegarsi ad una nicchia tecnologica di cui l’azienda scopre l’esistenza quando qualcosa è andato storto. Il sistema del business aziendale deve essere invece fautore del cambiamento, occorre pertanto adottare la corretta strategia, anche volta a superare le resistenze innate nei processi di cambiamento. È importante focalizzarsi sui motivi che portano all’adozione dell’automazione, che non possono essere soltanto tecnologici, nonostante i vantaggi tecnici operativi che sono in grado di garantire, e mettere in risalto risultati attesi tangibili e misurabili per il business aziendale.

La cultura dell’automazione deve essere edificata in modo stratificato e con tempi adeguati, non la si può ottenere per direttiva o prescrizione. Le cose vanno progettate e introdotte per gradi, così da ottenere valide e durature pratiche operative. La strategia deve essere incrementale e diffusa. È pressoché fallimentare per un progetto di automazione, la costituzione di un apposito team di persone preposte alla sua messa in opera. L’automazione occorre sia adottata culturalmente attraverso i silos tecnologici, deve crescere complessivamente nel tempo. Deve essere percepita come nulla di speciale, in effetti, semplicemente operatività evoluta.

 

Formazione tecnica

L’altro elemento fondamentale che fa da cardine al progetto di automazione, passa attraverso la formazione e la costruzione della competenza tecnica adeguata. L’evoluzione tecnologica genera la necessità di ottenere le giuste competenze per stare al passo, in particolare se si vogliono mantenere caratteri distintivi per la propria professionalità. L’accelerazione dell’evoluzione tecnologica rende tale necessità ancor più critica, rendendo l’aggiornamento professionale un’esigenza costante. Uno degli sbagli più frequenti, da questo punto di vista, è legato alla tendenza a restare nella propria zona di confort. Lavorando prevalentemente sulle stesse cose, restando focalizzati su un singolo filone tecnologico. In questo caso si tratteggia uno scenario peggiore del non avere semplicemente competenza su una nuova tecnologia: non si sa in realtà ciò che non si conosce. Non ci si è neppure posti il problema di come fare ad utilizzare un linguaggio di programmazione per configurare uno switch in un rack del data center, semplicemente perché il concetto stesso è alieno. Il punto di partenza, pertanto, è l’apertura mentale verso una nuova conoscenza, la curiosità istintiva che è parte del tecnologo interpretato da ogni tecnico. Uscire dalla propria zona di confort, è il primo passo, equivale anche a maturare la convinzione che lo scenario tecnologico è in fase di cambiamento e con esso cambiano le competenze richieste. Identificare gli elementi principali con cui iniziare a prendere dimestichezza dà modo di delineare il proprio percorso formativo.

Python è il linguaggio di programmazione che più comunemente è presente nei nuovi scenari di programmabilità ed automazione delle reti. Non si tratta di trasformare un tecnico di reti in un programmatore. In realtà si tratta di formare una nuova figura professionale – potrebbe definirsi “programmability engineer” – che sta tra il software engineer ed il network engineer, una nuova competenza che ha le basi sull’esperienza di quest’ultimo e che trae vantaggio dalle conoscenze del primo. Imparare a identificare e decodificare i formati JSON, XML, YAML, o anche il modello YANG e a lavorare con NETCONF e RESTCONF. Esplorare le API di cui sono dotati i sistemi operativi dei moderni switch e router, attraverso strumenti come Postman per sperimentare con richieste RESTful le funzioni di configurazione e monitoraggio disponibili. Oppure strumenti più specifici per determinate architetture, come Visore, nel caso dell’architettura SDN Cisco Application Centric Infrastructure. Trarre spunto dalle metodologie tipiche dello sviluppo del software per portare le pratiche di Continuous Integration e Continuous Delivery negli ambienti di networking, al fine di migliorarne la flessibilità, l’affidabilità e l’efficienza implementativa. Imparare l’uso e l’efficacia di nuovi strumenti di automazione e gestione delle configurazioni, quali Ansible e Tower, oppure Salt e StackStorm. Stimolante può diventare prendere in considerazione la preparazione di una certificazione; così da abbinare gli obiettivi di preparazione della propria nuova competenza con quelli di acquisizione di un nuovo riconoscimento professionale. Può interessare coloro che già hanno investito nei percorsi di certificazione, come la Cisco Professional, prendere in esame la qualifica Cisco Network Programmability Design and Implementation Specialist. Il programma di formazione ad essa associato può essere un valido sostegno per iniziare ad addentrarsi nel nuovo ruolo, sviluppandolo attraverso nuove conoscenze indirizzate verso la programmabilità, l’automazione, l’utilizzo di piattaforme Cisco quali i Nexus, ACI, switch e router con software IOS XE e XR in una nuova veste attraverso le loro API.

 

Clicca sul pulsante qui sotto per scaricare l’editoriale in pdf

Scarica l'editoriale