Artículo Artículo

Automatización aplicada a las redes ¿Qué es y qué beneficios representa?

Los recursos inclusivos o de asistencia mejoran la calidad de vida de las personas con discapacidad

Por Edgardo Scrimaglia, especialista en Automatización y Programabilidad – Logicalis Argentina

FacebookTwitterLinkedIn

La automatización de redes, como la mayoría de los tipos de automatización, es pensada o considerada como una manera de “hacer las cosas más rápido”. Si bien, hacer las cosas más rápido es bueno, reducir el tiempo de las implementaciones y los cambios de configuración, no siempre representan un problema prioritario ni que debe resolverse. Sin embargo, existen otras razones por las cuales las organizaciones de todas las formas y tamaños deben gradualmente adoptar la automatización en el contexto de las redes:

Arquitecturas simplificadas

Hoy en día, la mayoría de los dispositivos de red están configurados de manera única o diferente, con configuraciones no estándares, por lo tanto, los ingenieros de redes deben resolver problemas tanto de protocolos como de aplicaciones. Estos cambios “únicos” en la red, hacen que la misma no solo sea más difícil de mantener y administrar, sino también más difícil de automatizar. En vez de tratar la Automatización como un proyecto secundario, es necesario que ésta sea considerada en el mismo momento que las redes se diseñan o implementan.

Esto incluye asegurarse, al momento de adquirir tecnologías y servicios, que los mismos cuentan con las facilidades de Programabilidad y Automatización. Para esto, existen unas series de preguntas que debemos hacernos:

  • ¿Qué features son comunes a todas las plataformas por adquirir?
  • ¿Qué tipo de API o herramientas de automatización funcionan en la arquitectura?
  • ¿Hay documentación sólida de la API?
  • ¿Qué librarías o bibliotecas existen para un producto dado?
  • ¿Qué conocimientos tiene el fabricante y el proveedor de servicios?

Cuando estas preguntas se responden en el proceso de diseño, la arquitectura resultante se vuelve más simple, repetible y más fácil de mantener y automatizar.

Resultado determinístico

En las empresas consideradas large Enterprise y Service Providers, cada vez que debe hacerse un cambio en la arquitectura de red, se realizan (o deberían realizarse) reuniones de planeamiento para analizar el impacto de los cambios y las estrategias de Rollback (vuelta atrás). El impacto de escribir mal un comando de configuración resulta catastrófico para la continuidad de los servicios que se brindan a través o sobre la arquitectura de red.

Imaginemos 3, 5 o 30 ingenieros en una “ventana de mantenimiento”, operando en la línea de comandos de cada dispositivo, o aún a través de una interfaz gráfica. La probabilidad de cometer errores es muy alta y lo que es peor, no hay forma de garantizar que, en intentos posteriores, no se cometa el mismo error.

Esta metodología, respecto de la probabilidad de cometer errores, tiene un resultado aleatorio.
La Programabilidad y Automatización, es una metodología que, debido a etapas de testing y corrección antes de aplicar, convierten la tarea anterior en una de resultado determinístico. Esto quiere decir que, se garantiza que un error no se cometa dos veces. El resultado determinístico asociado a la Programabilidad y Automatizacion, es una característica aún más importante que la rapidez.

Business Agility

Desde la aparición y adopción de lo que conocemos como “Server Virtualization”, los ingenieros o administradores tienen la capacidad de implementar nuevas aplicaciones casi instantáneamente. Y cuanto mas rápido y seguro se implementan nuevas aplicaciones, mas aparecen las dudas y consultas acerca de por que se demora tanto tiempo en configurar los recursos de red tales como Vlans, routes, Firewalls, políticas, etc. Queda claro entonces cómo la Automatización de las redes, permite actuar de forma rápida y segura, en sintonía con la automatización de aplicaciones para agilizar la entrega de servicios.

Ahora bien, si volvemos al concepto de quienes igualan la automatización con la velocidad de implementación, veríamos que a lo mejor esta es una razón por la cual aún no se aprecia el valor real de la automatización de las redes. Es por esto, que es necesario entender que existen distintos tipos de automatización, los cuales permiten tener una visión mas completa de la misma y entender su naturaleza:

Device Provisioning

Si bien esta expresión es utilizada de manera amplia, se define como Provisioning, a la tarea de crear archivos de configuración, llamados config-file, para diferentes dispositivos y a la posterior instalación (pushing) en los dispositivos. Como existen diferentes formatos o estructuras de config-files, según dispositivo y fabricante, es necesario separar el contenido de la estructura. Esto se logra combinando técnicas de creación de templates y de generación de contenido (modelo de datos). Provisioning permite, por ejemplo, generar de forma rápida y segura decenas o cientos de config-files y la instalación de éstos en los dispositivos.

Data Collection

La forma tradicional y más conocida de obtener información de funcionamiento de los dispositivos de red, es a través de un protocolo llamado SNMP (Simple Network Management Protocol). Las técnicas actuales de programabilidad y automatización (APIs, Templates, etc.) permiten no sólo obtener la misma información que obtiene SNMP, sino también, por ejemplo, ver cómo está escrita la sección OSPF de un config-file determinado. Data Collection es clave para extraer cualquier tipo de información de forma estructurada de los dispositivos de red para su análisis posterior.

Migrations

La migración de una plataforma a otra nunca es una tarea simple. Mucho menos si se trata de una migracion entre distintos fabricantes. La creacion de scripts y templates permiten tener una plataforma de migración independiente de modelos y fabricantes.

Compliance & Validations

Configurations compliance y configurations validations, es una de las tareas mas importante que se realizan durante la automatización. Se trata de realizar Data Collections en los dispositivos de networking y luego verificar si la configuracion de los mismos, está de acuerdo a reglas de control. Las Vlans creadas, direcciones IP, protocolos de routing, adyacencias son sólo algunas de las verificaciones que se pueden hacer sobre la información colectada de un equipo de red en producción.

Configuration Management

Es la forma más común y conocida de automatización. Configuration Management se refiere a la tarea de preparación y cambios de configuración en los dispositivos de red. Desde la creación o modificación de vlans hasta la configuración de una VPN, pasando por el más complejo esquema de ruteo, forman parte de las tareas que se realizan durante ese tipo de automatización. Configuration Management y Compliance & Validation, son etapas estrictamente relacionadas al proceso de automatización, dado que, por lo general, luego de validar, es necesario cambiar configuraciones.

Reporting

Todas las etapas anteriores, requieren que se documenten debidamente. Al mismo tiempo que el proceso de automatización se ejecuta y evoluciona, la documentación debe mantenerse actualizada. Construir y mantener documentación de manera manual, aunque con menos riesgo, son tareas que tienen el mismo defecto que la configuración manual de dispositivos de red, son altamente sensibles a los errores.

Como se puede observar, automatizar en el contexto de las redes, significa mucho más que simplemente hacer cambios de configuración de manera rápida. Automatización es una metodología formada por conocimiento y herramientas que permite satisfacer la demanda creciente en el contexto de networking: las redes no se configuran, se programan.