Plataforma de Google

De Wikipedia, la enciclopedia libre
Saltar a: navegación, búsqueda
El primer rack de Google, de alrededor del 1999.

El buscador de Google necesita una gran cantidad de recursos computacionales para poder prestar un servicio rápido y fiable. La plataforma de Google es la infraestructura tecnológica que soporta sus páginas web, tal y como se ha señalado en los anuncios de prensa de la compañía. Las principales características de su arquitectura son, además de su enorme capacidad de procesamiento, el uso de clusters ejecutando Linux con su correspondiente balance de carga, así como la presencia de centros de datos en diferentes puntos geográficos que permiten una respuesta lo suficientemente rápida a las peticiones de los usuarios de alrededor del mundo.

Topología de red[editar]

Arquitectura típica de un balanceador de carga.
Un centro de datos donde se pueden ver varios racks.

A pesar de que no se conocen las cifras exactas, se estima que Google mantiene más de 2.000.000 de servidores,[1] ordenados en racks de clusters en varias ciudades del mundo. Los principales centros se encuentran en Mountain View (California), Virginia, Memphis Atlanta y Dublín. Hay otras instalaciones en construcción en The Dalles[2] y Saint-Ghislain.[3] En 2009 Google inauguró otra instalación ecológica en Council Bluffs cerca de una fuente abundante de energía eólica y de una red de fibra óptica. Gracias a la dispersión geográfica de sus servidores, Google puede ofrecer un servicio más rápido a los usuarios, lo cual es vital teniendo en cuenta que en el año 2005 Google había indexado 8.000 millones de webs.[4]

Cuando alguien intenta conectarse a Google, los servidores DNS traducen la dirección www.google.com a varias IP's distintas permitiendo que se distribuya la carga entre varios clusters. Cuando un dominio tiene varias IP's, como en el caso de Google, el orden en que los servidores DNS traducen las direcciones IP se calcula mediante el sistema de planificación Round-robin.

Cada cluster de Google tiene miles de servidores, por lo que cuando alguien se conecta a un cluster, se distribuye la carga de nuevo mediante el hardware del cluster para enviar la consulta al servidor web que esté menos ocupado en ese momento.

Los racks de Google están hechos a medida y pueden contener entre 40 y 80 servidores.[5] Cada rack tiene una conexión ethernet a un router local que a su vez se conecta al router central utilizando una conexión de 1 Gigabit.[cita requerida]

Distribuidor de Cargas.

Tipos de servidores[editar]

Google ordena los resultados de la búsqueda utilizando su propio algoritmo PageRank.. A cada página web se le asigna un número en función del número de enlaces de otras páginas que la apuntan, el valor de esas páginas y otros criterios no públicos.
Arquitectura básica del buscador Google.

La infraestructura de servidores de Google está dividida en varias categorías, cada una con un propósito diferente:[5]

  • Los distribuidores de carga aceptan la petición del cliente y la reenvían a uno de los servidores web de Google a través de servidores proxy Squid.
  • Los servidores proxy Squid aceptan la petición y devuelven el resultado desde la caché local si es posible y si no reenvían la petición al servidor web.
  • Los servidores Web coordinan la ejecución de las consultas enviadas por los usuarios y formatean el resultado utilizando el lenguaje HTML. La ejecución consiste en enviar peticiones a servidores de índices, fusionar los resultados, calcular su rango utilizado PageRank, elaborar un resumen para cada resultado, preguntar por posibles sugerencias a los servidores de ortografía y finalmente obtener una lista de anuncios del servidor de publicidad.
  • Los servidores de recolección de datos están dedicados permanentemente a navegar por Internet al estilo araña. Van actualizando el índice y las bases de datos de documentos con las páginas web que van encontrando y aplican los algoritmos de google para calcular el rango de cada página.
  • Los servidores de índices contienen un conjunto de trozos de índice. Devuelven una lista de id's de documentos, llamados "docid", de forma que los documentos a los que identifican contienen la palabra que el usuario está buscando. Estos servidores necesitan menos espacio en disco, pero en cambio soportan un carga de procesador bastante elevada.
  • Los servidores de documentos sirven para almacenar los documentos. Cada documento se almacena en docenas de servidores de documentos. Cuando alguien realiza una búsqueda, el servidor de documentos devuelve un resumen de la página basado en las palabras buscadas por el usuario. También puede devolver el documento entero directamente si se lo solicitan. Estos servidores requieren bastante espacio de disco.
  • Los servidores de anuncios (ad servers) gestionan la publicidad de los servicios AdWords y AdSense.

Hardware y Software de los servidores[editar]

Hardware original[editar]

Fotografía de un RS/6000.

El hardware original que utilizaba Google al poco tiempo de su fundación, cuando aún estaba en la Universidad de Stanford incluía los siguiente:[6]

  • Sun Ultra II con procesador de 200MHz dual y 256 MB de RAM. Esta era la máquina principal del sistema original.
  • Dos servidores Pentium II duales a 300 MHz donados por Intel que incluían 512 MB de RAM y 9 discos de 9 GB entre los dos servidores. Era en estos servidores donde se ejecutaba la parte principal de la búsqueda.
  • F50 IBM RS/6000 donado por IBM que incluía cuatro procesadores, 512 MB de memoria y ocho discos duros de 9 GB.
  • Dos armarios adicionales incluían tres discos duros de 9 GB y seis de 4 GB respectivamente que estaban conectados al servidor Sun Ultra II.
  • Un armario de expansión de discos de IBM con otros ocho discos duros de 9 GB donados por IBM.
  • Armario de disco duros casero que contenía 10 discos duros de 9 GB SCSI.

