¿Cuáles son los mejores libros sobre la creación de aplicaciones web a gran escala?

Ese es un tema muy, muy amplio que requiere muchas habilidades diferentes para hacerlo bien. Ningún libro cubrirá todo lo que necesita saber, así que aquí hay algunos libros que encontré útiles en la construcción de sistemas para cientos de millones de usuarios cuando trabajé en LinkedIn:


Diseño de aplicaciones intensivas en datos


Entrega continua: lanzamientos de software confiables a través de la automatización de compilación, prueba e implementación


Ingeniería de confiabilidad del sitio: cómo Google ejecuta sistemas de producción


I Heart Logs: datos de eventos, procesamiento de flujo e integración de datos


Infraestructura como código: gestión de servidores en la nube


¡Suéltelo !: Diseñe e implemente software listo para producción


Hola, Startup: Guía del programador para crear productos, tecnologías y equipos (¡enchufe descarado!)


Consulte Recursos de inicio: Lectura recomendada para muchas más recomendaciones.

Últimamente no he estado mirando el mercado de libros técnicos muy de cerca, pero me sorprendería si hubiera un libro que cubriera suficientemente todos los temas que necesita comprender al crear aplicaciones web a gran escala. Sugeriría, en cambio, que obtenga una visión general de los elementos necesarios y luego busque libros sobre esos temas. Fuera de la cabeza, algunas cosas que sugeriría:

  • Replicación de bases de datos, agrupamiento y fragmentación
  • agrupación de servidores web
  • agrupación de aplicaciones (este es un tema muy amplio porque agrupar aplicaciones Go es muy diferente de agrupar aplicaciones Java, etc.)
  • almacenamiento en caché distribuido
  • tiendas distribuidas noSQL (Cassandra, MondoDB, etc.)
  • registro distribuido
  • balanceo de carga
  • agrupamiento distribuido
  • almacenamiento en caché de borde
  • Cifrado SSL con clústeres distribuidos
  • monitoreo de red
  • monitoreo de aplicaciones
  • informes
  • Sistemas de “control de misión”
  • prueba de automatización
  • integración continua
  • sistemas automatizados de construcción e implementación

Estos son solo algunos temas en los que puedo pensar en este momento, y cada uno de ellos es lo suficientemente profundo y amplio como para ser el foco de las tesis doctorales. Hay un tema completo sobre las redes de autocontrol y autocuración basadas en el trabajo de una startup de Silicon Valley por algunos doctores franceses en matemática que es el tipo de cosa que las empresas a escala de Internet miran. Y mi lista ni siquiera rasca la superficie de las consideraciones de hardware, las ubicaciones de los centros de datos, los procedimientos de operaciones (testigo de la reciente interrupción de AWS S3) y una miríada de otras consideraciones al tratar con aplicaciones a escala de Internet. Se requiere, como mínimo, cientos de personas altamente calificadas para mantener las luces encendidas en una gran operación.

More Interesting

¿Hay alguna forma de verificar las estadísticas de mi blog?

Si quiero crear aplicaciones basadas en la web, ¿qué lenguajes de programación debo aprender?

Si tuviera que construir Wikipedia desde cero en 2014, ¿cómo desarrollaría el software MediaWiki?

¿Por qué las aplicaciones web / API no tienen un método principal?

Cómo configurar notificaciones para publicaciones en redes sociales para todo el personal de la empresa

¿Es WordPress una buena plataforma para construir un MVP para una aplicación web relativamente simple?

¿Cómo externalizo la interfaz de usuario de una aplicación web dinámica?

¿Está bien implementar aplicaciones web usando Backbone.js con React.js para ver cosas?

¿Cuál es el futuro de la gamificación de aplicaciones web?

¿Existen bases de datos distribuidas disponibles gratuitamente que estén diseñadas para escalar a miles de millones de usuarios en tiempo real? Si es así, ¿Que son?

¿El futuro de PHP es más brillante que JSP y ASP debido a la política de código abierto que hace que cada vez más marcos estén disponibles para desarrollar aplicaciones web sostenibles? ¿Crees que en el futuro, PHP superará la necesidad de ASP y JSP?

¿Por qué se necesitan marcos en el desarrollo web? ¿Cómo ayudan y cómo se pueden usar?

¿Cuál es la diferencia entre las aplicaciones web progresivas y las aplicaciones web normales?

¿Cuál es el aspecto técnicamente más desafiante de Techmeme?

¿Cuál es la mejor manera de administrar un proyecto de aplicación web como la única persona que lo hace?