Recibo de parte del Vicedecano de mi facultad Rolan Rober Bullain (gracias Roland ;)!!) este interesante artículo, el cual quiero compartir con ustedes. Es bueno saber que algunos dirigentes leen el blog, así están al tanto de las preocupaciones de la comunidad y puedan ventilarlas en algún marco propicio si se diera el caso, sin más los dejo con el artículo:
Aparte del ‘PageRank‘ (el sistema de clasificación de la importancia de cada web), una de las claves del éxito de Google es la tecnología de sus servidores.
Google atiende a más de 5,000 millones de búsquedas cada mes (unas dos mil por segundo), y esta cifra aumenta progresivamente cada día. Para atender todas estas peticiones, y buscar entre más de 3,000 millones de documentos, Google optó por la tecnología Linux.
Disponen de un clúster de cerca de 20,000 servidores repartidos en siete ‘data centers’. Estos centros de datos se encuentran situados en diversos puntos del planeta, como Washington D.C. (USA), Herndon (Virginia, USA), Santa Clara (California, USA) o Zurich (Suiza). Cada servidor dispone de un solo procesador Intel, y una memoria RAM que va desde 256 Mb a 1 Gb.
Entre estos ‘data centers’, Google utiliza su propio gestor de tráfico y su propio software de balanceo de cargas, para dirigir cada petición hacia el mejor servidor
En cada PC se encuentran uno o dos discos duros de 40Gb ó 75Gb, de marca IBM. Google prefiere este sistema distribuido de almacenamiento de datos, antes que uno centralizado. Las razones: es mucho más barato y tiene menos posibilidades de fallo.
En cada una de estas máquinas está instalado Linux RedHat. En mayo de 2002, Google llegó a un acuerdo con RedHat para que esta empresa le proporcionase el software del Sistema Operativo.
La elección de Linux fue sencilla para Google: el menor ratio coste/rendimiento, corre en simples PCs, y la posibilidad de personalizar cualquier parte del Sistema Operativo. De hecho, no solamente usan Linux en sus servidores, sino también en la mayoría de los PCs de los empleados. Una vez instalado Linux en cada equipo, los técnicos de Google, lo personalizan a su antojo. Ellos lo llaman ‘Googlelizar’ el Sistema Operativo con sus propias aplicaciones.
La mayoría de las aplicaciones están programadas en C++ (aunque también utilizan Python y PHP), y las herramientas que utilizan son ‘gcc’, ‘gdb’ y ‘gnats’ para el desarrollo y ‘p4’ para el control de las versiones. Google dispone de más de 100 desarrolladores en su plantilla.
Debido a la multitud de servidores de los que se dispone, el tamaño de estos es muy importante. Por ello, la compañía californiana Rackable Systems compacta para Google varios servidores en un espacio realmente reducido.
Referente a la seguridad, la mayoría de las máquinas de Google no están accesibles desde Internet, ya que se encuentran detrás de un router/firewall que lo impide. Las que sí están accesibles (los servidores web) son auditados periódicamente para encontrar posibles agujeros de seguridad.
Tomado de: http://google.dirson.com/
PD:Quizás te has preguntado si Google tiene algún servicio especializado para Linux, pues para asombro de muchos si lo tiene pero es muy poco conocido. ¿Cómo accedes al servicio? ¡Muy fácil! Solo debes poner el siguiente url en tu navegador preferido: http://www.google.com/linux. Ah, pero esto no es todo, en el 2008 Google lanzó un servicio de repositorios para las aplicaciones de Google Linux, en su página oficial viene una guía como configurar estos repos, eso si, en inglés, acá te dejo el enlace: http://www.google.com.cu/linuxrepositories/index.html
Comentarios ( 10 )
he visto algunos videos de estos datacenters, nada que ver con los monstruos que montamos para los proyectos en vnz..deberíamos aprender de esta gente. igual para la uci…las máquinitas viejitas que ya nadie quiere bien pueden formar un cluster tremendo para aumentar la rapidez de nuestras aplicaciones.
Realmente Google ha desarrollado muchísimas tecnologías que garantizan muy buenos resultados, todo sobre la base de Linux, vamos que incluso con su propio sistema de ficheros obtienen uno de los mejores sistemas de almacenamiento distribuidos (por no decir el mejor).
Esta informacion no es del todo acertada, al menos en lo referente al hardware, yo tengo por la casa algunas paginas web que baje hace unos 5 meses para una investigacion sobre clusteres, y ahi hacen una descripcion de los servidores de google, con fotos y todo. Mañana la traigo y si Dairo quiere puede postear algo mas actualizado. Lo de los discos IBM de 75 Mb data de hace mas de 8 años ya, ahora ellos han rediseñado sus datacenters, fabricando su propio hardware de bajo coste y alta eficiencia energetica en convenio con compañias como Gigabyte. Hay que destacar que la mayor preocupacion de Google es el consumo energetico, porque sus casi 500 000 servidores (en febrero de este año) consumen tanta energia como una ciudad pequeña.
Muy bueno el artículo. Creanme que al principio me tomo un poco de trabajo creerlo pero gracias a los links que pusieron pude acceder y verlo por mi mismo. Es increíble como algo tan sorprendente como el buscador de google y los distintos servicios que ofrecen están montados sobre estas maquinas. En lo personal me imaginaba decenas de miles de superordenadores haciendo posible este trabajo, y ya ven, nada mas errado. Como dijo el primer Jorge: ” Tenemos mucho que aprender de esta gente”, y mas si le sumamos a esto que somos un país sin mucho adelanto tecnológico.
Fe de errata, me referia a 75 Gb no a 75 Mb, mala mia …
Bueno Tank, yo también temí por si estaba desactualizado, pero la verdad no lo pude comprobar, otra vez por la cuenta 😛 jejee, si puedes mándamelo y edito el post con los datos correctos, gracias de antemano..
Tank, puedes pasarnos los links de la información que nos ofreces.
En el caso de la base de datos, ellos utilizan un sistema de almacenamiento de tipo NoSQL, sin garantías ACID, distribuido. Su nombre es BigTable. Saludos.
Exactamente Yusniel, la eficiencia de Google en el procesamiento de esta alta cantidad de datos es debido a dos proyectos fundamentales: BigTable y Map/Reduce
Ellos desarrollaron BitTable, que no es más que una base de datos del tipo documental o del tipo de almacenamiento clave-valor, en la cual su modelo difiere un poco del modelo relacional: las columnas no necesitan ser predefinidas y cada fila puede agregarse con cualquier conjunto de columnas. Las columnas vacías no se almacenan en lo absoluto.
La falta de un esquema definido puede ser muy atractivo para estas bases de datos en aplicaciones donde los atributos de los objetos no son conocidos de antemano, o cambian con frecuencia.
Basado en este modelo de BigTable, hay varios proyectos de código abierto que han querido imitarlo: Cassandra(http://cassandra.apache.org/) la cual es mi favorita, HBase (http://hadoop.apache.org/hbase/) e Hypertable (http://hypertable.org/)
Pueden conocer un poco más acerca de BigTable en este link: http://labs.google.com/papers/bigtable.html
Map/Reduce
Muy a la ligera, Map/Reduce es una forma de escribir trabajos de procesamiento por lotes sin tener que preocuparse por la infraestructura. Ha sido popularizado por otro de los trabajos de Google: http://labs.google.com/papers/mapreduce.html
Es un modelo o paradigma de programación diseñado para el procesamiento masivo de datos en paralelo, por lo que se pueden analizar Terabytes y Petabytes basado en este principio.
Un trabajo de procesamiento de datos en Map/Reduce puede ser paralelizado fácilmente y el programador no tiene que preocuparse por los detalles a nivel de sistema de sincronización, concurrencia, fallas de hardware, etc.
El proyecto líder de código abierto que implementa este paradigma de programación se llamado Hadoop (http://hadoop.apache.org), el cual es usado por disímiles compañías como Yahoo! (tiene su propia distribución de Hadoop enfocados en la seguridad usando Kerberos 5), Facebook, Orbitz, Ebay, Amazon, etc.
Les hablaría de Hadoop, pero creo que ya me he pasado. Para otra ocasión será. Saludos
Me faltó decir que Google desarrolló su propio sistema de ficheros distribuido llamado GFS(Google FileSystem). Pueden encontrar la información acá: http://labs.google.com/papers/gfs.html
Saludos