</> CodeBooks
    ← Volver a Arquitectura de software (página 8)
    Portada de Software Architecture The Hard Parts

    Software Architecture The Hard Parts

    Neal Ford, Mark Richards, Pramod Sadalage, Zhamak Dehghani

    Editorial
    O'Reilly
    Año
    2022
    Páginas
    ~462
    Nivel
    Avanzado

    De qué trata

    Obra de referencia avanzada publicada por O'Reilly (finales de 2021 / edición de 2022) y escrita por Neal Ford, Mark Richards, Pramod Sadalage y Zhamak Dehghani (referentes y consultores de Thoughtworks). Concebida como una continuación profunda de Fundamentals of Software Architecture, se centra de manera deliberada en 'las partes difíciles' de los sistemas distribuidos y microservicios: aquellas decisiones de diseño donde no existen recetas mágicas ni mejores prácticas indiscutibles, sino únicamente compromisos y compensaciones (trade-offs). Está destinada a arquitectos de software, arquitectos de datos y líderes de ingeniería experimentados que ya dominan los estilos arquitectónicos básicos y enfrentan la fragmentación o modernización de arquitecturas complejas.

    El libro introduce un marco formal de análisis estructurado en torno a conceptos como los 'quanta' arquitectónicos (unidades independientes de alta cohesión funcional, síncrona y de datos) y cataloga los factores de integración y desintegración para definir el tamaño y granularidad exacta de los microservicios. Enseña a descomponer bases de datos monolíticas compartidas mediante patrones de migración, replicación y conceptos precursores de data mesh; aborda el dilema de la consistencia transaccional distribuida y eventual frente a modelos ACID a través del patrón Saga (evaluando con detalle la coreografía frente a la orquestación); y analiza el desacoplamiento de contratos de API, la gestión de código compartido frente a la duplicación estratégica y el diseño de flujos de trabajo asíncronos desacoplados.

    El hilo conductor práctico del libro sigue la saga narrativa del ficticio equipo 'Sysops Squad' en la empresa Penultimate Electronics, mostrando de manera iterativa los dilemas reales al romper un monolito central y evaluando el impacto de cada decisión sobre la latencia, la confiabilidad y la escalabilidad. No proporciona código ejecutable para compilar una aplicación de extremo a extremo, sino matrices analíticas y árboles de decisión que permiten modelar y defender elecciones complejas con rigor técnico. Su aporte es extraordinario para quienes diseñan sistemas a escala empresarial, siendo una lectura altamente recomendada tras haber consolidado las bases arquitectónicas y contar con experiencia directa en desarrollo de servicios en la nube.

    • Sistemas distribuidos
    • Microservicios
    • Análisis de trade-offs
    • Descomposición de monolitos
    • Granularidad de servicios
    • Transacciones distribuidas (Sagas)
    • Bases de datos distribuidas
    • Orquestación vs Coreografía
    • Consistencia eventual
    • Architectural Quanta
    • Sysops Squad (Caso de estudio)
    • Data Mesh

    ¿Cómo enseña?

    TeóricoPráctico

    Teoría + práctica

    • ✓ Incluye ejercicios
    • ✗ Sin proyectos

    Más de Arquitectura de software con nivel Avanzado