
Cosas que desearía haber sabido antes de trabajar con SONiC NOS - La perspectiva de un CCIE
Cuando se han pasado años dominando los sistemas operativos de red tradicionales (Cisco IOS, NX-OS, Junos), el paso a una plataforma desagregada como SONiC (Software for Open Networking in the Cloud) es una experiencia chocante. Como CCIE, pensaba que tenía las competencias básicas para manejar cualquier SO de red. SONiC me hizo sentir humilde. Es una plataforma potente, pero que exige una mentalidad y un conjunto de habilidades muy diferentes. Si está a punto de iniciar su viaje SONiC, aquí están las habilidades clave que me gustaría haber desarrollado de antemano.
1. Fundamentos de Linux más allá de lo básico
SONiC está construido sobre Linux, y me refiero a REALMENTE construido sobre él. A diferencia de los NOS tradicionales, donde el sistema operativo subyacente está oculto, SONiC te expone a todo - systemd, contenedores, scripts bash, y más. Linux básico no es suficiente. Necesitas sentirte cómodo con:
- Navegación por el sistema de archivos
- Lectura de registros en /var/log/
- Resolución de problemas de los servicios systemd (systemctl status, journalctl)
- Gestión de servicios en contenedores mediante Docker (docker exec, docker logs)
Si usted no ha tocado un CLI de Linux fuera de habilitar SSH o ping, se perderá rápidamente.
2. Comprender la arquitectura de contenedores
SONiC está basado en microservicios. Cada función de red (BGP, LLDP, DHCP relay) se ejecuta en su propio contenedor Docker. Es decir:
- Los registros son específicos de cada contenedor.
- Los espacios de nombres de red pueden aislar el tráfico.
- Los fallos pueden aislarse en un contenedor concreto sin afectar al resto del sistema.
Tuve que desaprender mis instintos de "SO monolítico", después de todo, crecí con Cisco IOS donde todo está centralizado. La resolución de problemas es muy diferente cuando las decisiones de enrutamiento se toman en un contenedor y las interfaces se gestionan en otro.
3. Trabajar con Redis y el modelo SONiC DB
SONiC utiliza una base de datos Redis como intermediario entre la configuración, el estado y la capa de abstracción de hardware subyacente. Hay varias bases de datos lógicas - CONFIG_DB, STATE_DB, APPL_DB - cada una con un propósito distinto. Usted necesita saber:
- Cómo consultar las entradas de la BD (redis-cli -n keys *)
- El esquema (ayuda para los modelos SONiC YANG)
- Cómo consumen datos de Redis los procesos swss
Ojalá me hubiera tomado más tiempo para entender el esquema de la base de datos de SONiC y el proceso de orquestación, me habría ahorrado muchos quebraderos de cabeza.
4. Git y navegación por el código fuente
SONiC es de código abierto. Cuando algo se rompe o no se comporta como se esperaba, hay muchas posibilidades de que tus búsquedas apunten a temas públicos de GitHub, incluso puedes leer el código fuente o, si eres atrevido, construir/depurar el sistema tú mismo. Ayuda tener un conocimiento sólido de:
- Conceptos básicos de Git (clone, diff, branch)
- Lectura de código Python/C++ (especialmente en swss, syncd, orchagent)
- Creación de imágenes mediante el sistema de compilación SONiC
Por cierto, si recibes asistencia sobre SONiC de un fabricante, integrador o socio, es probable que nunca tengas que hacer lo anterior, pero siempre intento aprender cosas nuevas.
5. Mentalidad DevOps y de automatización
SONiC se creó originalmente para operadores en la nube. Se desaconseja la configuración manual. Adoptar:
- Bloques de recursos Terraform
- Manuales Ansible
- Gestión de la configuración mediante config_db.json
- Gestión de imágenes y ZTP
- Canalizaciones CI/CD para cambios en la red
Si sigues editando configuraciones vía CLI línea a línea, lo estás haciendo mal.
Conclusión
SONiC no es sólo un NOS, sino una plataforma que habilita las capacidades futuras de la red. Recompensa a los ingenieros que piensan como SRE y penaliza a los que se aferran a los flujos de trabajo heredados. He aprendido mucho de mis experiencias con SONiC, pero si pudiera volver atrás, me prepararía más en Linux, contenedores y automatización. SONiC es el futuro de las redes abiertas, sólo tienes que estar preparado para subir de nivel cuando llegues allí.

Josh Saul
VP de Marketing de Producto
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).