Saltar al contenido principal
Midaz está construido para escala, seguridad y claridad operacional. Esta guía le ayuda a configurarlo correctamente desde el principio, para que pueda minimizar el tiempo de inactividad, proteger sus datos y manejar con confianza cargas de trabajo de alto volumen en producción.

Configuración óptima


Para aprovechar al máximo Midaz en producción, comience con:
  • Implementación en múltiples zonas de disponibilidad.
  • Uso de al menos 3 nodos de trabajo con autoescalado.
  • Separación de cargas de trabajo (aplicación vs. base de datos).
  • Aprovechamiento de servicios administrados como RDS, ElastiCache y MongoDB Atlas.
  • Aplicación de mejores prácticas de Kubernetes para resiliencia, seguridad y observabilidad.
  • Automatización de copias de seguridad y alertas desde el primer día.

Planificación de infraestructura


Arquitectura del clúster

Para garantizar resiliencia y rendimiento:
  • Implemente en múltiples zonas de disponibilidad.
  • Use al menos 3 nodos de trabajo para alta disponibilidad.
  • Habilite el autoescalado de nodos para absorber picos de carga de trabajo.
  • Separe las cargas de trabajo de aplicación y base de datos cuando sea posible.

Dimensionamiento de recursos

  • Adapte los tamaños de nodo a las cargas de trabajo esperadas.
  • Priorice los servicios críticos con recursos suficientes.
  • Aplique cuotas de recursos para evitar contención.
  • Monitoree y ajuste continuamente según el uso.

Almacenamiento

  • Use almacenamiento respaldado por SSD para todos los componentes de base de datos.
  • Defina clases de almacenamiento apropiadas por proveedor de nube.
  • Aprovisione volúmenes con margen para crecimiento.
  • Para datos críticos, use opciones de almacenamiento replicadas o altamente duraderas.

Arquitectura de base de datos y alta disponibilidad

Midaz usa CQRS (Segregación de Responsabilidad de Comando y Consulta) para separar limpiamente lecturas de escrituras. Esto le ayuda a escalar eficientemente y construir servicios tolerantes a fallos.

PostgreSQL

  • Use un primario dedicado para escrituras, y réplicas para lecturas.
  • Habilite replicación sincrónica para datos críticos.
  • Configure conmutación por error automática (por ejemplo, Patroni, AWS RDS).
  • Monitoree retraso de replicación y consistencia.
  • Prefiera servicios administrados como AWS RDS o GCP Cloud SQL para resiliencia y automatización.

Redis / Valkey

  • Implemente en modo clúster en múltiples zonas.
  • Habilite conmutación por error automática (por ejemplo, Redis Sentinel o clustering nativo).
  • Use servicios administrados como AWS ElastiCache o GCP Memorystore para simplicidad y tiempo de actividad.

MongoDB

  • Use conjuntos de réplicas con miembros en diferentes zonas.
  • Monitoree transiciones de rol y retraso.
  • Programe copias de seguridad regulares.
  • Evite escribir en secundarios a menos que sea intencional.
  • Use servicios administrados como MongoDB Atlas o AWS DocumentDB para observabilidad, escalamiento 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 intercambios y colas.
  • Los consumidores actualizan modelos de lectura, activan flujos de trabajo o integran con sistemas externos basándose en los eventos recibidos.
Recomendamos usar un servicio administrado de RabbitMQ (como AWS MQ o CloudAMQP) en producción para optimizar operaciones y mejorar la confiabilidad.

Estrategias de alta disponibilidad


Redundancia de servicios

  • Implemente múltiples réplicas para cada servicio.
  • Use reglas de anti-afinidad para distribuir servicios entre zonas.
  • Aplique Presupuestos de Interrupción de Pods para reducir el tiempo de inactividad durante actualizaciones.

Balanceo de carga

  • Use controladores de ingreso con verificaciones de salud.
  • Evite afinidad de sesión a menos que sea necesario.
  • Habilite drenaje de conexiones para implementaciones suaves.

Consideraciones de seguridad


Seguridad de red

  • Aplique políticas de red de Kubernetes para controlar el tráfico.
  • Asigne permisos mínimos a cada cuenta de servicio.
  • Asegure acceso externo con TLS.
  • Restrinja interfaces de administración con listas de IP permitidas.

Gestión de secretos

  • Use Secretos de Kubernetes para credenciales y tokens.
  • Rote secretos regularmente.
  • Nunca codifique secretos en contenedores o archivos de configuración.
  • Use administradores de secretos externos para una postura de seguridad más fuerte.

Monitoreo y observabilidad


Métricas

  • Monitoree KPI clave de aplicación e infraestructura.
  • Establezca umbrales de alerta accionables.
  • Use paneles para visibilidad en tiempo real.

Registro

  • Centralice registros en todos los servicios.
  • Use formatos estructurados para mejor filtrado.
  • Aplique políticas de retención y rotación de registros.
  • Defina alertas basadas en registros para eventos críticos.

Rastreo

  • Habilite rastreo distribuido en todos los servicios.
  • Muestree trazas para equilibrar el rendimiento.
  • Correlacione trazas con registros y métricas para visibilidad completa.

Alertas

  • Cree alertas claras y confiables.
  • Ajuste umbrales para reducir el ruido.
  • Enrute alertas a través de los canales correctos.
  • Mantenga runbooks para problemas recurrentes.

Estrategia de copias de seguridad


  • Automatice copias de seguridad regulares para sistemas críticos.
  • Almacene copias de seguridad en múltiples ubicaciones o regiones.
  • Pruebe procedimientos de restauración regularmente.
  • Mantenga documentación de copias de seguridad actualizada y accesible.

Notas finales


Midaz está listo para producción por diseño. Cuando alinea su infraestructura con su arquitectura, obtiene:
  • Separación limpia de lectura/escritura con CQRS.
  • Compatibilidad plug-and-play con servicios administrados en la nube.
  • Soporte integrado para observabilidad, conmutación por error y operaciones seguras.
Revise su configuración regularmente, aplique estas mejores prácticas proactivamente y tendrá una base robusta lista para crecer con su negocio.

¿Qué sigue?


¿Necesita ayuda para escalar, migrar o fortalecer su entorno de producción?
I