Exposicion

9
FACEBOOK EQUIPO 5 De los santos Aguilar Adriana Moreno Barragán Carlos Alberto Ortega Torres Bárbara Sofía Rivera Gutiérrez Reyna de lo Ángeles

Transcript of Exposicion

Page 1: Exposicion

FACEBOOK

EQUIPO 5De los santos Aguilar AdrianaMoreno Barragán Carlos AlbertoOrtega Torres Bárbara SofíaRivera Gutiérrez Reyna de los Ángeles

Page 2: Exposicion

facebookFacebook es un sitio web de redes sociales creado por Mark Zuckerberg y fundado junto a Eduardo Saverin, Chris Hughes y Dustin Moskovitz. Originalmente era un sitio para estudiantes de la Universidad de Harvard.

Función y servicio que ofrece Grupos

Paginas

El Muro

Aplicativos entre ellos los Juegos.

DNS

EQUIPO 5De los santos Aguilar AdrianaMoreno Barragán Carlos AlbertoOrtega Torres Bárbara SofíaRivera Gutiérrez Reyna de los Ángeles

Page 3: Exposicion

SERVIDOR WEBLAS CIFRAS DE FACEBOOK, ¿CUÁN GRANDE ES?

• Facebook tiene más de 500 millones de usuarios activos.

• Facebook actualmente es la página web más visitada a nivel mundial, con sus 690 mil millones de páginas vistas (pageviews) por mes.

• Facebook actualmente abarca el 9.5% de todo el tráfico de Internet, superando por poco a Google.

• Cada día hay 100 millones de nuevas fotos subidas por los usuarios.

• La infraestructura de Facebook debe ser capaz de soportar servicios de plataforma para más de 1 millón de páginas web, y 550.000 aplicaciones que usan la plataforma Facebook Connect.

DATOS DE LOS SERVIDORES DE FACEBOOK

Facebook opera con por lo menos 9 Centros de Datos (granjas con miles de servidores) en ambas costas de Estados Unidos, todos alquilados, y esta en proceso de construir su primer Centro de Datos propio en Oregon. Si bien el 70% de los usuarios de Facebook son de países extranjeros, ninguno de los Centros de Datos de la compañía se encuentra fuera de Estados Unidos.

Cada Centro de Datos alberga a miles de servidores.

Facebook alquila el espacio de los Centros de Datos por venta al por mayor de terceras partes. Estos proveedores de infraestructura y terrenos, construyen los Centros de Datos (incluyendo un suelo elevado especial, los sistemas de energía y de enfriamiento) y luego alquilan todo exclusivamente a Facebook. En el modelo de esta venta al por mayor, una vez que Facebook pide un nuevo Data Center, lo obtiene en 5 meses, lo cual es una ventaja contra los 12 meses que se va a requerir en construir su nuevo Centro de Datos en Oregon. Esto le ha permitido a Facebook escalar bien sus recursos para su creciente mercado.

En Enero del 2010 Facebook anunció sus planes de construir su propio Data Center, un gigante edificio en Prineville, Oregon.

Facebook actualmente alquila 6 Centros de Datos en Silicon Valley, ubicados en Santa Clara y en San Jose, y al menos 1 en San Francisco. La empresa también alquila por lo menos 3 Centros de Datos en Ashburn, Virginia.

En cada Centro de Datos donde funciona Facebook, generalmente se consume de 2.25 megawatts y 6 megawatts de energía.

SERVIDORES DE FACEBOOK EN PRINEVILLE, OREGON

Estos son dos renders en 3D de lo que será el Centro de Datos de Facebook en Oregon:

¿CUÁNTOS SERVIDORES TIENE FACEBOOK?

Page 4: Exposicion

En Junio del 2010 se supo que Facebook funcionaba con 60.000 servidores en total, distribuidos en todos sus Data Centers, una creciente cifra comparada con los 30.000 que usaba en el 2009 o los 10.000 del 2008.

Esta gráfica muestra el crecimiento de la cantidad de servidores que ha experimentado Facebook..

¿QUÉ PROGRAMAS USA FACEBOOK?

Facebook fue desarrollado con software de código abierto. El sitio esta escrito primordialmente en PHP y sus bases de datos estan en MySQL. Para acelerar el sitio, el equipo de ingenieros de Facebook desarrolló un programa llamado HipHop, que se encarga de transformar el código PHP sen C++ ganando así sus beneficios de rendimiento.

¿CUÁNTO GASTA FACEBOOK EN SUS SERVIDORES?

Se especula que en el 2010 Facebook ha gastado en el alquiler de servidores alrededor de $50 millones de dólares al año, y en el 2009 gastó $20 millones.

Estos $50 millones al año incluyen solo los gastos de sus alquileres, el nuevo edificio en construcción de Prineville les costará entre $180 a $215 millones de dólares.

¿CUÁNTA GENTE SE NECESITA PARA CADA CENTRO DE DATOS?

Como es lo normal en muchas granjas de servidores de enorme tamaño, la infraestructura de los Centros de Datos de Facebook es altamente automática y se la opera con muy poco personal, usualmente no más de 20 a 50 personas por sitio.

Con esto Facebook tiene como 1 ingeniero por cada millón de usuarios, aunque las últimas mejoras en la tecnología elevaron la comparación a 1 ingeniero por cada 1,2 millones de usuarios.

Facebook se creó un 4 de febrero, quiero ofrecerles una lista en la que enumero siete de las tecnologías de que sostienen su plataforma de software.

Page 5: Exposicion

SISTEMA OPERATIVO1. Linux

Aquí sería más 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 páginas web, MySQL, el manejador de bases de datos, el que almacena de forma estructurada los datos de

los usuarios, Y PHP, el lenguaje de programación que automatiza la creación de páginas web. Facebook no sería posible sin Linux.

