RICHARDS, MARK / DEHGHANI, ZHAMAK / FORD, NEAL / SADALAGE, PRAMOD
Introducción
1. ¿Qué pasa cuando no hay «Mejores prácticas»?
Parte I. Separar elementos
2. Acoplamiento exigente en arquitectura de software
3. Modularidad arquitectónica
4. Disgregación arquitectónica
5. Patrones de descomposición basada en componentes
6. Separar datos operativos
7. Granularidad del servicio
Parte II. Reensamblar elementos
8. Reutilizar patrones
9. Propiedad de datos y transacciones distribuidas
10. Acceso de datos distribuidos
11. Gestionar procesos de trabajo distribuidos
12. Sagas transaccionales
13. Contratos
14. Gestión de datos analíticos
15. Construir nuestro propio análisis de ventajas y desventajas
A. Referencias de conceptos y términos
B. Referencias de registros de decisiones arquitectónicas
C. Referencias de ventajas y desventajas
Índice alfabético
En arquitectura de software no hay decisiones fáciles. Sí hay muchas partes difíciles, problemas o cuestiones complicadas sin buenas prácticas, que nos obligan a elegir entre varias soluciones intermedias. Con este libro, descubrirá cómo pensar críticamente sobre las ventajas y desventajas relacionadas con las arquitecturas distribuidas. Además de las explicaciones teóricas, el presente volumen contiene ejemplos prácticos y conoceremos a la Patrulla Sysops, un grupo imaginario de profesionales de la arquitectura con los que estudiaremos la granularidad del servicio, cómo gestionar los flujos de trabajo, la administración y separación de contratos, las transacciones distribuidas y hasta la optimización de características operativas, como la escalabilidad, la elasticidad y el rendimiento. El propósito principal de este libro es proporcionar las herramientas para realizar análisis de ventajas y desventajas, para enfrentarnos a los problemas de arquitectura y tomar la mejor decisión en cada caso.* Analizar las ventajas y desventajas, y documentar las decisiones de manera efectiva.* Tomar mejores decisiones considerando la granularidad del servicio.* Comprender las complejidades de desmantelar aplicaciones rígidas.* Gestionar y separar contratos entre servicios.* Manejar datos en una arquitectura altamente distribuida.* Descubrir patrones para gestionar el proceso de trabajo y las transacciones cuando se separan aplicaciones.
Mark Richards es un activo arquitecto de software con experiencia en el diseño e implementación de microservicios, arquitecturas orientadas a servicios y sistemas distribuidos.