martes, 7 de septiembre de 2010

Facebook, otro caso de éxito Open Source

     Para muchos de nosotros, no es ningún secreto que muchas de las grandes empresas utilizan Software Libre y Open Source de forma bastante extensa y exitosa. Uno de esos casos de éxito es Facebook, la red social mas grande del mundo, con mas de 500 millones usuarios y que maneja unos 30 mil millones de objetos al mes según sus propias estadísticas.

     Para aguantar semejantes cargas de trabajo, manejar titánicas cantidades de información y ser escalable en el tiempo, Facebook se vale del Open Source. Como es de esperar, la base de esta gigantesca infraestructura, son los servidores LAMP (Linux, Apache, MySQL y PHP) aunque con algunas variantes y añadidos propios muy interesantes.
     Como señalan en una de sus páginas informativas, Facebook utiliza “Apache Cassandra” como sistema de almacenamiento distribuido, el cual les permite escalar fácilmente y a la vez no tener un punto único de fallo. Además han integrado al kernel Linux el modulo “FlashCache“, como apoyo para el sistema de archivos. Y una de sus piezas claves es el Framework “Tornado“, que les permite manejar varias conexiones simultáneamente, para que sus usuarios puedan trabajar en la red en “tiempo real”.
     Por supuesto, poseen varias otras herramientas muy importantes como Apache Hadoop, Scrib, Thrift y una que encontré muy interesante: HipHop for PHP, que transforma lenguaje PHP en C++ altamente optimizado. Pero estos chicos además hacen algo muy importante, contribuyen con otros proyectos Open Source, como memcached, Cfengine, MySQL y el mismísimo PHP. En esta otra pagina (una wiki), hablan más sobre los proyectos de código abierto.
     Mas allá de que Facebook sea cerrado (a diferencia de Diaspora), es una organización que se vale del Open Source y a su vez colabora con él, algo bastante ejemplar (dentro de ese contexto), y que nos muestra la importancia de, no solo utilizar, sino también retribuir algo de lo conseguido del código abierto, con trabajo y esfuerzo propio. Pero sin duda, lo que resulta especialmente destacable para nosotros, es la gran potencia que demuestra el Open Source, a la hora de servir de plataforma para servicios masivos y de alta disponibilidad, sin el cual difícilmente podría sustentarse esta gigantesca red social.
     Así es que ya lo saben, no es necesario invertir en costosos sistemas operativos cerrados, servidores web, bases de datos y amarrarse a cosas como ASP.net, para poder ofrecer servicios web de calidad (y en gigantesca cantidad).
     Sino mas bien, aprovechar el software Open Source existente, desarrollar lo necesario para lograr el producto final y contribuir con el ecosistema de código abierto para continuar con el ciclo y seguir mejorando. Creo que, dejando de lado temas de privacidad y otros asuntos controvertidos, Facebook es otro ejemplo y caso de éxito del Open Source.


Vía: Muy Linux