
La gestión de redes de datos no es nada nuevo pero si que durante los últimos años, con la explosión de Internet y la escala que esto conlleva, los retos para gestionar está infrastructura ha motivado la adopción de una forma más programática de gestionar los servicios de red tanto dentro de los centros de datos como a nivel de operadores de servicios de red.
Todo el curso se basará en la interacción práctica y por eso comenzaremos preparando el entorno de trabajo que utilizaremos durante el curso, usando Git, VirtualBox y Vagrant.
Introducción y conceptos básicos del lenguaje de programación Python.
Netmiko es una librería de Python que funciona sobre SSH (Paramiko) para interaccionar de manera pogramática con equipos de red. Aquí veremos un ejemplo práctico de conexión a un equipo, consulta de su estado y cambio de configuración.
Jinja es un motor de plantillas para Python y en este ejemplo veremos como podemos crear configuraciones para múltiples equipos de red de forma sencilla, partiendo de una estructura de datos y luego automatizando la interacción con los equipos mediante Netmiko.
Napalm es una libreria de Python pensada para la gestión de equipos de red varios, homogeneizando su interfaz tanto para conseguir información (de forma estructurada) como para cambiar el estado de los equipos.
Introducción y conceptos básicos del framework de gestión de configuración Ansible.
Ejemplo senzillo de playbook de Ansible para interaccionar con un equipo de red y recoger información.
Existen múltiples estándares usados en la estructura, serialización e interpretación de los datos usados en la gestión de redes. Aquí intentaremos dar un simple clasificación que permita diferenciar fácilmente a qué nos estamos refiriendo en cada momento.
Observaremos las diferencias entre la representación de datos usando YAML, JSON y XML
En este último capítulo comentaremos algunos de los recursos que tenemos disponibles para seguir aprendiendo sobre la automatización de redes.
Este curso está diseñado como una introducción a la automatización de redes de datos, mostrando la motivación y las herramientas que hacen posible que gestionar redes heterogéneas, complejas y grandes sea más sencillo y con menos probabilidad de introducción de errores manuales.
Los contenidos de este curso serán extendidos y actualizados a partir de los comentarios de los alumnos y/o nuevas herramientas o conceptos que aparezcan.