Despliegue, seguridad y operacion
Modelo de despliegue
SPPD opera con una arquitectura distribuida desplegada sobre contenedores y manifiestos Kubernetes, con separacion entre frontend, backend de dominio y backend de orquestacion.
Ambientes
| Capa | DEV | UAT | PROD |
|---|
| Frontend | URLs apw-dev y assets dedicados | apw-uat | apw |
| API principal | Spring Boot con PostgreSQL | Spring Boot con PostgreSQL | Spring Boot con PostgreSQL |
| State machine | Spring StateMachine | Spring StateMachine | Spring StateMachine |
| Acceso | Realm Alpura / endpoints segun ambiente | Realm Alpura | Realm Alpura |
Seguridad arquitectonica
Controles base
- Autenticacion federada con Keycloak.
- Consumo de certificados y llaves OIDC.
- Control de acceso por roles y menu.
- Separacion funcional entre UI, API de negocio y orquestacion.
Riesgos prioritarios
| Riesgo | Severidad | Accion recomendada |
|---|
| Secretos en texto plano | Critica | Rotar y mover a Secret Manager o Vault |
ddl-auto: update en ambientes altos | Alta | Sustituir por migraciones versionadas |
| Endpoint de prueba expuesto | Media | Restringir por perfil o eliminar |
| Propagacion de token no estandarizada | Alta | Registrar interceptor global y contrato uniforme |
Observabilidad y gobierno
| Necesidad | Recomendacion |
|---|
| Trazabilidad funcional | Correlation ID transversal entre frontend, API y state machine |
| Auditoria | Historico de aprobaciones y transiciones versionado |
| Soporte operativo | Dashboards por capacidad y no solo por servicio |
| Gobierno | Catalogo vivo de contratos, dependencias y decisiones |
Criterios de calidad para evolucionar SPPD
- Ningun secreto debe residir en repositorio.
- Todo cambio de esquema debe pasar por migraciones controladas.
- Toda capacidad nueva debe publicar su contrato y sus dependencias.
- El estado de un folio debe ser explicable de punta a punta.