El Ecosistema en Acción: Microservicios y Procesos Clave de CodeDesignPlus
En la primera fase de nuestra serie, construimos meticulosamente el escenario: una plataforma robusta, segura y escalable sobre Kubernetes. Ahora que el escenario está listo, es hora de presentar a los actores principales.
Este artículo es el prólogo de nuestra segunda gran fase. Actuará como una guía introductoria, dándote un tour completo del ecosistema de microservicios de CodeDesignPlus. Exploraremos el “qué” (los componentes), el “cómo” (la arquitectura interna) y el “para qué” (los procesos de negocio que resuelven), preparando el terreno para los próximos artículos, donde nos sumergiremos en el despliegue de cada pieza individual.
El Ecosistema de un Vistazo
Section titled “El Ecosistema de un Vistazo”Este primer diagrama muestra todos los microservicios base que componen nuestro ecosistema. Cada uno es una pieza de un rompecabezas más grande, con una responsabilidad única y bien definida.

La leyenda de colores indica los diferentes puntos de entrada (Entrypoints) que cada microservicio puede tener:
- 🟣 Rest: Para comunicación síncrona vía HTTP, ideal para frontends y clientes externos.
- 🟠 gRpc: Para comunicación síncrona de alto rendimiento entre microservicios.
- 🔵 Worker: Para procesos asíncronos que consumen eventos de un message broker.
Bajo el Capó: El Blueprint de un Microservicio
Section titled “Bajo el Capó: El Blueprint de un Microservicio”Para entender realmente cómo funciona nuestro ecosistema, es crucial saber que todos los microservicios comparten el mismo ADN arquitectónico. No son cajas negras dispares; todos están construidos a partir de un Arquetipo base que implementa patrones de diseño de software de primer nivel.
Este diagrama muestra las capas y patrones que viven dentro de cada microservicio:
-
Capa de Infraestructura (Naranja): Es la capa más externa, responsable de la comunicación con el mundo exterior. Aquí viven los Adaptadores de la arquitectura hexagonal, como los repositorios que hablan con la base de datos, los clientes de Redis para caché, o los Message Brokers para publicar eventos. También incluye los Ports, que son los puntos de entrada (Rest, gRpc, Workers).
-
Capa de Aplicación (Verde): Orquesta los casos de uso. Sigue el patrón CQRS, separando la lógica en:
- Commands: Operaciones que cambian el estado del sistema (ej.
CreateUserCommand
). - Queries: Operaciones que leen datos sin modificarlos (ej.
GetUserByIdQuery
). Cada comando y consulta es manejado por su propioHandler
dedicado.
- Commands: Operaciones que cambian el estado del sistema (ej.
-
Capa de Dominio (Púrpura): El corazón de la lógica de negocio. Utiliza los principios de Domain-Driven Design (DDD) para modelar el negocio a través de Aggregates, Entities, Value Objects y Domain Events. Es la capa más pura, sin dependencias externas.
Conoce a los Microservicios
Section titled “Conoce a los Microservicios”Aquí tienes una lista de los componentes que desplegaremos, cada uno con su propósito específico:
ms-catalogs
: Microservicio para la gestión de catálogos genéricos como tipos de documentos.ms-emails
: Microservicio para la gestión de envíos de correos electrónicos y la administración de plantillas de correo.ms-filestorage
: Microservicio para la gestión de almacenamiento de archivos con integración a múltiples proveedores.ms-licenses
: Microservicio para la gestión de licencias de software, la cual tiene asociada un conjunto de módulos.ms-locations
: Microservicio para la gestión de ubicaciones geográficas, incluyendo países, estados, ciudades, etc.ms-microsoft-graph
: Microservicio para la integración con Microsoft Entra ID y la gestión de Custom Authentication Extensions.ms-modules
: Microservicio para la gestión de módulos disponibles en la plataforma.ms-payments
: Microservicio para la gestión de pagos, incluyendo la integración con diferentes proveedores.ms-rbac
: Microservicio para la gestión de los permisos asociados a los roles (Control de Acceso Basado en Roles).ms-roles
: Microservicio para la gestión de roles del sistema.ms-services
: Microservicio para la gestión y descubrimiento de servicios disponibles en la plataforma.ms-tenants
: Microservicio para la gestión de inquilinos (tenants) en la plataforma.ms-users
: Microservicio para la gestión de usuarios y sus perfiles.
Un Vistazo a los Procesos Transversales
Section titled “Un Vistazo a los Procesos Transversales”Más allá de los componentes individuales, el verdadero poder del ecosistema reside en cómo orquestan flujos de negocio complejos. En artículos futuros, exploraremos en detalle procesos como los siguientes:
- Proceso de Registro de Usuario: Veremos paso a paso cómo la interacción entre Microsoft Entra ID, nuestras Custom Authentication Extensions, el
ms-microsoft-graph
y los eventos de dominio crea un flujo de registro seguro y desacoplado. - Proceso para Adquirir una Licencia: Analizaremos cómo los microservicios
ms-tenants
,ms-licenses
yms-payments
colaboran para gestionar la compra y asignación de licencias de software a un inquilino. - Proceso de Configuración Inicial: Mostraremos, a través de la interfaz gráfica, cómo un administrador puede realizar el “poblado de datos semilla” inicial, configurando roles, módulos, licencias y permisos para poner en marcha una nueva instancia de la aplicación.
Nuestro Viaje por Delante: Un Microservicio a la Vez
Section titled “Nuestro Viaje por Delante: Un Microservicio a la Vez”Este artículo ha sentado las bases. En las próximas guías de esta serie, nos sumergiremos en el despliegue y configuración de cada uno de estos microservicios, uno por uno. Para cada componente, cubriremos en detalle:
- El Helm Chart: Analizaremos su archivo
values.yaml
y lo desplegaremos en nuestro clúster. - La Configuración en Vault: Crearemos y poblaremos los secretos necesarios para que el microservicio se inicie y funcione correctamente.
- La Interacción y Uso: Veremos cómo interactuar con su API o cómo responde a eventos, para entender su funcionalidad en la práctica.
¡La base está construida y los actores están presentados! En nuestro próximo artículo, comenzaremos con el primer despliegue. ¡Prepárate para ver cómo toda nuestra infraestructura cobra vida