c.2 Título y Enlace del proyecto
Cologne DataHub: Arquitectura, Seguridad y Orquestación de una API de Geodatos
c.3 Nombre de los autores del proyecto
- Autor/a: Francisco Gómez Palomo
- Modalidad: Proyecto Individual (conforme al punto a. de la normativa).
c.4 Descripción
Este proyecto nace como evolución directa de un encargo real realizado durante mi movilidad Erasmus+ (VETMOB) en la empresa alemana Zentrum für Lehrerbildung (ZfL). El núcleo inicial consistía en el desarrollo de un backend ("Cologne DataHub") capaz de consumir, procesar y servir geodatos en formato GeoJSON provenientes del servicio WFS del catastro de árboles públicos de la ciudad de Colonia.
Para este Trabajo de Fin de Ciclo, el desarrollo de la aplicación se utilizará como base fundacional. El foco principal y el valor añadido del proyecto radican en el diseño e implementación de una infraestructura de sistemas completa, segura y automatizada a su alrededor.
Además de demostrar las competencias de un Técnico Superior en ASIR, este proyecto tiene un objetivo de impacto real: empaquetar el ecosistema "Cologne DataHub" mediante orquestación de contenedores y documentación técnica (en inglés), para que los alumnos de la University of Köln puedan desplegarlo como una solución "llave en mano" y utilizarlo de forma sencilla en sus propios estudios y prácticas.
c.5 Objetivos del proyecto
El proyecto persigue cumplir íntegramente con los resultados de aprendizaje del currículo de ASIR, dividiéndose en los siguientes objetivos:
- Seguridad Perimetral y Criptografía (Seguridad Informática): Desplegar un firewall/router basado en OPNsense para crear una arquitectura de red segmentada (DMZ en
192.168.113.0/24 y LAN en 10.10.10.0/24). Además, se fortificará el acceso público implementando limitación de tasa (Rate Limiting) para mitigar ataques DoS y se cifrarán las comunicaciones en tránsito mediante certificados SSL/TLS (HTTPS) autogenerados.
- Servicios Web y Alta Disponibilidad (Servicios de Red e Internet): Implementar BIND9 para la resolución de nombres de dominio internos y configurar Nginx como Proxy Inverso seguro en la DMZ para gestionar el balanceo, el cifrado y la limitación de peticiones hacia la API.
- Orquestación y Portabilidad (ASO): Contenerizar toda la infraestructura utilizando Docker y Docker Compose, permitiendo un despliegue rápido, reproducible y sin dependencias del sistema operativo anfitrión (facilitando su uso a los estudiantes de la universidad).
A su vez, se adoptará una cultura DevOps implementando un pipeline básico de Integración Continua (CI) con GitHub Actions para automatizar la validación del código y las construcciones de los contenedores en cada push.
- Automatización y Monitorización (Python / Sistemas):
- Programar rutinas automatizadas (
cron en Bash) para las copias de seguridad de los datos.
- Desarrollar un sistema de monitorización (Health Check) nativo en Python (sin dependencias externas) que audite la salud de los contenedores y los puertos, enviando alertas automáticas a un Webhook (p. ej. Telegram) ante cualquier caída del servicio.
c.6 Tecnologías utilizadas
- Backend y Lógica de Negocio: Deno 2.x, framework Hono (TypeScript).
- Bases de Datos (Modelo Dual): PostgreSQL (relacional, preparándose para usar PostGIS) y MongoDB (NoSQL, para el almacenamiento nativo de colecciones GeoJSON).
- Infraestructura y Redes: OPNsense (Firewall/Enrutamiento), BIND9 (DNS).
- Servidores Web: Nginx (Proxy Inverso).