Hoy es un día muy especial en Juniper Networks, ya que anunciamos la nueva versión de un producto que supone un avance tan notorio como emocionante. Durante los dos últimos años, nuestros ingenieros se han dedicado a renovar Contrail Networking de arriba abajo, en el marco del proyecto que hemos llamado “CN2”. Este nombre bien podría hacer referencia a una destacada segunda edición de Contrail, pero lo cierto es que se trata de la abreviatura que hemos dado a “Juniper Cloud-Native Contrail Networking” (Contrail Networking nativo de la nube de Juniper), porque era más fácil decir “CN2” que “CNCN” o “CN2“.
Con el lanzamiento de CN2 y Contrail 22.1, Juniper presenta una moderna arquitectura nativa de Kubernetes que ofrece a nuestros clientes una solución de red nativa de la nube automatizada, escalable y de alto rendimiento, además de la eficiencia de DevOps propia de un operador de hiperescala. Y lo mejor es que CN2 está diseñada para conectar aplicaciones con seguridad tanto en Kubernetes como en OpenStack.
Novedad: Compatibilidad con Kubernetes y OpenStack
En 2012 tuve el placer de participar en la adquisición de Contrail Systems por parte de Juniper y, un año más tarde, en su primer lanzamiento de producto. Por aquel entonces, y cuando apareció en 2012, Contrail estaba pensado únicamente para dar solución al complejo problema de la SDN a gran escala para la infraestructura como servicio (IaaS) y la virtualización de las funciones de red (NFV), donde OpenStack actuaba como orquestador. Desde 2015, Kubernetes ha supuesto toda una revolución en el desarrollo y la ejecución de aplicaciones y, más recientemente, también en la ejecución de máquinas virtuales.
Desde hace ya algún tiempo, Kubernetes está más extendido que OpenStack. En Juniper, sabíamos que teníamos grandes oportunidades de introducir funciones modernas en CN2, de modo que la solución se ajustase mejor a los usos que nuestros clientes hacen de Kubernetes y OpenShift sin dejar de ofrecer compatibilidad con OpenStack, para que los usuarios que recurren a ambas herramientas (o los que están migrando a Kubernetes) pudiesen disfrutar de la misma experiencia en todas partes.
Volviendo al momento actual, CN2 es una solución que no solo ha sido diseñada para Kubernetes, sino que es nativa de Kubernetes.
Novedad: Nativa de Kubernetes
La transformación de Contrail no se reduce únicamente al hecho de que ahora sea una solución nativa de la nube pensada para el ecosistema de Kubernetes, sino que representa la optimización por excelencia para Kubernetes: hemos rediseñado CN2 para convertirla en una extensión del propio Kubernetes.
CN2 funciona, entre muchas otras cosas, como una CNI de Kubernetes y se integra como un elemento básico de la infraestructura del clúster mediante el marco de extensiones de recursos personalizados de Kubernetes. Como en el caso de Kubernetes, en CN2 todo está aprovisionado. Los clientes pueden optar por utilizar kubectl, K9s o cualquier otra herramienta de Kubernetes. También hemos ampliado Lens, la conocida GUI de Kubernetes, con un complemento de Contrail. Esto significa que, ahora, la API de CN2 se integra utilizando el RBAC nativo de Kubernetes y los sistemas de IAM adyacentes. Y lo que es mejor: ahora CN2 está configurada como código, lo que permite utilizar sin esfuerzo GitOps, la infraestructura como código y los ciclos de CI/CD. Incluso hemos presentado Contrail Pipelines basándonos en Argo CD y Argo Workflows para ofrecer ciclos de CI/CD listos para usar para la SDN de Contrail, lo que incluye los conjuntos de pruebas de Juniper.
Por otra parte, hemos desarrollado CN2 como un producto privado de código cerrado, a diferencia de las versiones anteriores (21.4 y más antiguas), que eran de código abierto. Así, la versión 22.1 marcará el nacimiento de CN2, y quienes quieran utilizarla podrán disfrutar de licencias de prueba gratuitas cortesía de Juniper.
Hay cosas que no cambian: Escalabilidad, alto rendimiento y redes abiertas
Considerar Contrail para Kubernetes una mera CNI sería una visión muy simplista. Contrail ofrece muchas más funciones de SDN: políticas de seguridad de microsegmentación, seguridad de aislamiento de espacios de nombres, equilibrio de cargas de entrada, equilibrio de carga nativo para microservicios de terceros, replicación de tráfico, política de enrutamiento, compatibilidad nativa con el protocolo BGP, topologías de red virtual y redes virtuales, por poner unos ejemplos. Todo esto funciona con o sin capas superpuestas (aunque se recomienda su uso).
Podríamos pasarnos horas escribiendo acerca de las características de las numerosas funciones de red que la solución ofrece tanto a empresas como a proveedores de servicios y de nube, así que iremos sacando más artículos de blog técnicos y videos de demostraciones que no debería perderse si quiere conocer todo lo que ofrece CN2.
Todo el mundo sabe que Kubernetes suele ejecutarse en la nube, y lo mismo podría hacerse con Contrail, ya que Juniper cuenta con numerosas implementaciones de ese tipo. Sin embargo, ejecutar CN2 en una nube bare metal autogestionada resulta de gran utilidad en los centros de datos privados porque CN2 utiliza un sencillo modelo de federación basado en estándares abiertos para emparejar redes virtuales desde su controlador centralizado lógicamente hasta otros controladores de CN2, y en especial enrutadores que utilizan el protocolo BGP, independientemente de que hayan sido fabricados por Juniper o por otro proveedor. Otra de las ventajas de las implementaciones locales es que los clientes tienen la posibilidad de utilizar opciones SmartNIC para disfrutar de un rendimiento óptimo.
¿Qué sigue siendo excepcional y sigue mejorando?
A medida que evoluciona el uso de varias nubes, también lo hace el uso de “varios Kubernetes”. Esta evolución se hace patente de dos modos distintos: en el número de clústeres y en las versiones o distribuciones de Kubernetes.
Muchas organizaciones utilizan servicios de Kubernetes gestionados en la nube, además de distribuciones implementadas autogestionadas. CN2 da servicio a todas esas distribuciones de Kubernetes —OpenShift y OpenStack incluidos— para crear una experiencia común y las federa con el objetivo de ofrecer una interconexión sin fisuras, lo que convierte a esta solución en un fuerte candidato en materia de SDN.
En la actualidad ya no solo se utilizan varios orquestadores, sino también un gran número de clústeres de Kubernetes, una tendencia a la que CN2 puede hacer frente sin problemas, lo que suma un nuevo elemento a la lista de ventajas de la solución.
Desde el principio, Contrail se diseñó para ofrecer escalabilidad y servicios multiinquilino con seguridad reforzada, por lo que es la solución ideal para grandes clústeres compartidos y pensados para varios usos y equipos. Pero la tendencia en las organizaciones es otra: están implementando una gran cantidad de clústeres pequeños —por equipo, por aplicación y para los distintos entornos (de desarrollo, de prueba, de ensayo y de producción)—. Por eso, ahora CN2 ofrece la capacidad de organizar y consolidar la SDN en medio de este caos que genera la multitud de clústeres. Puede ejecutarse solo en un clúster principal y servir como CNI para este y muchos otros. También puede combinar análisis de varios clústeres. A pesar de que CN2 es conocida por sus funciones de federación avanzada, en este modelo de varios clústeres no es necesario federarlos para que la gestión de las políticas de seguridad y de las redes virtuales sea fluida.
Por último, una ventaja de Kubernetes en comparación con OpenStack es que el primero es mucho más fácil de implementar. Funciona tanto en entornos de nube pública y privada como bare metal y se adapta a implementaciones muy pequeñas de un solo nodo. Por todo eso, teníamos claro que probar CN2 tenía que ser facilísimo. Ejecutar minikube en una laptop con CN2 es tan sencillo que puede hacerse en cuestión de minutos. Y, gracias a Juniper, es posible optimizar cualquier implementación o hacerla más ligera, ya que ofrece funciones totalmente opcionales de registro, análisis de sistemas y redes y telemetría de flujos.
Esto supone un logro importantísimo para los equipos de producto e ingeniería de Juniper y marca dos nuevos comienzos: el de una nueva edición de Contrail y el de una nueva era para CN2.
Más recursos
Soluciones para proveedores de servicios