CAPÍTULO 10 · Operar también es desarrollar
La web es una parte del camino de la medición
Si una lectura no aparece en la pantalla, el fallo no necesariamente está en la vista o en PostgreSQL. El dato recorre componentes de comunicación y servicios antes de llegar a la aplicación. Mirar únicamente los logs de Django puede dejarnos investigando el último tramo de un problema que ocurrió mucho antes.
Ubicamos el servidor LoRa y sus dependencias dentro del conjunto. Reconocemos la red, la máquina, el almacenamiento y las relaciones necesarias para que la información avance. Esa visión permite formular mejores preguntas: si el dispositivo transmitió, si el servidor recibió y si la siguiente integración pudo entregar el evento.
La arquitectura deja de terminar en el límite del repositorio. También aparece un costo de infraestructura que debemos sostener. Una máquina sobredimensionada consume presupuesto, pero reducirla sin comprender su trabajo puede afectar la continuidad. El siguiente paso consiste en relacionar capacidad, medición y recuperación antes de decidir un ahorro.
Leer esta parte dentro del relato completo →DEL RELATO A LA PRÁCTICA
Vamos a desarrollar esta decisión con su mapa, explicación, código y ejercicio.
MIRA · CONECTA · COMPRENDE
Conectividad, cómputo y recuperación
Las flechas muestran responsabilidades relacionadas; no representan un orden obligatorio de ejecución.
Selecciona una pieza para destacar su responsabilidad.
Leer la explicación del mapa
- Gateways. Emiten según protocolo del stack
- Red y NSG. Limitan rutas y orígenes
- VM LoRa. Ejecuta los servicios
- Estado y backup. Persistencia y restauración
01 / EL PROBLEMA
¿Para qué sirve?
Un servidor de red LoRa tiene dependencias operativas fuera de Django. Identificar cada componente permite decidir qué proteger y cómo recuperar el servicio.
02 / COMPRENDER
El concepto, explicado
Una VM ejecuta servicios; disco conserva estado; NIC conecta a VNet y NSG filtra tráfico. La necesidad de IP pública depende de cómo llegan gateways y administradores, no del simple hecho de tener una VM.
Define el protocolo real de tu stack LoRaWAN. Los puertos, autenticación y cifrado dependen del servidor y gateway; no copies reglas abiertas de un diagrama.
Backup, diagnóstico y monitoreo resuelven problemas diferentes. Un backup sin ensayo de restauración no demuestra recuperación, y un log de arranque no reemplaza métricas del servicio.
Una VM única es un punto de fallo. Según criticidad necesitas recuperación, redundancia o tolerancia a pérdida temporal. Decide RPO y RTO antes de recortar recursos.
Función de cada componente
| Componente | Función | Decisión operativa |
|---|---|---|
| VM | Ejecutar servicios | Medir capacidad y disponibilidad |
| Disco | Persistir sistema y datos | IO, backup y restauración |
| VNet y NIC | Conectividad | Rutas y segmentación |
| NSG | Filtrar tráfico | Protocolos y orígenes necesarios |
| IP pública | Entrada desde Internet | Solo si el diseño la necesita |
| Backup | Recuperar estado | Retención basada en RPO/RTO |
| Diagnóstico y monitoreo | Detectar e investigar | Señales útiles y costo de retención |
03 / CONSTRUIR
Implementación paso a paso
- Inventaría VM, discos, NIC, VNet, NSG, endpoints y datos persistentes.
- Dibuja rutas de gateway, API Django y administración con protocolos exactos.
- Limita reglas NSG por origen y destino, separando administración y servicio.
- Documenta secretos y configura acceso administrativo según la política elegida.
- Define backups y monitoreo del servicio, no solo de CPU.
- Restaura en un entorno de prueba y valida ingesta completa hacia Django.
04 / APLICAR
Ejemplo en SensorHub
# Inventario didáctico, no plantilla de infraestructura desplegable.
network_server = {
"compute": "VM dimensionada tras medir CPU/RAM/IO",
"state": ["configuración", "credenciales", "base de datos del stack"],
"network": ["NIC", "VNet", "NSG"],
"ingress": "solo protocolos del gateway realmente utilizados",
"administration": "acceso controlado, separado de la ingesta",
"recovery": {"rpo": "definir", "rto": "definir", "restore_test": "pendiente"},
}Cómo leer el ejemplo
- Los protocolos exactos se completan con documentación del stack elegido.
- Django recibe eventos mediante una integración autenticada y valida/idempotentiza entrada.
- Bastion, VPN u otras opciones tienen requisitos y costos propios.
Error habitual
Considerar opcional una IP sin revisar gateways que la usan o declarar alta disponibilidad por tener backups.
05 / PRACTICAR
Tu turno
El disco conserva datos pero la VM falla. Diseña cómo reconstruir servicio y probar la recuperación.
Ver solución orientativa
Recupera configuración, datos y secretos desde fuentes protegidas; recrea red y cómputo, valida stack y reconecta gateways. Comprueba tiempos reales y duplicados de eventos.
06 / VERIFICAR
Cómo sabes que funciona
- Inventario distingue cómputo, estado y red.
- Ninguna regla abre administración sin justificación.
- Restauración cumple objetivos medidos.
Para profundizar
Documentación oficial para comprobar configuración, permisos y condiciones vigentes. Revisión del tema: 2026-10-11.
CONTINUAR LA EXPERIENCIA
El siguiente paso del recorrido:
Optimizar costos de VM sin perder recuperación →Continuar en modo relato