Vous êtes sur la page 1sur 3

http://alt1040.

com/2011/02/7-tecnologias-de-software-que-sostienen-a-facebook

Facebook es una empresa gigante, es la red de redes sociales, un tinglado complejsimo que evoluciona, escala y sencillamente funciona. Ms de 500 millones de personas usan y abusan de Facebook no slo para participar de la red sino tambin para vivir en ella. El resultado es una inmensidad de operaciones de cmputo coordinadas por una plataforma de hardware y software igualmente compleja y gigantesca, todo un reto para los ingenieros de la empresa. Ahora bien, a propsito de los 7 aos que cumpli Facebook el pasado 4 de febrero, quiero ofrecerles una lista en la que enumero siete de las tecnologas de que sostienen su plataforma de software. El punto es valorar los esfuerzos de Facebook por entregar el mejor de los servicios, sobre todo en trminos de disponibilidad, tiempo de respuesta y coherencia. Cada elemento de la lista es software de cdigo libre y abierto y, salvo Linux y Hive, los dems son una creacin de los empleados de Mark Zuckerberg. Es cierto es que la infraestructura de Facebook es mucho, pero mucho ms que slo siete tecnologas de software, sin embargo me atrevo a decir que sin estas que pongo a continuacin Facebook no podra ser quien es hoy en da.

1. Linux
Aqu sera ms preciso decir que se trata del ecosistema Linux, en particular de LAMP:

Linux, el sistema operativo que administrar los recursos de cada servidor en Facebook, Apache, el servidor de pginas web, MySQL, el manejador de bases de datos, el que almacena de forma estructurada los datos de los usuarios, Y PHP, el lenguaje de programacin que automatiza la creacin de pginas web.

Facebook no sera posible sin Linux.

2. Cassandra
Y, qu es lo que hace? Adems de Facebook, sitios como Reddit y Twitter tambin usan Cassandra para almacenar los datos de los usuarios de forma

estructurada y distribuida. Se dice que Cassandra pertenece a una segunda generacin de bases de datos, a un paradigma llamado NoSQL. Facebook hizo pblico el cdigo de Cassandra al tiempo que lo entreg a la comunidad Apache en el 2008. Facebook no podra escalar sin Cassandra.

3. Hive
Este es un proyecto auspiciado por la Fundacin Apache. Entre sus varias funcionalidades destaca una fundamental para Facebook: el anlisis de grandes conjuntos de datos sobre los cuales es posible inquirir, buscar informacin en ellos. Facebook no podra ofrecer su servicio de bsqueda sin Hive.

4. Thrift
Podra decirse que Thrift es un kit de herramientas, uno especializado en la interoperabilidad de lenguajes de programacin. A travs de Thrift Facebook ha combinado el uso de lenguajes tan distintos entre s como C++, Java, Python, PHP, Ruby, Haskell, y ms, a lo largo de todos sus equipos de desarrollo. Facebook no podra crear servicios de software a la velocidad que requiere sin la ayuda de Thrift.

5. Scribe
Lo que hace Scribe es muy sencillo: es un sistema de distribucin y registro de mensajes en los servidores, tolerante a fallas y capaz de funcionar sobre una gran cantidad de equipos. Facebook gestiona con mayor facilidad sus miles de servidores gracias a Scribe.

6. HipHop for PHP


Este es uno de mis favoritos. La parte visible de Facebook est escrita en su mayora con lenguaje PHP, por lo que su desempeo es crtico para todo el sistema. Siendo un lenguaje interpretado tiene limitaciones de desempeo que los lenguajes compilados no tienen. HipHop for PHP es untransformador de cdigo PHP en cdigo C++, por lo que el resultado es un software de igual funcionalidad,

pero optimizado para un alto desempeo. De hecho, Facebook afirma que gracias a HipHop for PHP usa hasta 50% menos CPU que antes. Facebook sera ms lento sin la ayuda de HipHop para PHP.

7. Tornado
Este es otro kit de herramientas de software, en este caso especializado en los servicios web escalables --es decir, los que crecen sin afectar el desempeo o las funciones del sistema--. En particular, es capaz de gestionar miles de conexiones web de forma simultnea y veloz. Est escrito en el lenguaje Python y su diseo est basado en el que tiene FriendFeed. Facebook no podra "sentirse" en tiempo real sin Tornado.

Vous aimerez peut-être aussi