¿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é.

Preguntas frecuentes de DevNetOps

¿Por qué se necesita DevNetOps?

Los cambios en la red son complejos, de modo que requieren procesos de verificación rigurosos y costosos, y son susceptibles a problemas e impactos inesperados. DevNetOps aborda estos problemas mediante prácticas que aseguran cambios pequeños, frecuentes e implementados de manera automatizada y confiable. Este enfoque mejora la calidad, los resultados y los tiempos de despliegue en comparación con la metodología tradicional de cascada, la cual divide las actividades en fases largas y secuenciales, cada una dependiendo de la calidad y la precisión de la anterior.

¿Cuál es la diferencia entre DevOps y DevNetOps?

Mientras DevOps se concentra principalmente en acelerar los procesos de desarrollo de software y los tiempos de despliegue de una organización, DevNetOps aplica principios y prácticas de DevOps para automatizar las operaciones de red y tratar a la infraestructura como código. El resultado esperado de DevNetOps es una infraestructura de red más flexible, programable y escalable que puede apoyar el ritmo de las prácticas de DevOps y de los despliegues de software. 

Tanto DevOps como DevNetOps se centran en descomponer departamentos y funciones en "silos" al mejorar la colaboración entre los equipos y aumentar la automatización, a modo de lograr mayores velocidades operativas, agilidad y calidad. Sin embargo, DevOps se centra en una colaboración interna en la que DevNetOps aborda más a menudo la relación entre el proveedor y el cliente. Además, mientras que la principal preocupación de DevNetOps es la velocidad de la iteración, el objetivo principal de DevNetOps es la confiabilidad.

¿Cuáles son los beneficios de DevNetOps?

La adopción de DevNetOps tiene una multitud de beneficios. Algunos ejemplos son: mayor eficiencia; integración más rápida de los sistemas de los proveedores, especialmente actualizaciones y parches de software; plazos de entrega más cortos para funciones y arreglos; y un menor intervalo entre el tiempo de comercialización del proveedor y el despliegue del operador. 

¿Cuáles tecnologías, soluciones y productos de DevNetOps ofrece Juniper?

Cloud-Native Contrail Networking (CN2) de Juniper es una plataforma de redes definidas por software (RDS) que automatiza la creación y administración de redes virtuales. Ofrece infraestructura como código, un principio de DevNetOps, para lograr calidad de software con eficiencia y velocidades de hiperescala. Ha sido probado, calificado y desplegado mediante el uso del proyecto CN2 basado en Argo con Pipelines, un modelo de GitOps y de integración continua y entrega continua (CI/CD) para NetOps, para ofrecer ingeniería de confiabilidad a una velocidad hiperescaladora.