hello@itglobalconsult.it

Python: cos'è e a cosa serve, Guida completa

October 11, 2024
Autore:

Alessandro Sepiacci

I Fondamenti:

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.

Perché Python?

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

 

La mia esperienza personale:

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

 

In conclusione:

Se già nell’ambito delle tecnologie di networking tradizionali Pyhton rivela la sua utilità, è nel nuovo mondo del Software Defined Networking che si aprono le più grandi possibilità di impiego.

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.

Anche se non si può nascondere che il sistemista di rete classico possa fare fatica ad adattarsi a questo nuovo paradigma e a fare resistenza all’idea di spostarsi verso la programmazione, dopo una esitazione iniziale comprensibile ci si potrà rendere conto dei grandi vantaggi e anche delle soddisfazioni “creative” che  offre.

 

Risorse utili:

Su Internet si trovano moltissime risorse per avvicinarsi a Python, solo per citarne alcune:

Il sito di riferimento ufficiale

Corsi online interattivi

Corsi video online

Un sito (e un libro) particolari per entrare nel vivo della materia

Vuoi scoprire di più su IT Global Consulting?

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

 

Contattaci

Articoli
Recenti

Interested in reading more?
Vedi altri articoli