Saltar al contenido

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.

Katharina Weber2 min de lectura
Cubo claro con dos líneas divisorias horizontales azules y un lado suavemente sombreado en azul.

¿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 a ASES

Seguir leyendo

Todos los artículos

Desarrollo de software con ASES

Software a medida, aplicaciones web y móviles