Você está na página 1de 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.

Você também pode gostar