🏗️ System Design & Arquitectura
Fundamentos de diseño de sistemas: escalabilidad, caché, particionado, replicación y los casos clásicos de diseño.
System Design & Arquitectura
El salto de «programo» a «diseño sistemas» se estudia aquí. System design es la disciplina de tomar decisiones sobre sistemas que aguantan carga, fallos y crecimiento, entendiendo los trade-offs de cada opción.
Esta sección incluye el contenido completo escrito en el sitio: 🏗️ Conceptos y casos te da los building blocks (escalabilidad, load balancing, caché, CDN, sharding, replicación) y el framework de 4 pasos con casos resueltos (URL shortener, chat). Luego profundiza en 🔀 Patrones avanzados y 🌐 Distribuidos. Debajo tienes los recursos de todo el mundo.
- Todo es un trade-off (consistencia vs disponibilidad vs latencia vs coste). 2. Se diseña para el fracaso: los fallos son normales. 3. Los números aproximados (back-of-the-envelope) valen más que la precisión. 4. Se piensa en garantías, no en features. 5. La evolución incremental gana a la revolución.
Estimaciones, escalabilidad, load balancer, caché, CDN, sharding y el framework de 4 pasos con casos resueltos.
Microservicios, sagas, transactional outbox, CQRS, event sourcing, circuit breaker e idempotencia.
Raft a fondo, Kafka, los papers fundacionales (Dynamo, Spanner) y los sistemas reales.
Nivel 0 · Fundamentos
Conceptos base
Escalabilidad, latencia, CAP, load balancers, caching, sharding.
- Designing Data-Intensive Applications (Kleppmann)📖 LibroENPagoEL libro #1. Los capítulos 1-6 cubren replicación, particionado, transacciones y consistencia. Póster gratuito de latency numbers en su web.La base teórica de todos los sistemas de datos modernos.
- System Design Primer (Donne Martin)🧭 GuíaENGratis~366k estrellas. Índice enciclopédico de temas + tarjetas Anki + 8 casos resueltos. Traducción al chino y coreano en el repo.CAP, caching, sharding, load balancing, DNS, CDN… todo explicado.
- High Scalability📝 BlogENGratisEl blog legendario con análisis de arquitecturas reales y post-mortems («Lessons learned»).Cómo escalan de verdad los grandes sistemas.
- ByteByteGo🎓 CursoENMixtoLa newsletter tech #1 (+1M suscriptores) con diagramas clarísimos, y un curso de entrevistas de system design.Conceptos y casos explicados con diagramas.
- Grokking System Design Fundamentals🎓 CursoENPagoLos building blocks de system design: load balancing, caching, databases, APIs.Fundamentos en formato guiado.
- Scalability Lecture (Harvard)🎬 VideoENGratis1h que resume escalabilidad vertical/horizontal, caching, load balancing, replicación y particionado.Resumen visual de los conceptos clave.
- Fallacies of Distributed Computing🗃️ WikiENGratisLos 8 supuestos erróneos sobre redes. Obligatorio para la mentalidad distribuida.Por qué asumir que la red es fiable rompe sistemas.
Nivel 1 · Diseño de sistemas práctico
Casos clásicos y framework de diseño
Resuelve 8-10 casos tú mismo antes de ver las soluciones.
- System Design Interview (Alex Xu, vol. 1 y 2)📖 LibroENPagoLos libros de casos más famosos: vol. 1 clásicos, vol. 2 avanzados (event-driven, distributed cache).URL shortener, chat, feed, rate limiter, search, video streaming…
- Grokking the System Design Interview🎓 CursoENPago16 preguntas top de FAANG con un framework de 4 pasos (requisitos → alto nivel → componentes → escalar).El gold standard desde 2015.
- System Design Primer — soluciones🧭 GuíaENGratisSoluciones detalladas de 8 casos reales del repo.Pastebin, Twitter feed, crawler, key-value store, etc.
- System Design One (Neo Kim)📝 BlogENGratisNewsletter de nivel alto (2022-2025): gossip protocol, consistent hashing, time series.Casos y conceptos de nivel staff.
- Gaurav Sen — System Design (YouTube)🎬 VideoENGratisLa serie introductoria más popular, desde mensajería hasta key-value stores.Introducción visual a cada concepto.
- Tech Dummies (YouTube)🎬 VideoENGratisDesglosa casos reales (Uber, WhatsApp, Netflix) muy bien.Casos reales explicados paso a paso.
- How to ace a systems design interview (Palantir)📝 BlogENGratisEl clásico sobre cómo llevar la entrevista de diseño.El proceso mental del entrevistador.
Recursos chinos, japoneses y multilingües
Comunidades de todo el mundo.
- 美团技术团队 (Meituan Tech Blog)📝 BlogZHGratisEl mejor blog de ingeniería de China: alta concurrencia, sharding, caching, diseño de sistemas de pedidos. Activo hasta 2026.Casos reales de sistemas a escala china.
- 阿里云开发者社区 (Alibaba Cloud Dev)💬 ComunidadZHGratisIngeniería de Alibaba: middleware, RPC (Dubbo), colas, bases de datos distribuidas.Arquitectura de producción china.
- 极客时间 (GeekBang)🎓 CursoZHPagoCursos por columnas de arquitectura distribuida, muy valorados en China.Rutas de arquitectura en chino.
- 《凤凰架构》(Phoenix Architecture)📖 LibroZHPagoLibro chino moderno sobre arquitectura distribuida y microservicios, con versión web gratuita.Arquitectura distribuida en profundidad.
- Qiita — システム設計💬 ComunidadJAGratisComunidad #1 de Japón con artículos de diseño de sistemas.Diseño de sistemas en japonés.
- Software Design (revista mensual)📝 BlogJAPagoLa revista técnica mensual japonesa; los números especiales de sistemas distribuidos son excelentes.Profundidad japonesa de arquitectura.
- Web API: The Good Parts📖 LibroJAPagoEl estándar japonés de diseño de APIs.Diseño de APIs en japonés.
- InfoQ en Español💬 ComunidadESGratisTraducciones de artículos y videos de arquitectura y microservicios al español.Arquitectura en español.
- InfoQ France💬 ComunidadFRGratisArquitectura y sistemas en francés.Arquitectura en francés.
- CodelyTV🎓 CursoESPagoCalidad senior en español, orientada a DDD y arquitectura de software.DDD y arquitectura en español.
Usa el framework de 4 pasos: 1) requisitos y estimaciones, 2) diseño de alto nivel, 3) componentes y datos, 4) escalar y fallos. Resuelve cada caso en papel por tu cuenta ANTES de mirar la solución. Luego usa Pramp o interviewing.io para mocks reales.