Configuración óptima
Para aprovechar al máximo Midaz en producción, comienza con:- Desplegar en múltiples zonas de disponibilidad.
- Usar al menos 3 nodos worker con autoscaling.
- Separar cargas de trabajo (aplicación vs. base de datos).
- Aprovechar servicios administrados como RDS, ElastiCache y MongoDB Atlas.
- Aplicar las mejores prácticas de Kubernetes para resiliencia, seguridad y observabilidad.
- Automatizar backups y alertas desde el primer día.
Planificación de infraestructura
Arquitectura del clúster
Para asegurar resiliencia y rendimiento:- Despliega en múltiples zonas de disponibilidad.
- Usa al menos 3 nodos worker para alta disponibilidad.
- Habilita node autoscaling para absorber picos de carga de trabajo.
- Separa cargas de trabajo de aplicación y base de datos cuando sea posible.
Dimensionamiento de recursos
- Ajusta el tamaño de los nodos a las cargas de trabajo esperadas.
- Prioriza servicios críticos con recursos suficientes.
- Aplica resource quotas para evitar contención.
- Monitorea y ajusta continuamente basándote en el uso.
Almacenamiento
- Usa almacenamiento respaldado por SSD para todos los componentes de base de datos.
- Define storage classes apropiadas según el proveedor de nube.
- Aprovisiona volúmenes con margen para crecimiento.
- Para datos críticos, usa opciones de almacenamiento replicadas o altamente duraderas.
Arquitectura de base de datos y alta disponibilidad
Midaz usa CQRS (Command Query Responsibility Segregation) para separar limpiamente las lecturas de las escrituras. Esto te ayuda a escalar eficientemente y construir servicios tolerantes a fallos.PostgreSQL
- Usa un primary dedicado para escrituras y replicas para lecturas.
- Habilita replicación síncrona para datos críticos.
- Configura failover automático (por ejemplo, Patroni, AWS RDS).
- Monitorea replication lag y consistencia.
- Prefiere servicios administrados como AWS RDS o GCP Cloud SQL para resiliencia y automatización.
Redis / Valkey
- Despliega en modo cluster a través de múltiples zonas.
- Habilita failover automático (por ejemplo, Redis Sentinel o clustering nativo).
- Usa servicios administrados como AWS ElastiCache o GCP Memorystore para simplicidad y uptime.
MongoDB
- Usa replica sets con miembros a través de zonas.
- Monitorea transiciones de roles y lag.
- Programa backups regulares.
- Evita escribir en secondaries a menos que sea intencional.
- Usa servicios administrados como MongoDB Atlas o AWS DocumentDB para observabilidad, escalado y resiliencia.
Infraestructura de mensajería
RabbitMQ es esencial para desacoplar servicios y habilitar consistencia eventual en la arquitectura CQRS de Midaz:- Los servicios de comando publican eventos después de procesar escrituras.
- RabbitMQ enruta eventos a consumidores interesados a través de exchanges y queues.
- Los consumidores actualizan read models, disparan workflows o se integran con sistemas externos basándose en los eventos recibidos.
Estrategias de alta disponibilidad
Redundancia de servicio
- Despliega múltiples réplicas para cada servicio.
- Usa reglas anti-affinity para distribuir servicios a través de zonas.
- Aplica Pod Disruption Budgets para reducir el tiempo de inactividad durante actualizaciones.
Balanceo de carga
- Usa ingress controllers con health checks.
- Evita session affinity a menos que sea requerido.
- Habilita connection draining para despliegues suaves.
Consideraciones de seguridad
Seguridad de red
- Aplica Kubernetes network policies para controlar el tráfico.
- Asigna permisos mínimos a cada cuenta de servicio.
- Asegura el acceso externo con TLS.
- Restringe interfaces de administración con listas de IP permitidas.
Gestión de secretos
- Usa Kubernetes Secrets para credenciales y tokens.
- Rota secretos regularmente.
- Nunca codifiques secretos en duro en contenedores o archivos de configuración.
- Usa gestores de secretos externos para una postura de seguridad más sólida.
Monitoreo y observabilidad
Métricas
- Monitorea KPIs clave de aplicación e infraestructura.
- Establece umbrales de alerta accionables.
- Usa dashboards para visibilidad en tiempo real.
Registro de logs
- Centraliza logs a través de servicios.
- Usa formatos estructurados para mejor filtrado.
- Aplica políticas de retención y rotación de logs.
- Define alertas basadas en logs para eventos críticos.
Tracing
- Habilita distributed tracing a través de servicios.
- Muestrea traces para balancear rendimiento.
- Correlaciona traces con logs y métricas para visibilidad completa.
Alertas
- Crea alertas claras y confiables.
- Ajusta umbrales para reducir ruido.
- Enruta alertas a través de los canales correctos.
- Mantén runbooks para problemas recurrentes.
Estrategia de backup
- Automatiza backups regulares para sistemas críticos.
- Almacena backups en múltiples ubicaciones o regiones.
- Prueba procedimientos de restauración regularmente.
- Mantén documentación de backup actualizada y accesible.
Notas finales
Midaz está listo para producción por diseño. Cuando alineas tu infraestructura con su arquitectura, obtienes:- Separación limpia de lectura/escritura con CQRS.
- Compatibilidad plug-and-play con servicios administrados en la nube.
- Soporte incorporado para observabilidad, failover y operaciones seguras.
¿Qué sigue?
¿Quieres ayuda para escalar, migrar o reforzar tu entorno de producción?- Lee la guía de despliegue de Midaz.
- Contacta a nuestro equipo para soporte personalizado.

