
Foundations of Scalable Systems
Ian Gorton
- Editorial
- O'Reilly
- Año
- 2022
- Páginas
- ~340
- Nivel
- Intermedio
De qué trata
Guía práctica de diseño arquitectónico publicada por O'Reilly en 2022 y escrita por Ian Gorton, profesor de ingeniería de software en Northeastern University con amplia trayectoria en la industria de sistemas distribuidos. El libro aborda los fundamentos, patrones y compromisos tecnológicos necesarios para escalar aplicaciones de software cuando el crecimiento en tráfico, usuarios y volumen de datos convierte las decisiones tempranas de diseño en deuda técnica. Está enfocado a desarrolladores backend e ingenieros de software de nivel intermedio que dominen al menos un lenguaje como Java y tengan conocimientos básicos de redes y persistencia relacional.
El libro divide el aprendizaje en cuatro áreas esenciales: principios de escalabilidad y costes asociados (evaluación de compensaciones entre rendimiento, disponibilidad, seguridad y presupuesto); diseño de servicios escalables (balanceo de carga con herramientas como HAProxy y Nginx, almacenamiento en caché distribuida con Redis y Memcached, mensajería asíncrona, procesamiento serverless y microservicios); sistemas de datos distribuidos (mecanismos de replicación, sharding, modelos de consistencia eventual frente a fuerte y almacenes NoSQL como Apache Cassandra); y arquitecturas de eventos y procesamiento de streams en tiempo real utilizando plataformas como Apache Kafka.
Aporta una combinación equilibrada de rigor teórico y aplicación práctica, apoyándose en implementaciones de referencia y ejemplos de código en Java proporcionados a través del repositorio oficial de GitHub del autor para ilustrar clientes concurrentes, consumo de colas y acceso a datos. No plantea un proyecto integral único de extremo a extremo ni ejercicios formales de evaluación en el texto, pero clarifica cómo medir y modelar el rendimiento en entornos distribuidos. Es una lectura adecuada para consolidar las bases antes de abordar la complejidad de orquestadores avanzados en la nube.
- Escalabilidad
- Sistemas distribuidos
- Caché distribuida
- Redis
- Balanceo de carga
- Bases de datos NoSQL
- Consistencia eventual
- Apache Kafka
- Microservicios
- Java
- Arquitectura de software
¿Cómo enseña?
Teoría + práctica
- ✗ Sin ejercicios
- ✗ Sin proyectos