2. Cassandra

Y, ¿qué es lo que hace? Además de Facebook, sitios como Reddit y Twitter también usan Cassandra para almacenar los datos de los usuarios de forma estructurada y distribuida. Se dice que Cassandra pertenece a una segunda generación de bases de datos, a un paradigma llamado NoSQL. Facebook hizo público el código de Cassandra al tiempo que lo entregó a la comunidad Apache en el 2008.

Facebook no podría escalar sin Cassandra.

3. Hive

Este es un proyecto auspiciado por la Fundación Apache. Entre sus varias funcionalidades destaca una fundamental para Facebook: el análisis de grandes conjuntos de datos sobre los cuales es posible inquirir, buscar información en ellos.

Facebook no podría ofrecer su servicio de búsqueda sin Hive.

4. Thrift

Podría decirse que Thrift es un kit de herramientas, uno especializado en lainteroperabilidad de lenguajes de programación. A través de Thrift Facebook ha combinado el uso de lenguajes tan distintos entre sí como C++, Java, Python, PHP, Ruby, Haskell, y más, a lo largo de todos sus equipos de desarrollo.

Facebook no podría 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 distribución y registrode 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 mayoría con lenguaje PHP, por lo que su desempeño es crítico para todo el sistema. Siendo un lenguaje interpretado tiene

Page 6: Exposicion

limitaciones de desempeño que los lenguajes compilados no tienen. HipHop for PHP es un transformador de código PHP en código C++, por lo que el resultado es un software de igual funcionalidad, pero optimizado para un alto desempeño. De hecho, Facebook afirma que gracias a HipHop for PHP usa hasta 50% menos CPU que antes.

Facebook sería más lento sin la ayuda de HipHop para PHP.

7. Tornado

Este es otro kit de herramientas de software, en este caso especializado en losservicios web escalables --es decir, los que crecen sin afectar el desempeño o las funciones del sistema--. En particular, es capaz de gestionar miles de conexiones web de forma simultánea y veloz. Está escrito en el lenguaje Python y su diseño está basado en el que tiene FriendFeed.

S.G.B.DRocksDB está diseñado para cargas de trabajo embebido, aunque el equipo ha dicho que puede usarse para una base de datos cliente/servidor. RocksDB está construido sobre LevelDB para ser escalable y correr en servidores que tengan muchos núcleos. Está diseñado para almacenar los datos de manera eficiente además.El proyecto RocksDB empezó en Facebook como un experimento para desarrollar una base de datos eficiente que use almacenamiento flash para las cargas en el servidor. Es una biblioteca en C++ que puede ser usada para guardar llaves y valores en donde dichos elementos pueden tener un tamaño arbitrario de bytes. RocksDB puede afinarse para correr en datos que estén en memoria pura, en memoria flash, discos duros o HDFS. Soporta varios algoritmos de compresión y tiene buenas herramientas para apoyo en producción y depuración. El equipo de Facebook empezó por medir los parámetros de LevelDB, pero no cumplió con las necesidades de las cargas de trabajo de Facebook. De acuerdo al equipo de RocksDB: “Los resultados del benchmark fueron en un principio asombrosos, pero nos dimos cuenta pronto que estos resultados eran para bases de datos que eran más pequeñas que el tamaño de la RAM en la máquina de prueba, en donde toda la base de datos cabía en una página del caché del sistema operativo usado. Cuando medimos el desempeño con una base de datos cinco veces más grande en la memoria principal, los resultados fueron lamentables”. El equipo entonces desarrolló RocksDB e hizo las pruebas correspondientes, mostrando que su sistema sobrepasa las posibilidades de LevelDB. El equipo indica: “Hallamos que el proceso de compactación en un solo hilo de ejecución de LevelDB era insuficiente para las cargas del servidor. Notamos frecuentemente problemas al escribir en LevelDB haciendo que el 99% de la latencia fuese muy grande. Encontramos que mapear un archivo en el caché del sistema operativo introduce cuellos de botella en el desempeño para las lectuuras. No pudimos hacer que levelDb consumiese todas las entradas y salidas ofrecidas por el almacenamiento Flash”. El benchmark y sus resultados se reportan en GitHub. El código fuente también está en ese sitio. El ingeniero de Faceboook, Dhruba Borthakur dio una plática introductoria sonbre RocksDB en la conferencia Data @ SACLE 2013 y se puede tener acceso a su plática (en pdf). Los usos sugeridos para RocksDB son aplicaciones con acceso a bases de datos de baja latencia, tales como aplicaciones que detecten spam o que necesiten rápido acceso a conjuntos grandes de datos. RocksDB puede ser usado en aplicaciones que consultan datos de Hadoop en tiempo real.

Page 7: Exposicion

NavegadorMarc Andreessen, fundador de Netscape Navigator, ha vuelto al panorama de Internet para formar parte de un proyecto (en fase de desarrollo) denominado Rockmelt, que podría resultar un navegador para Facebook, el cual incluirá su propio acortador de direcciones para navegar por Internet, al mismo tiempo que se mantiene disponible las funciones de la red social más popular del momento.

Entre el equipo que integran el proyecto del navegador para Facebook, aparecen nombres como Joe Hewitt (desarrollador de la aplicación de Facebook para iPhone), Blake Ross (desarrollador de Firefox) y parte del equipo de trabajadores de la empresa propietaria de Facebook.

Andreessen personalmente no ha invertido en el desarrollo de Facebook, pero sí es el cuarto miembro de la Junta Directiva de la red social. Como veis, los cabecillas del proyecto del navegador para Facebook son expertos veteranos de Internet, por lo que sí Rockmelt se convierte en lo que sus propietarios quieren que sea, podremos estar ante una nueva y potente competencia hacia Internet Explorer y Firefox.