El servidor de datos más verde del mundo está donde menos me lo podría esperar. Justo debajo de la catedral de Helsinki. Para ser más exactos, se encuentra a unos 30 metros bajo tierra dentro de un antiguo refugio de guerra.
Lo que las compañías finlandesas Academica y Helsingin Energia han hecho es realmente interesante. Lo primero es que no utilizan energía para refrigerar el centro de datos sino que se aprovechan diréctamente del agua del mar, que evidéntemente en Finlandia debe de estar lo suficientemente fría.
O eso dice su dueño. Le llaman el Fort Knox Suizo y se encuentra emplazado en lo que antaño era un refugio nuclear en el los Alpes suizos.
El centro de datos está formado por dos bunkers independientes situados bajo tierra, en el corazón de la montaña, y unidos por un túnel subterráneo de 10 kilómetros de largo. La compañía que diseñó el refugio de datos ha aprovechado además los recursos de la montaña y la peculiar situación para refrigerar los servidores de manera natural. Así, todo el sistema de refrigerado se abastece de agua que proviene de un lago glaciar subterráneo.
El lugar para emplazar el refugio quizás no esté tan pensado, ya que como comentan en Wired, que publicó este mes un reportaje sobre tan peculiar lugar, en el valle cercano a la montaña se encuentra la mayor concentración de billonarios de todo el planeta, y aquí estoy especulando, quizás guarden más que datos en sus cajas acorazadas.
El refugio que tuvo un coste de construcción de alrededor de los 30 millones de euros, contiene lo último de lo último en cuanto a seguridad, reconocimiento facial, plásticos anti-bala, filtros de aire militares capaces de filtrar impurezas atómicas y químicas, hotel de emergencia y cámaras acorazadas cortesía de bancos suizos. Y por supuesto su funcionalidad más deseada es la que proviene de su uso original, puede sobrevivir a un ataque nuclear.
Si queréis conocer más sobre esta bestia de la seguridad os recomiendo ver el artículo de wired.
Hace unos meses, Tom Cook, Ingeniero de Sistemas de Facebook daba una charla en el evento Velocity 2010 de O'Reilly donde describía como es el día a día dentro del servicio de operaciones del gigante americano de las redes sociales.
La charla comienza con algunas estadísticas que le quitan el hipo a cualquiera:
- La gente pasa 16000 millones de minutos diarios en Facebook - Se comparten 6000 millones de piezas de contenido al mes - Se suben 3000 millones de fotos al mes - Hay un millón de implementaciones de Facebook Connect
A todo ello contribuye que 50 de los 100 sitios más visitados del mundo integren Facebook de algún modo, ayudando a llegar a los 400 millones de usuarios de este 2010. Para soportar esta carga de usuarios, Facebook tiene dos centros de datos. Uno en la costa Este y otro en la costa Oeste de Estados Unidos y están construyendo uno nuevo en Oregon. Todos sus servidores utilizan Linux y su distribución es CentOS.
Nada más comenzar la charla uno se da cuenta de que Facebook es un lugar donde la opinión de los ingenieros tiene realmente mucho peso, para bien o para mal. Está claro que no es trata de un lugar habitual. Algo que me ha sorprendido por ejemplo es que la propagación de parches y cambios a producción se hace con BitTorrent, moviendo ese código a más de diez mil servidores. Otro uso interesante de BitTorrent.
Pero hay cosas todavía más sorprendentes. Facebook está hecho en PHP. Sin embargo parece que el rendimiento llegó un punto en el que no era aceptable. Lejos de cambiar de plataforma, ya que a sus ingenieros les gusta PHP, crearon una herramienta interna para traducir el PHP a C++, compilándolo después con g++. El resultado fue un 50% de aumento en el rendimiento que podríamos trasladarlo, aunque no sea estríctamente así, a un 50% menos de servidores. Sea como sea, el crear un traducor de PHP a C++ no parece que sea el tipo de decisión recomendable para todas las compañías que quieran más rendimiento.
Otro modo que tienen de aumentar el rendimiento es utilizar cachés (Memcached) y una enorme cantidad de memoria RAM: más de 300Tb de datos en vivo en diferentes cachés. Utilizan MySQL en la base de datos. Sobre MySQL en Facebook ya puse unas notas hace un año en el post "Notas sobre la arquitectura de Facebook".
La principal conclusión que he extraido de esta charla es que Facebook es, sin ninguna duda, una de esas compañías dirigidas principalmente por el equipo de operaciones. Está claro el peso de este departamento en el proceso de desarrollo y producción. En mi experiencia, trabajar en este tipo de empresas puede llegar a ser un auténtico infierno en los casos en los que el equipo de producción esté demasiado aislado del equipo de desarrollo, en los casos en que los procesos de trabajo estén demasiado cargados de burocracia o en los casos en que el departamento de operaciones tenga excesivo celo en cuanto a la implantación de cambios y nuevas funcionaliades.
Facebook nuevamente es diferente. Tom Cook comenta en su charla como los ingenieros de operaciones se mezclan con los ingenieros de desarrollo para trabajar conjuntamente en los parches y funcionalidades. Asimismo, los desarrolladores adquieren plena autonomía y responsabilidad sobre sus actos, de modo que deben participar en todas las fases de despliegue y sentarse con el equipo de sistemas a la hora de pasar cambios a producción.
Una de las consecuencias de esto es que en Facebook han eliminado la capa de QA. Esto en mi opinión es un error, pero no cabe duda de que Facebook es un sitio diferente. Me imagino que todo el desarrollo de productos y parches estará dirigido por procesos controlados, pero desde luego la impresión que se extrae de la charla es que los ingenieros tienen poco más que barra libre para introducir cambios a su antojo sin el más mínimo control de calidad. Claro, uno después se explica como en funcionalidades que no son 'core' como puedan ser las aplicaciones Facebook, un día las cosas funcionan y otro no :-)
Pero entonces, ¿cómo suplen esta falta de control de Calidad? Con un gran énfasis en la monitorizacíon y la instrumentación. Todo lo que sucede en los servidores de Facebook está completamente controlado. Para ello disponen de herramientas internas o usan software Open Source como Ganglia, Nagios o CFEngine. Pueden controlar en cualquier instante el estado de cualquier servidor, rack, cluster o centro de datos. Además de resaltar la importancia de la monitorización y la instrumentación se hace relevante también el automatizar la reacción ante caidas de cualquiera de estos componentes, ya sea eliminando el nodo, reiniciándolo, etc.
Una cosa queda clara en la charla. En Facebook no se toman las operaciones a broma. Aunque nuevamente hay cosas muy desconcertantes en cuanto al control de calidad. En la charla muestran herramientas de comunicación interna que se utilizan para que todo el mundo en la compañía conozca el estado de los sistemas en cualquier momento independientemente de tu puesto en la compañía. Es algo sin duda fantástico. Pero asimismo cuando sucede un problema lo que se entiende de la charla es que lo resaltan en su portal interno de noticias y esperan a que ningún ingeniero introduzca código, ya que éstos tienen la capacidad de introducir cambios en cualquier momento. Esto no hace más que reafirmar en mi interior que Facebook no es una empresa tradicional, y que por el contrario ofrece ese sentimiento de funcionamiento bastante anárquico en ciertos aspectos.
Por último, os dejo el video por si interesa verlo vosotros mismos.
From: ---- --------
Sent: Monday, May 5, 2008 4:37 PM
To: Everyone
Subject: Server Room Access
Hi all.
As you all are aware, we have new tenants that have moved into
the 2nd floor suites. The access to the server room is now via
the women’s bathroom.
There will be a sign on the woman’s door that can be changed
from OPEN to CLOSED and vice versa.
Should you need to enter the server room, please change the sign
to CLOSED. Once you are done, please change it back to OPEN.
Once you enter the bathroom, you will be able to access the
server room via the handicapped stall. Please close the stall
door prior to entry, just in case someone doesn’t see that the
bathroom is closed.
I know this isn’t ideal, but if we adhere to this protocol, I
don’t think anyone will be disrupted.
DataCenterKnowledge publicó hace unas semanas una listas con las localizaciones de los diferentes centros de datos de Google. En Pingdom se han hecho eco de esa noticia y han trasladado toda esa información a un mapa de Google Maps que podéis visualizar desde Wayfaring. El mapa deja bastante claro cuales son sus mercados principales en la actualidad.
Navegando por ahí me he encontrado con un informe de John Rath que quizás a alguno le parezca interesante. Se trata de un análisis de cual es el mejor lugar de los Estados Unidos para colocar un centro de datos en base a diferentes tipos de catástrofes y su frecuencia en los diferentes estados de los Estados Unidos.
La verdad es que yo no planeo montar ningún centro de datos :-) pero lo cierto es que muchas de las gráficas que aparecen en el informe son realmente interesantes, como por ejemplo la frecuencia de tornados...
Leyendo la noticia en DataCenterKnowledge no puedo más que referenciarla, porque es de lo más curiosa y eso que no quiero convertir esto en un blog de data centers.
Resulta que en el blog de Playstation han desvelado como es el data center de su juego online Warhawk y sorpresa, sorpresa, resulta que está formado de unos servidores poco habituales: PlayStations 3.
La idea es que habrá numerosos clusters en diferentes ciudades para hacer que los jugadores tengan la latencia más baja posible, e incluso abren la posibilidad de utilizar la playstation de cada jugador como servidor creando gigantescos clusteres distribuidos. Como comentan en DataCenterKnowledge, el que esté al día en cuestión de chips (que no es mi caso) no se extrañará de esto ya que el chip de la PlayStation 3 ya se está utilizando en los blades de IBM y en mainframes sus System Z.
Me imagino que lo mejor de estos data center es que siempre te puedes pasar a echar una partida :-)
En CRN han publicado un resumen de las keynotes de eBay y Amazon en la Next Generation DataCenter Conference.
Las conclusiones son más o menos las de siempre, ambas compañias apuestan por la virtualización, amazon hace publicidad de sus servicios (además presentó en sociedad su nuevo payment service), eBay recalca la importancia que tiene para ellos sus datacenters con los billones de SQLs por día que ejecutan, etc.
Siempre es interesante leer sobre estos gigantes así que aquí queda por si a alguien le interesa.
Mientras hoy me levantaba con la prensa sensacionalista afirmando que parece que este año se perdian cientos de trabajo por semana y la pasada semana se conocía que Xerox terminaría 900 trabajos lo cierto es que el panorama no parecía optimista.
Sin embargo parece que Microsoft no opina así y sigue viendo a Irlanda como una gran zona para invertir. El domingo aparecía en el Sunday Business Post que Microsoft está ultimando la obtención del permiso para construir un datacenter gigantesco en Dublin inviertiendo más de 500 millones de dólares. El datacenter sería más grande que que la mitad del Dundrum Town Centre, que es el centro comercial de al lado de mi casa y os puedo asegurar que es realmente enorme (se supone que el más gran de Europa si alguna vez lo terminan).
Parece que el datacenter estaría en el suroeste de Dublin, en Grange Castle, Clondalkin. Microsoft tiene 1200 personas en plantilla y 700 freelancers en sus cuatro centros en Dublin.
Seguramente no, ¿verdad? En HP parece que lo saben y han hecho la prueba por nosotros. El video se puede ver en este enlace. En él, ingenieros de HP simulan una explosión de gas y se cargan unos cuantos racks más ... una pecera con tres pececillos de colores. Posteriormente muestran como los diferentes sistemas van recuperándose en otro centro de datos de backup.
Por cierto, que en algún blog critican el uso de los pececillos de colores. Aunque yo espero que no se hayan muerto en el experimento :)