Los problemas de la arquitectura microservicios
La arquitectura microservicios promueve la escalabilidad, bajo acoplamiento, el poder crear equipos mas pequeños de desarrollo mas centrados en un área particular del negocio, y muchas otras ventajas. Sin embargo no todo es color de rosa. Desarrollar microservicios tiene problemas bien identificados que dificultan su adopción. Los microservicios son un estilo arquitectónico, tampoco aplican a todos los casos de uso.
En esta entrada trataremos los 5 problemas que a nuestra consideración dificultarían la adopción de este estilo arquitectónico.
Problemas de la arquitectura microservicios
Enunciaremos los 5 problemas.
Alta dificultad para lograr un diseño adecuado
Es muy difícil definir lo que va en cada servicio, el diseño es muy complejo, en este aspecto es muy recomendado la aplicación de DDD, en esta entrada te hablamos mas del tema con una amplia explicación.
Además te recomendamos el libro Domain-Driven Design : Tackling Complexity in the Heart of Software. Escrito por Eric Evans.
Dificultad técnica superior
- Hay que lidiar con sistemas distribuidos.
- La consistencia siempre será eventual.
- Manejo necesario del canal de comunicación y sus imprevistos.
- Serán necesarias acciones compensatorias con SAGAs.
- Requiere de equipos maduros y capacitados.
Compleja gestión de los sistemas y la infraestructura
- Necesidad de implementar prácticas de CI/CD.
- Equipo de DevOps necesario.
Cada microservicio es una barrera de información
- Múltiples servicios distribuidos.
- Múltiples equipos de desarrollo.
- Difícil la gobernanza del sistema como un todo.
En este punto te recomendamos dar una mirada a PACT (Pruebas de contratos)
Los costes de operación son superiores
- Se vuelve imperante casi el uso de proveedores cloud como AWS, GCP o Azure.
- Si se usa Infraestructura propia debe incrementarse para evitar los problemas de la infraestructura compartida.
Los hemos resumido de una forma sencilla, en nuestro canal de Youtube tenemos un vídeo donde lo explicamos a profundidad.
Espero te haya gustado.