miércoles, 26 de agosto de 2009

Aprendamos eficiencia con Google.

En este caso me gustaría hablar sobre la infraestructura sobre la que se apoya Google, que le ha permitido consolidarse como la primera compañía de internet en el mundo.

Para poder ofrecer este servicio, Google cuenta con cientos de miles de ordenadores, donde las operaciones y la eficiencia están estudiadas al milímetro.

Los servidores de Google no son robustas máquinas ni carísimos servidores sino ordenadores con componentes de prestaciones medias, que podríamos encontrar en cualquier tienda de ordenadores.

[Google server. Foto de: Stephen Shankland/CNET]

El procesador que emplean no es, ni siquiera, el último modelo del mercado. Google realiza un estudio de prestaciones para determinar cual es el procesador que tiene el mayor rendimiento. (potencia de computación/coste).

También presta mucha atención al consumo eléctrico de los equipos. No estamos hablando de unos pocos ordenadores, sino de alrededor de 1 millón de servidores y cualquier mínima mejora de consumo supone mucho dinero en la factura eléctrica de Google.

[Infraestructura en Google Datacenter. Foto de: Erwin Boogert]

Otro aspecto muy importante es el relativo a la disipación de calor. Parte de la energía consumida por los servidores se pierde generando calor, que es necesario evacuar para evitar sobrecalentamientos que dañen los equipos. Lo último que he leido es que Google quiere trasladar algunos datacenters a regiones más frías (como por ejemplo Islandia).

El hardware de sus servidores es modular y está totalmente optimizado. En caso de rotura del servidor basta con extraerlo de su lugar en insertar una placa nueva. En una misma placa base hay dos microprocesadores y dos discos duros (para ahorrar espacio). Todos los slots de memoria RAM están ocupados (lo cual permite realizar los cálculos más rápidos). Cada placa tiene una batería que hace de SAI en caso de fallo de alimentación (lo que mejora la escalabilidad de sus solución).

[Google server #2. Foto de: Stephen Shankland/CNET]

El software empleado en sus máquinas es una variante de LINUX. Cualquier otro software que requiriera licencias elevaría ostensiblemente el coste de inversión en servidores y probablemente también de su mantenimiento.

Las decenas de datacenters con los que cuenta Google se encuentran geográficamente distribuidos a lo largo del mundo, no al azar, sino lo más cerca posible de donde se genera el tráfico o donde las condiciones (temperatura, grandes nodos de comunicaciones, …) son más favorables.

El interfaz Google no tiene mucha carga gráfica, podríamos decir que es muy básico. Esto le permite ahorrar tráfico saliente en cada consulta y también reducir el tiempo de carga en el navegador remoto, de esta forma reducen, aunque sea de forma despreciable, el tiempo de presentación de los datos. Hasta tal punto llega esta obsesión minimalista, que Google no cierra a propósito los tags en HTML para acelerar la carga de su interface.

[Google Classic (necesita sello). Foto de: Boomerang.nl]

Hay un aspecto de la filosofía de los servidores de Google que me parece genial. En vez de invertir grandes cantidades de dinero en realizar el hardware robusto y redundante ante caídas, Google da por supuesto que los procesadores, los discos duros y las fuentes de alimentación son frágiles y se rompen. Su redundancia se realiza a través de software, y su variante de Sistema Operativo LINUX graba un mismo dato en varios discos duros de forma que si el servidor cae no se pierde la más mínima información.

Google estudia concienzudamente todos los detalles que afectan al coste, teniendo en cuenta no solamente la inversión inicial sino también el coste energético, el de mantenimiento, …

Así podríamos dedicar páginas y páginas a estudiar detalles que mejoran la eficiencia del servicio Google. Pero, como vemos, en internet no basta con ser eficaz (hacer) sino que se ha de ser eficiente (hacer con los mínimos recursos posibles).

¿Qué opinas?

[@] Dirson: Google desvela cómo son sus servidores web y sus datacenters
[@] Wikipedia:
Plataforma de Google
[@] YouTube:
Google container data center tour (eng)
[@] YouTube:
Google's Web Servers, Revealed (eng)
[@] Blog de E.Dans:
Las ventajas de una arquitectura globalmente distribuida
[@] Cnet news:
Google uncloaks once-secret server (eng)

7 comentarios:

Betoalicante dijo...

Te voy siguiendo.
Saludos.

Jo dijo...

Así me gusta!!! Yo también te sigo.

Para los que quieran seguir a Beto... Se le puede encontrar por aquí:

Blog de Beto

Beto en Flick

Saludos,

Anónimo dijo...

Hola Jose, soy Rubén,un antiguo compañero y proyectista que tuviste en Comagua.

Esto es un off-topic (aunque relacionado con Google), pero no sabía como ponerme en contacto contigo, y como no es nada importante, pues....

... creo que apareces en una de las imágenes. Si buscas en el cruce entre Pintor Cabrera y General O'Donnell y te fijas en la esquina donde está la tienda de Telefónica, diría que apareces (eso sí, con la cara difuminada según la política de privacidad de Google). Es posible que ya te hubieras dado cuenta, pero me ha parecido curioso ;)

Un saludo,
Vanvakaris

Jo dijo...

Que tal Ruben!!!

¿Cómo va el SAP?. Nosotros arrancamos con una nueva parametrización el 1 de Enero (espero).

El de la foto no soy yo. Está muy cerca de casa, pero por ahí sólo puedo pasar los sábados para hacer la compra(y normalmente voy con la familia).

Yo me crucé un día con el coche de Google en Alicante, pero iba camino del trabajo en coche. Fuí detrás de él un rato, así que pensé que aparecería en el Street view. Luego cuando cuando lo estrenaron fuí rápidamente al punto, pero no. Debía de tener las cámaras apagadas.

Si estas vacaciones vienes a Alicante, pásate un día a almorzar y nos cuentas.

Me ha alegrado leerte en mi blog. Saludos,

Jo dijo...

Aquí os dejo un enlace muy interesante donde Facebook describe las especificaciones de sus servidores y datacenters para que puedan ser empleados por cualquiera.

Jo dijo...

La seguridad también es importante en los centros de datos de Google. Entrada del blog de Enrique Dans Un data center de Google, por dentro

Jo dijo...

Mas sobre los centros de datos de Google