Mantener una aplicación como Facebook no es trabajo fácil y para hacerlo, Facebook cuenta con un equipo de ingenieros dedicados a la implementación de parches de actualización criticas y de nuevas funcionalidades. Un miembro del equipo de Ars Technica pudo visitar a este equipo de ingenieros y ver como realizaban una de estas actualizaciones, que metodologías usan para implementarlas y como se testean las nuevas funcionalidades antes de ser lanzadas al publico en general.
las cosas que mas me sorprendieron de la nota de Ars, fue que Facebook puede ser un solo archivo binario de 1.5GB (sin contar el contenido estático que esta en una CDN) y que para aplicar un nuevo release utilizan la tecnología de torrent para hacer llegar de manera mas eficiente y rápida la información del nuevo archivo binario a todos los servidores del sistema. Además desarrollaron un nuevo manejador de PHP que reduce el consumo de CPU de los servidores en un 50%
Otra cosa que me pareció bastante interesante es que el testing de las nuevas funcionalidades así como de la aplicación en sí, es realizado por todos los empleados de la compañía, que tienen acceso a una versión del sistema digamos “en crudo” con todas las nuevas funcionalidades a implementar y que incluye una herramienta para reportar errores, así llega mas rápido al equipo encargado de resolver estos errores.
No se pierdan la nota, aquí.