Elegir microservicios según los cambios independientes
Plantéese servicios separados si coinciden los límites de negocio, la responsabilidad sobre los datos y la necesidad de desplegar de forma independiente.

¿Qué cambio debe poder hacerse de forma independiente?
Distribuir una aplicación entre servicios no crea por sí solo evolución independiente. Si las mismas personas deben cambiar y desplegar todos los servicios juntos por cada regla de precios, la coordinación sigue existiendo. Se añaden llamadas de red y tareas de operación.
Microsoft describe despliegue independiente y responsabilidad propia de los datos como características importantes. Proponemos partir de un cambio concreto: ¿qué área de negocio debe asumirlo sin adaptar simultáneamente las demás?
Ejemplo: presupuestos y pedidos siguen juntos por ahora
Este producto y su funcionamiento son ficticios. Un equipo mantiene presupuestos, pedidos e informes. Las reglas de precios cambian juntas en presupuestos y pedidos. Los formatos de informe tienen otras necesidades de cambio.
Límite observado en el ejemplo | Decisión provisional | Qué debe respaldar la decisión |
|---|---|---|
Presupuestos y pedidos comparten el mismo cambio de regla de precios. | Desplegar juntos, con módulos internos claros. | Responsabilidades y accesos entre módulos están definidos expresamente. |
Los formatos de informe pueden cambiar de forma independiente. | Un módulo propio; examinar un servicio separado si se demuestra la necesidad. | Interfaz de datos estable, responsable de operación y actualidad necesaria de datos están claros. |
En este plan, la aplicación sigue primero como monolito modular: límites internos y despliegue común. Spring Modulith ilustra la diferencia entre interfaz pública de un módulo e implementación interna. Describir esa separación es útil sin elegir esa herramienta concreta.
Incluya la operación en la decisión
Un servicio de informes separado tendría que gestionar fallos de su fuente de datos. Alguien debería responsabilizarse de despliegue, supervisión y análisis de incidentes. El equipo también necesita reglas para que versiones antiguas y nuevas de la interfaz convivan durante la transición. Un proceso separado no basta.
Registre el motivo de una separación posterior: por ejemplo, necesidad real de despliegue independiente o carga que requiere otro tratamiento. Revise el acoplamiento, el acceso a datos y el esfuerzo operativo. Los módulos desplegados juntos también pueden estar bien estructurados. Un servicio bien delimitado puede justificarse antes de dividir el resto. El número de servicios no mide la calidad de esta decisión.
Fuentes
Escrito por
- Katharina WeberRedactora de software y tecnologíaKatharina Weber se encarga en ASES de los artículos sobre desarrollo de software. Escribe sobre las cuestiones que se plantean las empresas al elegir software, desarrollar nuevas aplicaciones y modernizar sus sistemas existentes.
Seguir leyendo
Todos los artículos


Desarrollo de software con ASES
Software a medida, aplicaciones web y móviles


