Ir al contenido

Arquitectura de Software

La arquitectura de software en HERA es una decisión estratégica que impacta escalabilidad, costos y velocidad de entrega. Esta sección define los estándares que todo equipo debe seguir.

Toda decisión de arquitectura dentro del ecosistema HERA debe alinearse con estos principios:

El contenedor Docker es el contrato entre desarrollo e infraestructura. Todo lo que se despliega en HERA es un contenedor que cumple:

  • Imagen basada en Golden Images certificadas
  • Multi-stage build para minimizar superficie de ataque
  • Usuario non-root en runtime
  • Healthcheck definido
  • Variables de entorno para configuración (no archivos hardcodeados)

Las aplicaciones deben ser stateless — todo estado persistente vive fuera del contenedor:

EstadoDónde vive
Datos transaccionalesCloud SQL (PostgreSQL / MySQL)
CachéMemorystore (Redis)
ArchivosCloud Storage (GCS)
EventosPub/Sub
SesionesRedis o JWT stateless

Las interfaces entre servicios se definen antes de la implementación. El contrato OpenAPI/Swagger es un artefacto de primera clase, no documentación generada después.

Cada decisión de arquitectura debe pasar el filtro de Zero Trust:

  • Autenticación en cada llamada (no confiar en la red)
  • Autorización granular (mínimo privilegio)
  • Cifrado en tránsito (TLS obligatorio)
  • Secretos en Secret Manager, nunca en código

Las aplicaciones deben nacer con instrumentación:

  • Logs estructurados (JSON) con correlation ID
  • Métricas de negocio y técnicas expuestas
  • Traces distribuidos para operaciones cross-service

Antes de agregar un servicio o componente, pregunta: ¿es necesario? Cada servicio adicional es un costo operacional. Un monolito modular bien diseñado puede ser más eficiente que 15 microservicios prematuros.


DocumentoQué cubre
Clasificación de Servicios4 capas estratégicas, 13 categorías, naming convention, trazabilidad
Patrones de ArquitecturaMicroservicios, BFF, Event-Driven, Monolito Modular, API Gateway, CQRS
Estándares de ConfiguraciónContext-Aware Naming de 5 capas, secretos en GCP Secret Manager, 12 reglas mandatorias (R1–R12)
Estándares de EtiquetadoK8s labels, mapeo de product-manifest.yml, etiquetas app.kubernetes.io/*, trazabilidad por dominio

Toda nueva aplicación o cambio arquitectónico significativo debe pasar por una revisión de arquitectura antes de comenzar la implementación:

PasoResponsableEntregable
Propuesta de diseñoDeveloper / Tech LeadDocumento de arquitectura (ADR)
Revisión técnicaArquitecto + PlataformaFeedback y ajustes
Validación de seguridadSecurity EngineerAprobación de modelo de amenazas
AprobaciónTech Lead + ArquitectoGo/No-Go