¿Qué es DevNetOps?

¿Qué es DevNetOps?

DevNetOps es la aplicación de las filosofías, principios y comportamientos de DevOps a las operaciones de red (NetOps). Las filosofías de DevOps se originaron con la cultura de ingeniería de software y la revolución de producción ajustada (lean manufacturing) que tuvo lugar desde 1980 hasta 2000. Estos principios suelen denominarse colectivamente "CALMS", cuyas siglas en inglés significan cultura, automatización, producción ajustada, medición y uso compartido.

Uno de los principios más reconocidos de DevOps es la oposición a la metodología de cascada, que requiere prolongadas fases secuenciales de interminables ciclos de planificación, construcción y pruebas. Como se documenta en The DevOps Handbook, la investigación en DevOps ha demostrado que, para el sector de TI y de producción, los despliegues más pequeños y frecuentes permiten aumentar la velocidad operativa, la agilidad y la calidad.

Para que las organizaciones puedan cumplir rápidamente sus objetivos de negocio, ¡la confiabilidad es un requisito clave! La velocidad, si no va de la mano de la sostenibilidad, termina fracasando, y un fracaso rápido solo beneficia a las organizaciones si son capaces de mejorar entre iteraciones. Casualmente, una reciente implementación que se hizo muy popular en el campo de DevOps es el papel del ingeniero de confiabilidad del sitio (SRE). De igual manera, la función del ingeniero de confiabilidad de la red (NRE) es implementar DevNetOps.

¿Qué es una canalización de DevNetOps?

Canalización de DevNetOps

Canalización de DevNetOps

Para reducir el plazo que transcurre entre el desarrollo y el despliegue, y para trabajar en ciclos más breves y rápidos con metas de cambio de despliegue más pequeñas, la canalización de DevNetOps automatiza el progreso entre los cambios de ingeniería y los despliegues de producción.

Comprometerse con un repositorio de código con varias versiones activa una canalización de integración continua (IC) de construcción y pruebas progresivas. A través de un conjunto de decisiones automáticas y manuales, las cargas candidatas se prueban en entornos virtuales, simulaciones y laboratorios para que alcancen un estado de tarea confiable. El estado de la canalización de entrega continua (CD) garantiza que la entrega asignada siempre esté lista para desplegarse. El despliegue continuo es el empuje automático para el ensayo y la posterior producción.

Sin embargo, antes de que se introduzcan los cambios en un entorno de ejecución (como el ensayo y la producción), es importante saber las unidades de cambio arquitectónicas de tamaño micro e infraestructura inmutable. Los grandes cambios monolíticos no son seguros, y requieren más tiempo para realizarse y validarse. Además, es más difícil detectar problemas, en comparación con pequeños paquetes de cambio.

La infraestructura inmutable es igual de importante para el despliegue continuo. No es para nada útil ni eficiente llevar a cabo un despliegue para que luego un ingeniero altere el significado de lo que se desplegó. Los tiempos de ejecución de reproducción deben ser reproducibles para poder probar los cambios de manera segura y determinar cómo pueden resolverse los problemas.

El monitoreo continuo, la medición y la respuesta constituyen el último componente de DevNetOps. Los comentarios de producción a los indicadores a nivel de servicio son muy útiles para hacer ajustes reactivos o proactivos en el estado transitorio de la red. Además, el análisis de la telemetría, los incidentes y las solicitudes externas de cambio permiten incorporar mejoras continuas en el estado codificado de los sistemas de redes.

Resumen de la canalización automatizada de DevNetOps

Herramientas

Proceso

Personas

Red como código

Repositorios de configuración de secretos, artefactos y gitOps

Ramificación, revisión, emparejamiento, Agile

Conocimiento de código (no necesariamente de programación)

Orquestación de la canalización

Herramientas de CI/CD, marcos de prueba

TDD, valoración de medición

Competencias de construcción y depuración, especialistas en canalización

Arquitectura micro e inmutable

Preparación de entregas para ZTP, refractores de proveedores

Asignaciones/despliegues a pequeña escala

CLI/TTY sin intervención

Actualizaciones orquestadas

ZTD, virtualización, laboratorios, vaciado de tráfico

Ensayo y simulación de análisis controlados

Mantenimiento de horas, restablecer versiones anteriores o implementar versiones nuevas

Diseño de resistencia y simulacros

Generación de tráfico, DoS, chaos monkey

Chaos windows, límites de documentos

Error forzado para comprensión

Medición continua

Análisis de Big Data, ML, integración ITops

Cuadernos de estrategias para incidentes, planificación de la capacidad

Administración por estadísticas, métricas, eficiencia

Respuesta continua

Reparación automática, FaaS, estadísticas predictivas

Supervisión de la autoconducción

Telemetría de ingeniería, indicadores, autorrecuperación

Mejora continua

Actualizaciones, características, correcciones, cambios

Registro de lecciones locales como conocimiento global

Análisis activo de resultados con mente abierta

Beneficios de DevNetOps

  • La cultura de equipo y los comportamientos coherentes, junto con la ingeniera de confiabilidad y un sistema de despliegues más pequeños y frecuentes, aumentarán el desempeño de los equipos y de las empresas1.
  • DevNetOps facilita una integración más rápida de los sistemas de proveedores, especialmente en lo que respecta a las actualizaciones y los parches de software. Convence a los proveedores de que ejecuten cargas más pequeñas en una cadencia más rápida, lo que permite acortar los plazos de implementación de características nuevas y de correcciones. Reduce notablemente la brecha entre el plazo de comercialización del proveedor y el plazo de despliegue del operador.
  • Para los ingenieros, DevNetOps reduce el estrés (la ansiedad generada por los despliegues) y promueve la satisfacción laboral.

¿Qué relación hay entre NRE, DevNetOps y DevOps?

Los ingenieros de DevNetOps y DevOps se ocupan del desarrollo y las operaciones de las aplicaciones empresariales. Por supuesto, las redes desempeñan una función, especialmente para algunos tipos de redes definidas por software (RDS), en los grupos de aplicaciones. Sin embargo, las redes también existen dentro de las empresas, y los proveedores de servicios se separan del dominio de desarrollar y ejecutar aplicaciones y plataformas de software2. Estos son algunos ejemplos de redes NetOps que se centran en aplicaciones empresariales: red troncal de área amplia, transporte, retorno y redes subyacentes de centro de datos.

Para diferenciar DevOps de DevNetOps: la separación de DevOps de la red se da entre el proveedor y el cliente, en lugar de entre equipos de la misma empresa. Algunos objetivos de DevOps, como la rápida iteración de funciones y la experimentación de productos, no son objetivos típicos de la infraestructura fundacional de las redes. Sin embargo, los principios y beneficios de DevOps se aplican de igual manera a las redes.

Por un lado, DevNetOps (al igual que DevOps) es una colección de filosofías, principios y mejores prácticas. Por el otro lado, los ingenieros de confiabilidad de la red (NRE) se encargan de aplicarlos. Los objetivos de “Dev” y de “ingeniería” son los mismos. Sin embargo, mientras que los principios de DevOps aumentan la velocidad de iteración y fomentan el aprendizaje continuo, NRE se enfoca específicamente en un único objetivo: la confiabilidad. Son objetivos complementarios: el qué y el por qué.