Hardware actual[editar]

Especificaciones:

  • Más de 15.000 servidores con velocidades comprendidas entre el Intel Celeron[5] de 533 MHz y el Pentium III a 1,4 GHz dual (a fecha de 2003). Según Paul Strassman Google tendría en 2005 unos 200.000 servidores[7] mientras que algunas fuentes indican que el número de servidores podría haber conocido y las cifras oficiales se mantienen poco precisas intencionadamente. Según una estimación del año 2000, la granja de servidores de Google estaba compuesta por 6000 procesadores, 12.000 discos duros IDE (dos por máquina) en cuatro centros físicos: dos en Silicon Valley y dos en Virginia.[8] Cada centro tenía una conexión de fibra óptica de 2488 Mbit/s y otra de 622 Mbit/s. Los servidores ejecutan un software llamado Google Web Server.

Proyecto O2[editar]

Actualmente Google está desarrollando un supercomputador en un centro de datos en The Dalles. El proyecto se llama "Proyecto O2"[9] y se espera que incremente sustancialmente la capacidad de su red global actual permitiendo ejecutar miles de millones de búsquedas al día y un catálogo de otros servicios que cada vez crece más.[9] El nuevo complejo tiene el tamaño de dos campos de fútbol con torres de refrigeración de cuatro pisos.[10]

Operación de servidores[editar]

La mayoría de operaciones son de solo lectura. Cuando se necesita una actualización de datos, las consultas se envían a otros servidores, para simplificar los problemas de consistencia. Las consultas se dividen en subconsultas y cada una de ellas se envía por diferentes canales en paralelo, reduciendo así el tiempo de latencia.[5]

Para reducir los efectos de un posible fallo de hardware, los datos almacenados en los servidores se duplican utilizando tecnología RAID (a fecha de febrero de 2008). El software también está diseñado para gestionar los fallos. Por lo tanto, cuando un servidor se cae, los datos todavía están disponibles en otros servidores.

Referencias[editar]

  1. James Pearn. How many servers does Google have?. plus.google.com. 
  2. Carr, David F. "How Google Works." Baseline Magazine. 6 de julio de 2006. Consultado el 10 de julio de 2006.
  3. "[1]." Invest Wallonia. 27 de abril de 2007. Consultado el 10 de mayo de 2007
  4. "[2]." Council Bluffs. 9 de julio de 2007. Consultado el 21 de agosto de 2007
  5. a b c d Web Search for a Planet: The Google Cluster Architecture (Luiz André Barroso, Jeffrey Dean, Urs Hölzle)
  6. "Google Stanford Hardware." Stanford University (provided by Internet Archive). Consultado el 10 de julio de 2006.
  7. Strassmann, Paul A. "A Model for the Systems Architecture of the Future." 5 de diciembr de 2005. Consultado el 18 de marzo de 2008.
  8. Hennessy, John; Patterson, David. (2002). Computer Architecture: A Quantitative Approach. Third Edition. Morgan Kaufmann. ISBN 1-55860-596-7.
  9. a b Markoff, John; Hansell, Saul. "Google's quasi-secret power play." San Diego Union Tribune. J14 de junio de 2006. Consultado el 10 de julio de 2006.
  10. By JOHN MARKOFF and SAUL HANSELL Published: 14 de junio de 2006. The New York Times, Technology section. "[3]" Consultado el 13 de febrero de 2008

Servidores de Google[editar]

Como se puede apreciar en la fotografía, los servidores utilizan una placa Gigabyte modelo GA-9IVDP con 8Gb de RAM y dos procesadores (Intel o AMD). Además utilizan dos discos SATA de marca Hitachi. La fuente de alimentación es Magnetick, de la cual salen unos cables hacia una batería (no hay fuentes redundantes). Todo está encajado en un soporte metálico especialmente preparada para alojar todos estos componentes. No cuenta con tapadera, ventiladores, y las piezas están sujetas con cinta de velcro, para facilitar el cambio de componentes, en caso de que se estropeen. La placa base no está disponible para su venta al público, debido a que Google tiene un acuerdo de exclusividad.

Lo sorprendente de este diseño es la inclusión de una batería de 12V en cada servidor. Según declaraciones de Google, es un problema de costes respecto a un SAI que alimente a todos los servidores. Este modelo ya está patentado. La atracción de Google por el ahorro energético y la optimización data de los inicios de Google, pues ya preveían la cantidad inmensa de energía que necesitarían para alimentar todos los servidores en los siguientes años con la expansión del buscador.


Su fuente de alimentación esta especialmente creada por la empresa Magneteck, que suministra 12V a la placa y no 12V+5V como las convencionales. En la pegatina de la fuente de alimentación se puede observar “Google Part Number”, que asegura la exclusividad con Google.

Google no usa servidores en su datacenter, sino que usa contenedores con 1.160 servidores en su interior. No es la única empresa que utiliza contenedores con servidores dentro, ya lo hace Sun o Rackable Systems con su IceCube Modular datacenter, pero sí fue el primero.

Utilizan un contenedor de tamaño 1AAA y lo equipan con su puerta de entrada, su salida de emergencia, su sistema de refrigeración y todas las estanterías para meter todos los servidores como el de la imagen. Una vez montado el contenedor, es muy fácil trasladarlos de un lado a otro del planeta y montar un datacenter de Google en cualquier sitio.