cherezoff - stock.adobe.com

Una guía de cómo aprender automatización de redes

Ser un profesional de las redes significa ser un aprendiz de por vida. Aprenda qué habilidades de automatización de redes son esenciales y cuál es la mejor manera de adquirirlas rápidamente.

La automatización está cambiando fundamentalmente la forma en que configuramos y administramos las redes. Los crecientes lazos entre las redes y la automatización exigen que aprendamos nuevas habilidades de automatización para ser efectivos en la nueva era de las redes.

Cómo aprender la automatización de redes: Habilidades que necesita

Existe una amplia gama de habilidades relacionadas con la automatización de redes. Las habilidades blandas no requieren experiencia en programación, mientras que otras habilidades requieren un conocimiento básico de la terminología del software. Las habilidades avanzadas entran en metodologías de programación y desarrollo de software. El punto de partida depende de su nivel actual de experiencia. Puede hacer mucho sin tener que aprender programación, como veremos.

Habilidades blandas o sociales

Comencemos con habilidades que no necesitan experiencia en desarrollo de software. Este es el punto de partida probable para la mayoría de las personas de redes.

Primero, hay un cambio de mentalidad. Cambie su forma de pensar acerca de la configuración de las redes, el monitoreo y la resolución de problemas. Considere cómo puede usar la automatización para procesos manuales, incluso si el proceso manual es más eficiente a corto plazo. ¿Hay pasos en el proceso manual que consuman mucho tiempo y puedan automatizarse? No tiene que abordar toda la tarea. Simplemente automatizar una parte tediosa o propensa a errores de un proceso puede tener excelentes resultados.

Parte del cambio de mentalidad es aceptar que adoptar la automatización requerirá una inversión en tiempo para aprender nuevos métodos. Esto puede ser difícil para las organizaciones que siempre están trabajando en la crisis del día. Se puede progresar en tan solo una hora por día.

Desarrolle habilidades en torno a la creación de procesos para tareas comunes. Documente estos procesos e identifique las tareas dentro del proceso general donde la automatización se puede aplicar más fácilmente. Del mismo modo, realice un análisis de problemas de red posmortem para determinar qué información debe recopilarse para identificar adecuadamente la fuente del problema. ¿Se puede recopilar parte o toda la información mediante la automatización? El solo hecho de saber qué información recopilar y el análisis que se debe realizar es una forma valiosa de reducir el tiempo para identificar la fuente de un problema, incluso si los métodos manuales continúan utilizándose.

Comience a desarrollar habilidades en torno a las herramientas existentes. Aprenda a usar las funciones de validación y actualización de la configuración dentro de las herramientas de su sistema de administración de red existente. Estas herramientas con frecuencia permiten a los expertos en redes lograr sus objetivos de automatización sin programación.

Cree un repositorio de fuente de verdad de red. Una fuente de verdad le permitirá validar el estado operativo de la red sin depender de sus configuraciones, que pueden cambiar a medida que ocurren fallas y cambios ad hoc. Identifique las interconexiones de infraestructura crítica en cada dispositivo de red y documéntelas. Documente las conexiones a servidores críticos y sus servicios. La fuente de la verdad debería permitirle identificar fácilmente cosas como canales de puertos mal configurados o cableado incorrecto, independientemente de si se trata de un proceso de verificación manual o automatizado.

Scripting

Con frecuencia encontrará que no es necesario utilizar programación para crear sistemas de automatización útiles. Algunas herramientas (por ejemplo, Gluware) proporcionan una interfaz de usuario que los administradores de red pueden usar para automatizar las configuraciones de red sin realizar ninguna programación. Del mismo modo, los proveedores de equipos de red tendrán productos o socios que proporcionarán herramientas para simplificar y automatizar la configuración de sus equipos.

El siguiente paso de aprendizaje es un sistema basado en script como Ansible. Su lenguaje de control se parece más a una sintaxis de configuración de red que a un lenguaje de programación. Descubrirá que es muy fácil hacer cosas simples con Ansible y que su configuración es fácil de crear. Una variedad de funciones útiles son posibles:

  • Ejecutar comandos y recopile la salida en archivos (ideal para la resolución de problemas).
  • Validar la operación de la red (verificada contra una fuente de verdad).
  • Crear configuraciones a partir de plantillas (con la adición de variables Jinja2).
  • Cargar configuraciones en dispositivos de red.

