Repaso rápido
Repaso rápido: Automatización y programabilidad – CCNA
Esta ficha de repaso te ayuda a revisar los conceptos fundamentales de automatización, programabilidad y redes controller-based requeridos en el camino Cisco CCNA.
Lo que realmente debes saber
La automatización y la programabilidad se han convertido en una parte importante del CCNA porque las redes modernas no se gestionan solo mediante configuración manual desde CLI. Cada vez se usan más controladores, API, templates, herramientas de automatización, formatos estructurados y modelos programables.
Para CCNA no necesitas convertirte en desarrollador software avanzado, pero debes entender los conceptos fundamentales: qué son las API, cómo funciona REST, por qué se usan JSON y YAML, qué significa SDN, cuáles son las diferencias entre northbound y southbound API y por qué herramientas como Ansible o Cisco DNA Center ayudan en la gestión de redes.
El punto central es este: la automatización sirve para hacer que la red sea más coherente, escalable, rápida de gestionar y menos dependiente de configuraciones manuales repetitivas.
Conceptos clave
- Automation: uso de herramientas o scripts para ejecutar tareas repetitivas sin intervención manual continua.
- Programmability: capacidad de controlar dispositivos o servicios mediante código, API o modelos estructurados.
- API: interfaz que permite que sistemas diferentes se comuniquen.
- REST API: API basada en solicitudes HTTP y recursos.
- JSON: formato de datos estructurado muy usado en API.
- YAML: formato legible usado a menudo en archivos de configuración y automatización.
- SDN: modelo que separa el control plane y el data plane.
- Controller-based networking: red gestionada por un controlador central.
- Northbound API: API entre controlador y aplicaciones superiores.
- Southbound API: API o protocolo entre controlador y dispositivos de red.
- Cisco DNA Center: plataforma Cisco para gestión, automatización y assurance.
- Ansible: herramienta de automatización basada en playbooks.
- NETCONF: protocolo para configurar dispositivos de red de forma programable.
- RESTCONF: protocolo que expone datos de configuración mediante un enfoque REST.
Diferencias que no debes confundir
| Concepto | Significado principal |
|---|---|
| API | Interfaz entre sistemas |
| REST | Estilo API basado en HTTP |
| JSON | Formato de datos estructurado |
| YAML | Formato legible para configuraciones |
| SDN | Separación control/datos |
| Controlador | Gestión centralizada de la red |
| Northbound API | Controlador hacia aplicaciones |
| Southbound API | Controlador hacia dispositivos |
| Ansible | Automatización mediante playbooks |
| NETCONF | Configuración de red programable |
| RESTCONF | Configuración mediante modelo REST |
Por qué hace falta la automatización de red
La configuración manual dispositivo por dispositivo puede funcionar en redes pequeñas, pero se vuelve difícil cuando la red crece.
Problemas de la gestión manual:
- errores humanos;
- configuraciones incoherentes;
- tiempos largos;
- troubleshooting más complejo;
- dificultad para documentar cambios;
- dificultad para repetir procedimientos idénticos;
- poca escalabilidad.
La automatización ayuda a:
- aplicar configuraciones coherentes;
- reducir errores;
- acelerar tareas repetitivas;
- estandarizar procedimientos;
- documentar mejor;
- distribuir cambios en muchos dispositivos;
- integrar red, seguridad y sistemas IT.
Para CCNA debes recordar que automatización no significa eliminar el networking tradicional, sino gestionarlo de forma más eficiente.
API
Una API, Application Programming Interface, es una forma estándar mediante la cual un software puede comunicarse con otro software.
En networking, una API puede permitir:
- leer información de un dispositivo;
- enviar configuraciones;
- consultar estadísticas;
- crear objetos;
- modificar políticas;
- consultar un controlador;
- integrar la red con herramientas externas.
Ejemplo conceptual: en lugar de entrar en cada switch por CLI para comprobar el estado de las interfaces, un sistema puede consultar una API y recopilar automáticamente los datos.
REST API
REST es un estilo muy extendido para diseñar API.
Las REST API normalmente usan HTTP y operaciones como:
- GET: leer información;
- POST: crear un nuevo recurso;
- PUT: actualizar o sustituir un recurso;
- PATCH: modificar parcialmente un recurso;
- DELETE: eliminar un recurso.
Para CCNA debes reconocer sobre todo el significado general de los métodos HTTP.
Ejemplo:
- GET puede usarse para leer el estado de un dispositivo;
- POST puede usarse para crear un objeto;
- PUT puede usarse para actualizar una configuración;
- DELETE puede usarse para eliminar un recurso.
Códigos HTTP
Las API REST suelen devolver códigos de estado HTTP.
Algunos códigos comunes:
| Código | Significado |
|---|---|
| 200 | OK, solicitud correcta |
| 201 | Created, recurso creado |
| 400 | Bad Request, solicitud incorrecta |
| 401 | Unauthorized, autenticación ausente o incorrecta |
| 403 | Forbidden, acceso no autorizado |
| 404 | Not Found, recurso no encontrado |
| 500 | Server Error, error del lado servidor |
En los quiz CCNA puede aparecer el concepto de que un código 200 indica éxito, mientras que 404 indica recurso no encontrado.
JSON
JSON, JavaScript Object Notation, es un formato de datos estructurado muy usado en las API.
Está compuesto por pares clave-valor.
Ejemplo conceptual:
- hostname: Router1;
- interface: GigabitEthernet0/1;
- status: up.
JSON es muy usado porque es legible, ligero y fácil de procesar por aplicaciones y scripts.
Para CCNA debes reconocer que JSON suele usar llaves, pares clave-valor y estructuras anidadas.
YAML
YAML es un formato legible usado a menudo para configuraciones, automatización y playbooks.
Es común en herramientas como Ansible.
YAML usa indentación para representar la estructura de los datos. Esto lo hace legible, pero requiere atención a los espacios.
Para CCNA debes saber que YAML se elige a menudo para archivos de configuración y automatización porque es más legible para humanos que otros formatos.
JSON vs YAML
JSON y YAML pueden representar datos estructurados, pero suelen usarse en contextos ligeramente diferentes.
| Formato | Uso típico |
|---|---|
| JSON | API, intercambio de datos entre sistemas |
| YAML | Configuraciones, playbooks, automatización |
JSON es muy común en respuestas API. YAML es muy común en archivos escritos por operadores o herramientas de automatización.
SDN
SDN significa Software-Defined Networking.
El concepto principal es separar:
- control plane: decide adónde debe ir el tráfico;
- data plane: reenvía concretamente el tráfico.
En las redes tradicionales, cada dispositivo toma muchas decisiones localmente. En un modelo SDN o controller-based, un controlador puede tener una visión más centralizada de la red y distribuir políticas o configuraciones.
Para CCNA debes entender que SDN no significa que ya no existan routers y switches. Significa que el control y la gestión pueden ser más centralizados y programables.
Control plane y data plane
El control plane se refiere a decisiones y lógica.
Ejemplos:
- cálculo de rutas;
- información de routing;
- decisiones de forwarding;
- políticas;
- control de la topología.
El data plane se refiere al reenvío efectivo del tráfico.
Ejemplos:
- forwarding de paquetes;
- switching de tramas;
- aplicación práctica de las decisiones de forwarding.
Diferencia simple:
- control plane = decide;
- data plane = reenvía.
Controller-based networking
En una red controller-based, un controlador central gestiona dispositivos, políticas, configuraciones e información operativa.
El controlador puede:
- distribuir configuraciones;
- aplicar políticas;
- recopilar datos;
- monitorizar el estado de la red;
- automatizar actividades;
- proporcionar API;
- simplificar provisioning y troubleshooting.
Un controlador no elimina la necesidad de conocer routing, switching, seguridad y wireless. Los coordina de forma más centralizada.
Northbound API y southbound API
Estos dos conceptos son muy importantes.
Las northbound API son API entre el controlador y aplicaciones superiores, dashboards, orquestadores o herramientas externas.
Las southbound API o protocolos conectan el controlador con los dispositivos de red.
Diferencia simple:
- northbound = hacia aplicaciones y sistemas de gestión;
- southbound = hacia routers, switches, access points y dispositivos.
Ejemplo:
- un dashboard usa una northbound API para pedir datos al controlador;
- el controlador usa una southbound API o protocolo para configurar un dispositivo.
Cisco DNA Center
Cisco DNA Center es una plataforma Cisco para gestión y automatización de la red.
Puede usarse para:
- gestión centralizada;
- inventario de dispositivos;
- automatización de configuraciones;
- políticas;
- assurance;
- monitorización;
- troubleshooting;
- integración mediante API.
En el contexto CCNA, no hace falta conocer cada función avanzada, pero debes reconocer Cisco DNA Center como plataforma controller-based para gestión y automatización de red.
Ansible
Ansible es una herramienta de automatización muy usada para configuración y gestión.
Características importantes:
- usa playbooks;
- los playbooks suelen estar escritos en YAML;
- puede automatizar tareas repetitivas;
- puede configurar muchos dispositivos de forma coherente;
- usa módulos;
- es agentless en muchos escenarios, es decir, no requiere un agente instalado en el dispositivo gestionado.
Ejemplo conceptual: en lugar de configurar manualmente diez switches, un playbook Ansible puede aplicar una configuración estándar a todos.
Playbook
Un playbook es un archivo que describe tareas a ejecutar.
Puede incluir:
- dispositivos target;
- variables;
- tasks;
- módulos que usar;
- configuraciones que aplicar;
- verificaciones.
Los playbooks ayudan a hacer que las operaciones sean repetibles y documentadas.
Para CCNA debes conectar Ansible con YAML y con el concepto de automatización declarativa o procedimental mediante tasks.
NETCONF
NETCONF es un protocolo usado para instalar, modificar, eliminar y leer configuraciones de dispositivos de red.
Usa a menudo modelos de datos estructurados como YANG.
Conceptos importantes:
- gestión programable;
- configuraciones estructuradas;
- lectura y modificación del estado;
- enfoque más controlado que el screen scraping de la CLI.
Para CCNA, debes reconocer NETCONF como protocolo de configuración y gestión programable de dispositivos.
RESTCONF
RESTCONF proporciona una forma de acceder a datos de configuración y estado usando un enfoque similar a REST.
Usa HTTP y puede representar datos en formatos como JSON o XML.
Diferencia simple:
- NETCONF es un protocolo específico para gestión de configuraciones;
- RESTCONF expone datos de configuración usando principios REST.
Para CCNA debes saber que RESTCONF está conectado con programabilidad, API y modelos de datos.
YANG
YANG es un lenguaje de modelado de datos usado para describir configuraciones y estado de dispositivos de red.
YANG define la estructura de los datos que protocolos como NETCONF y RESTCONF pueden usar.
Para CCNA no hace falta escribir modelos YANG complejos, pero debes saber que YANG describe datos de red de forma estructurada.
Intent-based networking
Intent-based networking significa expresar qué se quiere conseguir, dejando al sistema la tarea de traducir esa intención en configuraciones y políticas.
Ejemplo:
- intención: el departamento guest debe acceder solo a Internet;
- sistema: aplica VLAN, ACL, políticas y configuraciones necesarias.
El concepto es importante porque muchas plataformas modernas intentan mover la gestión desde la configuración manual individual hacia el objetivo deseado.
Ventajas de la automatización
Las principales ventajas son:
- reducción de errores manuales;
- mayor velocidad;
- configuraciones coherentes;
- escalabilidad;
- documentación implícita mediante archivos y templates;
- repetibilidad;
- integración con otros sistemas;
- provisioning más rápido;
- troubleshooting más eficiente.
En una red grande, automatizar un cambio reduce el riesgo de tener dispositivos configurados de forma diferente por error humano.
Riesgos de la automatización
La automatización no está libre de riesgos.
Riesgos comunes:
- propagar rápidamente un error a muchos dispositivos;
- usar templates incorrectos;
- no probar cambios;
- gestionar mal credenciales o tokens API;
- falta de control de versiones;
- permisos excesivos para herramientas de automatización;
- poca documentación;
- ausencia de rollback.
Por eso automatización y change management deben trabajar juntos.
Version control
El version control permite rastrear cambios en archivos, scripts, templates y configuraciones.
Ventajas:
- saber quién modificó qué;
- volver a versiones anteriores;
- colaborar mejor;
- documentar cambios;
- reducir errores;
- apoyar auditorías y troubleshooting.
Git es un ejemplo común de sistema de control de versiones.
En el contexto CCNA, debes entender el valor del version control aunque no necesites convertirte en experto Git.
Troubleshooting de automatización y API
Cuando una automatización no funciona, debes comprobar:
- credenciales;
- tokens API;
- permisos;
- endpoint correcto;
- método HTTP correcto;
- payload correcto;
- formato JSON o YAML válido;
- conectividad hacia controlador o dispositivo;
- respuesta HTTP;
- logs de la herramienta;
- compatibilidad del dispositivo.
Ejemplo: si una API devuelve 401, el problema probablemente es autenticación. Si devuelve 404, puede que la risorsa o endpoint no exista.
Errores comunes en los quiz
- Pensar que la automatización sustituye completamente a los administradores de red.
- Confundir JSON y YAML.
- Pensar que YAML se usa solo para API.
- Confundir northbound y southbound API.
- Pensar que SDN elimina routers y switches.
- Confundir control plane y data plane.
- Pensar que REST es un protocolo de routing.
- Pensar que GET modifica configuraciones.
- Olvidar que POST, PUT, PATCH y DELETE pueden modificar recursos.
- Confundir Ansible con un protocolo de routing.
- Pensar que la automatización elimina la necesidad de pruebas y change management.
- Olvidar que un error automatizado puede propagarse muy rápidamente.
Mini escenario de examen
Un equipo quiere aplicar la misma configuración base a veinte switches. Hacerlo manualmente requiere tiempo y puede generar errores diferentes en cada dispositivo. La solución más adecuada es usar una herramienta de automatización, como Ansible, con un playbook y templates controlados.
Otro escenario: un dashboard debe leer información de un controlador de red. La comunicación entre dashboard y controlador ocurre mediante una northbound API.
Mini checklist antes del quiz
Antes de empezar el quiz deberías saber explicar:
- qué significa automatización de red;
- qué significa programabilidad;
- qué hace una API;
- qué caracteriza una REST API;
- la diferencia entre GET, POST, PUT y DELETE;
- qué indican códigos HTTP como 200, 401 y 404;
- qué son JSON y YAML;
- la diferencia entre JSON y YAML;
- qué significa SDN;
- la diferencia entre control plane y data plane;
- qué son northbound y southbound API;
- para qué sirve Cisco DNA Center;
- para qué sirve Ansible;
- qué son NETCONF, RESTCONF y YANG;
- por qué automatización y change management deben estar conectados.
FAQ
¿Qué significa automatización de red?
Significa usar herramientas, scripts, templates o controladores para ejecutar actividades de red de forma repetible y menos manual.
¿Qué son las API en networking?
Las API permiten que software, controladores y herramientas externas se comuniquen con dispositivos o plataformas de red.
¿Cuál es la diferencia entre JSON y YAML?
JSON se usa mucho para intercambio de datos mediante API. YAML se usa a menudo para archivos de configuración y playbooks porque es legible para los operadores.
¿Qué es SDN?
SDN significa Software-Defined Networking. Es un modelo que separa el control plane del data plane y permite una gestión más centralizada y programable.
¿Cuál es la diferencia entre northbound API y southbound API?
Las northbound API conectan controladores y aplicaciones superiores. Las southbound API o protocolos conectan controladores y dispositivos de red.
¿Para qué sirve Ansible?
Ansible sirve para automatizar configuraciones y tareas repetitivas, a menudo usando playbooks escritos en YAML.
¿Qué son NETCONF y RESTCONF?
Son tecnologías usadas para gestionar configuraciones y datos de dispositivos de forma programable y estructurada.
¿La automatización elimina los errores?
No. Reduce muchos errores manuales, pero si está mal diseñada puede propagar rápidamente errores en muchos dispositivos.
Ahora pon a prueba lo que has repasado
Después del repaso, pasa al quiz para comprobar si realmente has entendido los conceptos principales.