
Monolith to Microservices
Sam Newman
- Editorial
- O'Reilly
- Año
- 2019
- Páginas
- ~272
- Nivel
- Intermedio
De qué trata
Obra de referencia escrita por Sam Newman centrada en los procesos de descomposición, migración y refactorización arquitectónica para pasar de aplicaciones monolíticas a arquitecturas de microservicios sin detener la operación del negocio. Aunque es agnóstica respecto a lenguajes o frameworks concretos, se fundamenta en los estándares modernos de computación distribuida consolidados a finales de la década de 2010. Está dirigida a desarrolladores intermedios y senior, líderes técnicos y arquitectos de software con experiencia previa en el desarrollo y mantenimiento de sistemas empresariales que buscan acometer una modernización arquitectónica de forma segura y gradual.
El núcleo formativo del libro aborda un extenso catálogo de patrones de diseño orientados a descomponer tanto la lógica de aplicación como la capa de persistencia. Enseña técnicas contrastadas como Strangler Fig (higuera estranguladora), Branch by Abstraction, Parallel Run, UI Composition y Decorating Collaborator. Aborda con especial profundidad el desacoplamiento de bases de datos compartidas mediante Change Data Capture (CDC), motores de mensajería para sincronización asíncrona como Apache Kafka, el patrón Saga para la gestión de transacciones distribuidas y estrategias para reemplazar la integridad referencial por consistencia eventual, todo articulado bajo los conceptos de contextos delimitados (bounded contexts) de Domain-Driven Design (DDD).
El texto no propone la construcción guiada de un repositorio de código específico, sino que analiza escenarios arquitectónicos reales, diagramas de flujo y casos de estudio prácticos. Su principal valor es el pragmatismo con el que evalúa los costes ocultos y dolores de crecimiento de los microservicios: advierte con claridad cuándo no conviene migrar, analiza el impacto organizativo según la Ley de Conway y expone los retos de la observabilidad, la depuración distribuida y las pruebas entre servicios. Deja fuera la configuración detallada de orquestadores como Kubernetes o mallas de servicios (service meshes) para priorizar el diseño arquitectónico y la integridad de los datos.
- Microservicios
- Monolitos
- Patrón Strangler Fig
- Change Data Capture (CDC)
- Domain-Driven Design (DDD)
- Descomposición de bases de datos
- Patrón Saga
- Consistencia eventual
- Branch by Abstraction
- Arquitectura distribuida
¿Cómo enseña?
Teórico
- ✗ Sin ejercicios
- ✗ Sin proyectos

