Cómo dividir monolitos por datos, no por código

Deja de dibujar diagramas. Dividimos un monolito con 500+ tablas y miles de millones de filas siguiendo las costuras de los datos. Esto es lo que funcionó.

lunes, 20 de julio de 2026 • 6 min de lectura • Equipo Q2BSTUDIO

Por qué los planes de microservicios fallan sin datos

En los últimos años, la migración desde arquitecturas monolíticas hacia ecosistemas de microservicios se ha convertido en un objetivo casi obligatorio para organizaciones que buscan escalar sus equipos tecnológicos y acelerar la entrega de valor. Sin embargo, en Q2BSTUDIO hemos observado una tendencia preocupante: la mayoría de estos proyectos se planifican como un ejercicio puramente de ingeniería de software, centrado en diagramas de componentes, APIs REST y contenedores. Se dibujan límites de dominio en pizarras digitales, se discuten patrones de diseño y se asume que la base de datos subyacente obedecerá con docilidad a esas fronteras teóricas. La realidad, demasiado frecuente, es bien distinta. Cuando finalmente llega el momento de mover los activos de información, el plan colapsa frente a una verdad incómoda: los datos no se adaptan a los esquemas, son los esquemas los que deben adaptarse a los datos.

Este fenómeno es especialmente agudo en aplicaciones a medida que han crecido orgánicamente durante una década o más dentro de una única instancia de base de datos relacional. Lo que comenzó como un modelo de datos limpio y normalizado, con el tiempo se convirtió en una red densa de dependencias donde las uniones transversales entre dominios son la norma y no la excepción. Los equipos de desarrollo, aprovechando la ausencia de restricciones físicas, construyeron informes que cruzan quince tablas, generaron vistas materializadas que alimentan media docena de módulos distintos y añadieron columnas de uso general que terminan siendo escritas por procesos a los que nadie les asignó propiedad. No se trata de malas prácticas aisladas, sino de la forma natural en que evoluciona un sistema cuando la proximidad de los datos hace que los límites de negocio parezcan irrelevantes. El problema no es técnico en origen, sino epistemológico: la organización perdió de vista dónde terminaba un contexto empresarial y dónde comenzaba otro, y esa amnesia se cristalizó primero en el esquema relacional.

La consecuencia directa es que cualquier intento de extracción guiado únicamente por la lógica de aplicación o por la estructura del código fuente está condenado a chocar con muros invisibles. En Q2BSTUDIO, cuando abordamos proyectos de modernización de custom software, invertimos deliberadamente el orden de análisis. Antes de proponer el primer servicio, realizamos una arqueología de la base de datos: mapeamos el grafo real de relaciones, identificamos qué tablas concentran escrituras desde múltiples orígenes, medimos volúmenes y tasas de crecimiento, y buscamos esas junturas naturales donde la cohesión interna es alta y el acoplamiento externo es bajo. Esas líneas de fractura, cuando existen, rara vez coinciden con los módulos de la interfaz de usuario ni con los paquetes del backend. A menudo descubrimos que un dominio de negocio aparentemente unitario está físicamente atomizado en decenas de tablas entrelazadas con otros contextos, o que una entidad secundaria ha crecido hasta convertirse en un cuello de botella de miles de millones de registros que ninguna migración masiva puede asumir en un fin de semana.

La estrategia que ha demostrado funcionar no consiste en ejecutar un gran plan diseñado en una sala de juntas, sino en tratar la descomposición como una serie de experimentos controlados y reversibles. Extraemos un candidato, movemos únicamente los datos que demuestran pertenecer a una sola jurisdicción, desplegamos el servicio en paralelo al flujo legacy y contrastamos resultados en producción. Si las métricas divergen, detenemos, ajustamos y reintentamos. Esta disciplina exige infraestructura que soporte la dualidad temporal, y ahí es donde las plataformas cloud AWS/Azure aportan una ventaja decisiva: la capacidad de escalar recursos de sincronización bajo demanda, mantener entornos de validación aislados y absorber picos de procesamiento sin comprometer la estabilidad operativa. La nube no es solo un destino de despliegue, sino el laboratorio que permite que los datos hablen antes de que la organización se comprometa con una frontera incorrecta.

