Ventajas de la contenedorización en SONiC

por | 14 de marzo de 2023 | Sin categoría

Si te gustan los sistemas operativos en red como a mí, sabrás que la arquitectura de contenedores de SONiC es un gran paso adelante para ofrecer mayores niveles de tiempo de actividad de la red.

En el pasado, la mayoría de los sistemas operativos de red eran monolíticos, lo que significa que tenían una única base de código que controlaba todas las funciones de red, una imagen enorme con todas las características. Pero la contenedorización cambia todo eso. Ahora, cada función de red está separada en su propio contenedor o microservicio. Es como tener diferentes habitaciones para diferentes funciones en tu casa en lugar de tenerlo todo en una gran habitación. Puedes renovar una habitación por completo mientras la vida en las otras habitaciones no se ve afectada.

Los contenedores, los microservicios y Kubernetes son los estándares para desplegar aplicaciones distribuidas en la nube, ¿quizás ha llegado el momento de que las redes se pongan al día? Qué podemos esperar con este nuevo paradigma?

Flexibilidad

¿Por qué son tan importantes los contenedores? Para empezar, nos da mucha más flexibilidad. Con la contenedorización, podemos actualizar o añadir nuevas funciones a un servicio específico sin tener que cambiar todo el sistema operativo. Esto cambia las reglas del juego a la hora de configurar y solucionar problemas en las redes. Antes, si había un error o una vulnerabilidad en un componente que no formaba parte del plano de datos, había que reiniciar todo el sistema para parchearlo. Claro que había soluciones propietarias como ISSU, pero eran poco fiables y formaban parte de la caja negra del proveedor. Con los contenedores y el software de código abierto, podemos estar seguros de qué cosas dependen unas de otras. Esta es una parte muy importante del desarrollo de sistemas fiables.

Escalabilidad

Otra gran ventaja es la escalabilidad. Con la contenedorización, podemos escalar servicios individuales según sea necesario en lugar de tener que escalar todo el sistema. Esto es una gran noticia para gestionar el aumento del tráfico de red sin arruinarse. Podemos ampliar cada contenedor individual con recursos adicionales o crear nuevos contenedores idénticos para paralelizar las cargas de trabajo y adaptarlas mejor a la demanda necesaria.

Seguridad

La seguridad también es una gran ventaja. La contenedorización proporciona una capa adicional de seguridad para los sistemas operativos en red. Cada servicio está aislado en su propio contenedor, por lo que cualquier fallo de seguridad o vulnerabilidad sólo afecta a ese servicio concreto, y no a todo el sistema. Y si encontramos un fragmento de código inseguro, podemos sustituirlo fácil y rápidamente porque no necesitamos reemplazar todo el sistema operativo. Una tranquilidad que no tiene precio.

Eficacia

La eficiencia también es un gran argumento de venta. La contenedorización permite que cada servicio utilice sólo los recursos que necesita, lo que supone un ahorro de costes, especialmente en redes a gran escala. Y lo mejor es que el enfoque en contenedores de SONiC permite una mayor apertura e interoperabilidad con otros sistemas. De la misma manera que podríamos estrangular el tráfico entrante a las interfaces de gestión, también deberíamos establecer límites en los procesos de gestión para asegurarnos de que no vuelan nuestro plano de control. Cuanto más control tengamos sobre los procesos del sistema, más espacio tendremos disponible para las nuevas y emocionantes piezas de software que siempre hemos querido aprovechar en la gestión de nuestra red.

Orquestación

Y aquí tienes un poco de magia que puede hacerte pensar de forma diferente sobre el futuro de las redes. Si el NOS es una colección de contenedores que ejecutan nuestros servicios de red en nodos, y el tejido de red es un grupo de estos nodos trabajadores que participan en la entrega de un resultado específico, ¿no es eso básicamente lo mismo que una aplicación distribuida? (ASIENTE CON LA CABEZA)

Entonces, ¿podemos utilizar Kubernetes para desplegar y operar estos servicios de red de forma extremadamente inteligente? Por supuesto. No necesitamos ningún sistema de gestión de red (NMS) o controlador de red propietario, podemos utilizar Kubernetes y obtener todos los beneficios de toda la comunidad de herramientas Cloud Native para mejorar drásticamente nuestras capacidades.

Esto cambia las reglas del juego.

En general, creo que la contenedorización en SONiC supone una enorme mejora con respecto a los sistemas operativos de red monolíticos. Es un enfoque más flexible, escalable, seguro, eficiente y abierto. Es exactamente lo que quieren los desarrolladores de aplicaciones cuando diseñan aplicaciones modernas. Ha llegado el momento de que la red se ponga a la altura del resto de la infraestructura moderna.

Hasta la próxima...

Josh Saul
Josh Saul

Josh Saul ha sido pionero en soluciones de red de código abierto durante más de 25 años. Como arquitecto, construyó redes centrales para GE, Pfizer y NBC Universal. Como ingeniero en Cisco, Josh asesoró a clientes del sector financiero de Fortune 100 y evangelizó nuevas tecnologías entre los clientes. Más recientemente, Josh dirigió equipos de marketing y productos en VMware (adquirida por Broadcom), Cumulus Networks (adquirida por Nvidia) y Apstra (adquirida por Juniper). Josh vive en Nueva York con sus dos hijos y es un ávido submarinista.