jueves, 2 de agosto de 2012

Como funcionan los servidores de Google: Dónde y cómo almacenan toda la información



Uno no es consciente de la importancia que tiene un datacenter o un puñado de servidores hasta que no tienes la oportunidad de observarlos más de cerca. Por suerte o por desgracia, he conocido de cerca algunos datacenters de cierta envergadura y siempre he tenido fascinación por su funcionamiento y sus secretos. Y es que aunque disfrutamos plenamente de multitud de servicios y aplicaciones web, ¿nunca os habéis preguntado qué hay detrás? Y en el caso particular del gigante Google, ¿Qué infraestructura sostiene el buscador más popular del mundo?¿Qué hace que funcionen sus servicios al 99,9% de fiabilidad? Hoy vamos a fijarnos un poco más a fondo en cómo funciona Google y sus datacenters, explicado un poco para todos los públicos.

¿Qué es un Datacenter? ¿Para qué sirve?

Bueno, un datacenter (o Centro de Proceso de Datos) es una ubicación en la que se localizan todos los elementos necesarios para el calculo y procesamiento de datos de una organización. Suelen ser grandes salas debidamente acondicionadas, en las que encontramos tanto servidores como elementos de comunicación. La idea es centralizar en un punto todos los servicios que por ejemplo una empresa ofrece. Y hoy en día cualquier empresa mediana dispone de un centro de datos,ya sea una salita “cutre” donde alberga sus servidores como un centro de datos más profesional. Suelen estar equipados con potentes sistemas de ventilación para mantener una temperatura óptima para el correcto funcionamiento de los aparatos, gran cantidad de servidores, suelo técnico (falso suelo) por el que va el sistema de ventilación, buena canalización para el cableado y todo tipo de sensores de humedad, de temperatura, alarmas y sistemas de seguridad. También un sistema de alimentación eléctrica potente y uno alternativo en caso de fallar el principal.

Para cualquier empresa medianamente relevante su centro de datos, además de ser el cerebro de la empresa, es un elemento clave y como tal hay que cuidarlo y mimarlo. E invertir una gran cantidad de dinero en su mantenimiento. Toda la información necesaria para el funcionamiento de las empresas está en los servidores que utiliza. Y eso a día de hoy es vital, la información es el elemento indispensable sin el cual nada funciona. Así entendemos que un centro de datos es necesario para el correcto funcionamiento de los servidores y otros elementos electrónicos que dan servicio a la empresa y organización. Vamos, lo que viene siendo el cerebro.

¿Cómo funciona Google?

Poniendo como ejemplo una gran empresa como es Google, imaginad la infraestructura tan enorme que ha de disponer para poder ofrecer sus servicios ininterrumpidamente y con un margen de fallo tan ínfimamente pequeño (un 99,9% de servicio garantizado).  Pues hasta hace no demasiado todavía era una especie de secreto, tanto el funcionamiento como la localización de los datacenters del Gigante Google. Como tantas otras grandes empresas, Google ha mantenido cierto recelo a revelar su funcionamiento y organización interna en lo que a sistemas se refiere. Y es lógico, los sistemas son lo que mantienen vivo todo lo demás, y tanto Google como otros (Amazon, Facebook o Apple) dependen en cierta forma de ellos.


Se ha hablado del gasto que supone su mantenimiento, un poco del interior de los datacenters de Google y de cómo afecta en mayor o menor medida al ecosistema, y de cómo Google y otras empresas tratan de disminuir el impacto. Pero ¿qué servidores usa Google? ¿Cómo lo tiene organizado?

Bueno, a estas preguntas podemos responder a medias porque, aunque ha habido cierta apertura por parte de Google para conocer cómo es su estructura de sistemas, no se sabe todo y eso si que es un secreto “de estado”. Google hace sus propios servidores a medida desde hace unos cuantos años y monta sus datacenters. Decidió montarselo por su cuenta y ahora tiene 8 datacenters propios : 6 en Estados Unidos y 2 en Europa. Hay planeado construir 2 más en Asia y otro en EuropaPodemos consultar su localización en una página habilitada para ello. Es admirable cómo Google ha pasado del más absoluto secretismo a compartir bastante información sobre sus centros de datos.

Lo que realmente es un misterio es cómo es un datacenter de Google por dentro. No hay tours de vista ni se permite la entrada al publico en general. De hecho hasta el personal de Google que no esté autorizado no puede entrar. Las medidas de seguridad son una de las cosas que Google se toma muy en serio y no hay rincón que no esté debidamente vigilado mediante todos los métodos posibles: cámaras, detectores de calor, escáners de iris, etc. Decíamos que no se conoce gran cosa del interior, pero si en general cómo están diseñados. Los servidores que albergan los centros de datos de Google están concentrados en containers. Si, como los que transportan barcos y camiones de un lado a otro del mundo. Cada container puede contener 1160 servidores. Los containers se apilan de dos en dos y son totalmente independientes. En este vídeo podemos ver cómo es uno de estos containers y data center. Presumiblemente la gran parte si no todos los centros de datos de Google estén organizados de la misma manera, pues es lógico que se utilice como un estándar.



Como habréis podido observar el diseño de los servidores es minimo. Se optimiza hasta el último detalle para conseguir el máximo de eficiencia y de ahorro. No llevan carcasa, y llevan el hardware justo para poder trabajar. Todos ellos funcionan con una distribución de Linux totalmente personalizada por Google. Pero aunque no es un dato confirmado directamente por Google, si que se da por hecho que no sólo los servidores los hace Google. También todo el tema de comunicaciones (routers y switches) lo construye Google a su medida. Algo que tiene lógica teniendo en cuenta las necesidades específicas y la ingente cantidad de tráfico y de máquinas que Google alberga en estos momentos.

No se conocen números concretos en cuanto a la cantidad exacta de servidores que Google tendría actualmente. Aunque se puede estimar un cálculo teniendo en cuenta factores como el espacio de los centros de datos, o el consumo de energía. Se estima que actualmente Google dispondría de una cantidad que rondaría los 2 millones de servidores. Pero aunque es una estimación, quedaría corta a decir verdad, al menos en vista de una presentación de Jeff Dean de 2009 en la que habla de “Spanner”, que es el sistema que utiliza Google de almacenamiento y computación para sistemas distribuidos y que estaría preparado para aguantar hasta 10 millones de servidores a nivel global.

Como podéis ver, si habéis llegado hasta aquí, la complejidad y envergadura de los sistemas de Google es ciertamente impresionante. En la página de Google habilitada para conocer más detalles del funcionamiento de los centros de proceso de datos podremos saber qué hace Google para optimizar recursos, para ahorrar costes y en definitiva para ser más eficiente en sus sistemas. Lo cierto es que a este respecto hay abundante información en las páginas, e incluso podemos entrar en cada uno de los datacenters para conocer más detalles o buscar trabajo (si estás preparado, es una interesante oportunidad..). ¿Qué os parece? ¿Creéis que realmente son tantos los servidores y están tan bien organizados?

Fuente: Omicrono