Modelo de despliegue S1 - JohannPaezU/MISW4501-MediSupply GitHub Wiki
Principios de despliegue
-
Cloud: Google Cloud Platform (GCP) multi-región.
-
Contenerización: Docker + Kubernetes
-
Balanceo y seguridad perimetral: Cloud Load Balancing + API Gateway.
-
Resiliencia: alta disponibilidad, replicación cross-region, backup automático, DR < 6h.
-
Desacoplamiento: microservicios escalados individualmente.
-
Datos críticos: PostgreSQL + Redis + Cloud Storage.
-
Mensajería/eventos: Pub/Sub para asincronía y desacople.
-
CI/CD: GitHub Actions
Descripción de nodos
Nodo: Cliente Web
-
Tipo: Navegador (Angular 17)
-
Rol: consumir APIs
Nodo: Cliente Móvil
-
Tipo: App nativa kotlin
-
Rol: interactuar con APIs y Pub/Sub
Nodo: CDN
-
Tipo: Cloud Storage + Cloud CDN.
-
Rol: servir contenido estático
Nodo: Load Balancer
-
Tipo: Cloud Load Balancing.
-
Rol: distribuir tráfico HTTPS a API Gateway
Nodo: API Gateway
-
Tipo: API Gateway GCP.
-
Rol: punto único de entrada, autenticación OAuth2/OIDC, routing.
Nodo: Kubernetes Cluster
-
Rol: ejecutar contenedores de microservicios.
-
Escalabilidad: Horizontal Pod Autoscaler (HPA) por servicio.
-
Alta disponibilidad: nodos en ≥ 2 zonas.
MS:
-
Ventas MS
-
Inventarios MS
-
Compras MS
-
Logística & Ruteo MS
-
IoT Telemetry MS
-
Notificaciones MS
-
Pagos Adapter
Nodo: Pub/Sub
-
Tipo: Google Pub/Sub.
-
Rol: transporte de eventos de dominio
-
Alta disponibilidad: gestionada por GCP.
Nodo: Base de datos
-
Tipo: Cloud SQL PosgreSQL.
-
Rol: almacenamiento transaccional por schema de microservicio.
Nodo: Almacenamiento de objetos
-
Tipo: Cloud Storage.
-
Rol: evidencias, documentos regulatorios
-
Acceso: Signed URLs.
Nodo: Servicios externos
-
Google Maps API
-
Pasarela de Pagos
-
Entidades regulatorias
Diagrama:
Enlace en HD: https://github.com/user-attachments/assets/e4ba750f-c28f-4f73-abc8-d391c98e1dd1