Ahora que está creando documentación (fuente de verdad) y scripts, debe aprender a usar un repositorio de código fuente basado en la web como Git (GitHub, GitLab o un repositorio central equivalente donde los desarrolladores pueden almacenar el código fuente y colaborar y probar eso). Nunca querrá encontrarse en la situación en la que su último script de trabajo fue sobrescrito con una versión más nueva que no funciona del todo.

Conceptos de software y habilidades de desarrollo

Debería comenzar con cosas simples y progresar a las más complejas a medida que aprende.

Una comprensión básica del software será valiosa para hablar con los desarrolladores de software, incluso si no está escribiendo software usted mismo. Debe aprender conceptos básicos y terminología. Si nunca ha escrito ningún software, consulte la hora del código. Lea artículos básicos y tome una clase de programación básica gratuita en línea para aprender los conceptos de desarrollo de software. Debe comprender términos como refactorización, idempotente, iteración, bucle, condicionales, listas y diccionarios.

A medida que avance, aprenda los fundamentos del desarrollo de software, incluidos algoritmos, estructuras de datos, modelos de datos y abstracción. El concepto de abstracción es particularmente importante porque es cómo se construye el software. Tenga en cuenta que la abstracción del modelo de dispositivo es cómo podemos usar la automatización de la red para controlar dispositivos de múltiples proveedores (vea el video: "Cómo la abstracción de datos cambió la informática para siempre").

¿El siguiente paso para aprender a automatizar la red? Aprender a desarrollar software. Python se ha convertido en el lenguaje principal para la automatización de redes, por lo que tiene sentido concentrarse en él. Existen numerosas fuentes para aprender Python, muchas de las cuales son gratuitas o baratas. Una forma de aprender es usar una técnica llamada programación en pares, en la cual un par de desarrolladores de software trabajan juntos para desarrollar software. En este caso, un administrador de red y un desarrollador se unirían, lo que ayudaría a los expertos en redes a aprender software y a los desarrolladores a aprender de redes.

¿Cómo se puede verificar la calidad del código producido? A través de pruebas automatizadas. Es fácil para los nuevos desarrolladores crear errores que son difíciles de diagnosticar. Las pruebas automatizadas son una metodología de desarrollo de software en la que las pruebas se crean junto con el software. Con las pruebas automatizadas, es un paso hacia la integración continua y la entrega continua. CI/CD ejecuta pruebas exhaustivas cada vez que se ingresa código nuevo o configuraciones de red en el repositorio de código de software. Si se pasan todas las pruebas, el código actualizado está listo para la implementación, ya sea manual o automáticamente, según lo determine la organización.

Es un cliché, pero la administración de redes es un gran ejemplo de la necesidad de aprendizaje permanente y la necesidad de adaptarse al cambio. Las redes comenzaron con interfaces seriales simples, a menudo a través de enlaces privados de larga distancia. Luego apareció la red de área local. Tuvimos que aprender a trabajar con esta nueva tecnología llamada Ethernet. Luego, el cambio a LAN proporcionó nuevas capacidades y agregó cierta complejidad. La tecnología WAN cambió de enlaces dedicados a Frame Relay y luego a MPLS. Ahora tenemos SD-WAN. TCP/IP se convirtió en el principal estándar de red, con Open Shortest Path First, Intermediate System to Intermediate System y Border Gateway Protocol como los protocolos de enrutamiento dominantes. Las limitaciones del árbol de expansión han comenzado a crear problemas, obligándonos a adaptarnos nuevamente.

Cada uno de estos cambios ha requerido que aprendamos nuevas tecnologías. La automatización no es diferente. Cómo aprender la automatización de redes es simplemente el último paso en el viaje continuo de cualquier profesional de redes. Existe un continuo de tecnologías de automatización que nos permite comenzar de manera simple y trabajar hacia la complejidad, tal como lo hemos hecho antes.

El escenario ideal para adoptar la automatización de red es que toda la organización trabaje en conjunto. Use técnicas de programación en pareja, sesiones de entrenamiento regulares e incluso sesiones de "lo que aprendí" para compartir consejos y aprender unos de otros. No se preocupe si no puede tener a todo el equipo a bordo. Incluso una persona puede tener un efecto positivo al automatizar cosas simples que no corren el riesgo de cambiar la configuración de la red.

No sea un dinosaurio de las redes. Necesita adaptarse al nuevo clima de tecnología de red.

Investigue más sobre Internet y redes de datos