Alessandro Sepiacci
Negli ultimi anni le reti di computer hanno visto un notevole aumento in dimensioni e complessità, tanto che è sempre più difficoltoso gestirle con metodi “manuali”.
Per questo motivo, al fine di poter garantire tempi ragionevoli di preparazione e gestione delle attività e soprattutto mantenere un alto livello di affidabilità è opportuno, se non a volte indispensabile, affidarsi alla Network Automation.
A tale scopo è possibile fare uso di tool gratuiti o a pagamento, di terze parti, che non sempre, però, sono perfettamente tagliati su misura per i nostri scopi.
Spesso avere la capacità di crearsi in proprio gli strumenti di lavoro può rappresentare la carta vincente per ottenere un notevole incremento di produttività, sia in termini quantitativi che qualitativi e a questo scopo è imprescindibile la conoscenza di un linguaggio di programmazione.
In particolare, il linguaggio che negli ultimi anni si è andato sempre più affermando nel campo della gestione delle reti è sicuramente Python e per varie ragioni tra cui:
· E' user-friendly, la sua sintassi è facile da leggere, non è necessario specificare il data type per le variabili, ha strutture dati versatili come le liste e i dizionari
· E’ produttivo e di veloce sviluppo, rende minima la distanza fra l'idea e la sua realizzazione, anche per chi è alle prime armi
· Esiste dagli anni novanta, è quindi un linguaggio maturo con una grande comunità di supporto: su Internet si trovano ogni genere di corsi, blog e discussioni a riguardo ed è facile, quindi, che qualunque problema si incontri sia già stato affrontato e discusso e se ne trovi ampia documentazione.
· Ha un ricco corredo di librerie che spaziano in ogni campo: da quelle specificatamente create per il networking, all'elaborazione delle stringhe, all'interazione con programmi di terze parti, come la suite di Microsoft Office
Nel gruppo di lavoro di cui faccio parte, pur lavorando con tecnologie direte “tradizionali” (non SDN per intendersi), Python è utilizzato estensivamente con finalità di preparazione e verifica delle attività. Riporto sotto alcuni esempi concreti basati sulla mia personale esperienza:
· Inventario automatico: creazione di inventari riguardanti vari elementi dei dispositivi di rete, come transceiver, moduli, versioni software
· Generazione automatica dei file di configurazione per attività di upgrade e migrazione: creazione di file di comandi per isolamento a vari livelli (HSRP, OSPF, BGP, FISICO) di device a partire da configurazioni di produzione aggiornate.
· Recupero e salvataggio automatico di informazioni dagli apparati di rete per verifica e confronto pre/post attività: MAC-Address Table, OSPF Database, BGP Table e altro.
· Normalizzazione in forma tabellare confronto di Routing Table: le routing table pre/post attività di apparati di diverso tipo e brand vengono riportate in una forma comune (file.csv) e confrontate a scopo di verifica.
· Recupero automatico di informazioni di rete da tool del cliente: per esempio, dato un qualunque IP Host, si recupera a quale device/interfaccia/vrf appartiene.
· Creazione di tabelle e grafici sull'occupazione di banda di particolare interfacce: si ottengono tabelle e grafici elaborando le informazioni inviate automaticamente da Info-vista
La nascita del nuovo percorso di certificazione Cisco DevNet è particolarmente significativa per comprendere dove porterà il futuro del networking: la parte di rete di basso livello sarà sempre più "nascosta" e l'interazione con la rete avverrà sempre più a livello di API (Application Programming Interface) con una importanza crescente delle competenze di programmazione rispetto a quelle sistemistiche tradizionali.
Risorse utili:
Su Internet si trovano moltissime risorse per avvicinarsi a Python, solo per citarne alcune:
Il sito di riferimento ufficiale
Un sito (e un libro) particolari per entrare nel vivo della materia
Interessato? Clicca qui per scoprire di più sugli step suggeriti da IT GLOBAL CONSULTING
Guarda il video informativo sui servizi IT Global! : Clicca Qui!
Vuoi essere ricontattato? Clicca qui per accedere alla pagina dei contatti