El mecanismo técnico que hace viable este enfoque iterativo es la captura de cambios en la fuente, conocida como CDC. En lugar de caer en la trampa de las escrituras duales, donde cada nuevo servicio sigue alimentando el esquema antiguo y perpetuando el acoplamiento, establecemos un flujo unidireccional: la base de datos legacy permanece como fuente de verdad transitoria mientras los servicios extraídos reconstruyen su propio estado a partir de un stream de eventos. Así, cada servicio puede operar en paralelo, validar su coherencia y, solo cuando la confianza es suficiente, asumir la responsabilidad total de su dominio. Este método resulta particularmente útil cuando nos encontramos con tablas que resisten cualquier clasificación simple. Cuando un conjunto de datos es escrito por múltiples dominios y forzar su asignación a un único servicio generaría una maraña de llamadas remotas, optamos por reconocerlo como infraestructura de plataforma: un servicio propietario dedicado que desacopla las necesidades transversales del núcleo de negocio.

No obstante, incluso cuando la extracción de servicios avanza con éxito, existe un coste que rara vez se presupuesta en la fase de diseño: la desaparición de la consulta transversal libre. En el monolito, un informe que combinaba clientes, pedidos y facturación era una simple sentencia SQL con joins directos. Tras la división, esas tablas habitan en silos intencionales y esa operación ya no es posible sin infraestructura adicional. La organización debe construir pipelines de integración o vistas materializadas que recombinen los datos dispersos, y esa solución no es un gasto de migración puntual, sino un impuesto operativo permanente. Cada vez que un servicio modifica un esquema, alguien debe actualizar la lógica de recombinación, y ese alguien suele ser un equipo diferente al que originó el cambio. Para mitigar esta carga, en Q2BSTUDIO integramos frecuentemente capas de BI/Power BI que centralizan la analítica y el reporting sin someter a los servicios operativos a cargas de lectura agresivas ni a dependencias cruzadas. Separar la ruta operativa de la ruta analítica no es un lujo, sino una necesidad de arquitectura.

Durante estas transformaciones, la ciberseguridad adquiere una relevancia crítica que tampoco puede dejarse para el final. Cada pipeline de sincronización, cada réplica temporal y cada nuevo punto de exposición de datos multiplica la superficie de ataque. El tránsito de información sensible entre el legado y los nuevos servicios debe cifrarse, auditar y someterse a políticas de control de acceso estrictas desde el primer día. Paralelamente, en Q2BSTUDIO exploramos cómo los agentes IA pueden acelerar la fase de descubrimiento: alimentando modelos con logs de acceso a base de datos, esquemas y patrones de consulta, es posible identificar automáticamente dependencias ocultas, detectar anomalías en la sincronización de datos e incluso sugerir límites de dominio con una objetividad que los diagramas manuales rara vez alcanzan. La inteligencia artificial no reemplaza al arquitecto, pero elimina el ruido de la señal, permitiéndole concentrarse en decisiones estratégicas.

Al final, la lección que reiteramos en cada proyecto de modernización es que una descomposición exitosa no es un diagrama que se ejecuta, sino una hipótesis que se valida. Los límites de dominio en un sistema maduro no están donde el equipo de arquitectura desea que estén, sino donde los datos permiten establecerlos. Planificar en términos de negocio es indispensable, pero solo la evidencia empírica de la producción puede confirmar si esos límites son reales. En Q2BSTUDIO diseñamos aplicaciones a medida y estrategias de evolución tecnológica que parten de esta honestidad: reconocer que la arquitectura limpia es un horizonte, no un punto de partida, y que migrar hacia ella exige paciencia, infraestructura adecuada y la voluntad de dejar que los datos corrijan el rumbo antes de que el coste de la corrección sea prohibitivo. Porque cuando el código y la información discrepan, la información siempre gana.

NUESTROS SERVICIOS

Cómo podemos ayudarte

¿Tienes un proyecto en mente?

Cuéntanos tu visión y la convertimos en una solución de software. Sea cual sea el alcance, hacemos realidad tu idea.