lunes, 26 de enero de 2009

Containerización

Aprovechando un excelente post de David Cervigón, titulado "Los cimientos de la nube", aprovecho para hablaros un poco sobre este concepto que, cada día, va dejando de ser ciencia ficción y se va convirtiendo en la única alternativa viable a los desbordantes costes de infraestructura que supone un datacenter.

Hay una triste realidad que empieza a aparecerse claramente a los responsables de infraestructuras del datacenter: Lo más barato son los servidores. Mientras con 200k llenamos unos cuantos racks con máquinas (ya sean blades o no), la inversión necesaria para refrigerar un datacenter supone fácilmente muchas veces esa cantidad. No es extraño que el coste de la refrigeración (sumando el coste del equipo y el de la electricidad que consume tanto el equipo como ) supere con creces el coste del servidor.

Si además tenemos en cuenta el coste de provisionamiento de los mismos, la cosa se disparata: Compra el servidor, busca sitio en el CPD para instalarlo, solicita cableados (fibras y red), tensión eléctrica... Estos inconvenientes no sólo aplican a los servidores, sino al almacenamiento, infraestructura de red, etc.

El coste del cableado no es precisamente desdeñable. Conozco casos donde el coste oscila desde unos 200 € la conexión a más de 1000 €. No digo que el cable cueste esto: Digo que ponerlo en marcha se acerca a estos costes.

La instalación de un servidor en determinado rack también puede resultar una odisea: Si tenéis la suerte (o la pasta) de mantener unos racks prístinos y limpios de cables cruzados, no tenéis latiguillos en modo gordiano (de los que sólo puedes deshacerte con un hacha) y además resulta que tienes las U bien asignadas, no sigas leyendo: Para todos los demás, la pesadilla de "¿Cómo meto un servidor sin llevarme por delante el resto?" es una realidad palpable.

Mi compañía esta actualmente trabajando en un proyecto para uno de los CPD más grandes de este país donde toda esta tormenta es una realidad. Hay partes de ese datacenter donde es virtualmente imposible colocar una máquina más sin una parada de servicio que, por supuesto, la compañía no puede permitirse.

Así mismo, los tiempos de provisionamiento de nueva infraestructura son dispares: Desde que se adquiere un nuevo pool de servidores, almacenamiento y red hasta que este se provisiona, puede pasar cerca de un mes: Los servidores pueden estar en una semana, el almacenamiento se instalará después de los servidores, por aquello de saber a qué troncal de fibra deben conectarse, y la red Dios dirá. Y negocio no espera.

Estamos trabajando en la idea de racks consolidados para los servidores y el almacenamiento. La idea es que el proveedor no suministre servidores, sino racks completamente equipados con un número determinado de máquinas preenrracadas, su electrónica de red y su red SAN. El punto de contacto con el resto del CPD se limita a dos conexiones 10G para la red, 4 tomas de 16 amperios y 4 puertos FC de 4 Gbit/sec.

En el caso del almacenamiento, las conexiones se limitan a dos puertos Gbit (para la gestión de cabinas si fuese necesario), 4 puertos FC de 4 Gb y otras cuatro tomas de 16 Amperios.

En el rack de servidores estamos evaluando la posibilidad de usar Infiniband. Mediante dos tarjetas por equipo, conseguimos un ancho de banda acumulado de hasta 40 Gbit/Sec con latencia despreciable, conectados a un router Infiniband que nos ofece 4 10Gb Ethernet de salida y 4 FC de 4 Gb. La simplificación de cableado dentro del propio rack mejora su climatización y su mantenimiento, así como la reducción de conexiones al exterior (12, contra las 60-96 de configuraciones anteriores). Por otro lado, Cisco Systems nos ofrece Datacenter Ethernet (Ethernet sin pérdidas), pero lo de FCoE (Fiber Channel over Ethernet) no termina de convencerme.

En este caso, el proveedor de hardware, Sun Microsystems, suministra los racks así diseñados con P/N propio, lo que simplifica, además, el proceso de compra.

El cliente obtendrá un entorno más ordenado a un precio más asequible, (las ventas del proveedor suben en importe puntual aunque se distancien en el tiempo), una enorme reducción de coste de infraestructura. (no necesita ampliar su electrónica de red de core a trompicones, sino de manera ordenada), requiere menos suelo (racks llenos de potencia y no de U's vacías), y menos cooling (los racks vienen preacondicionados para un cooling óptimo).

Fig.1. Rack Tradicional



Fig. 2. Container




En este ejemplo, el container sólo consolida el I/O, y aún así, supone un considerable ahorro. Si evolucionamos la idea del container hacia la de isla (lo que supone romper con el esquema tradicional de pasillo caliente, pasillo frío) obtenemos soluciones como las de APC, que a continuación ilustro:


Fig. 3. Islas de APC. (Dibujan mejor que yo)

En este esquema, además de consolidar el I/O, es posible consolidar la extracción de calor, y en vez de tener que refrigerar a 19 grados todo un CPD, es posible centrar el frío en "islas" de calor. En este ejemplo, la containerización incluye otro de los aspectos problemáticos del datacenter: El cooling. He visitado fuera de España algunos CPD organizados de esta manera, y creedme que se agradecer no ponerse el polar para entrar.

Fig 3. CPD organizado en islas

Fig. 4. Islas de APC en el Datacenter.

Como podéis observar, el CPD se convierte en una caja de cemento que alberga islas semi-autosuficientes donde se concentran el "hierro" y la electricidad. El datacenter se convierte únicamente en proveedor de protección contra el entorno, electricidad y extracción de calor.

¿Y si damos un paso más?. Mirad por ejemplo el proyecto BlackBox de SUN. Básicamente se trata de un container (esta vez literalmente) que alberga todos los elementos necesarios: Las máquinas, la UPS, el cooling (por agua), la disipación de calor y la protección medioambiental.




Fig. 5. Imágenes del SUN Blackbox


Bajo este concepto, el datacenter como edificio deja de tener sentido. Imaginad una explanada, con una pequeña caseta que alberge las tomas eléctricas para los containers y la conexión de red. Quizá suene fantástico, pero con CPDs a un coste de 170 Millones por 2000m2 útiles, y corriendo los tiempos que corren, quizá no sea del todo un disparate.

Pronto SUN me dará la oportunidad de "curiosear" por uno de sus containers... os daré más detalles.

Una cosa más. La virtualización nos dá la posibilidad de realizar este tipo de agrupamientos sin demasiado impacto. Y como siempre digo, pensad en global y actuad en local.

Un saludo.

2 comentarios:

Khan dijo...

El "datacenter en un container" es una idea genial... para ferias y exposiciones tecnológicas.

No me veo yo cambiando la backplane del switch de fibra nº 3 que ha fallado sin desmontar medio container... lo cual lleva a mas downtimes.

Para lo cual, lo ideal es operar dos containers en paralelo y hacer el mantenimiento de uno de ellos mientras el otro asume toda la carga.

No veo yo un datacenter crítico de verdad así.

Evidentemente, mantener los racks libres de spaguetti de cables requiere esfuerzo, tiempo, dinero y habilidad, pero es la única forma de que un datacenter pueda afrontar 24x7 real y al mismo tiempo permitir el mantenimiento de los elementos dañados.
Los daños a la electrónica se producen, queramos o no; no existen aún los componentes electrónicos eternos (ni las personas, ni.. ná que sepamos).

hectorpal dijo...

tuve la oportunidad de visitar HP Labs en Palo Alto, y fui a la zona de investigacion en Data Centers. Una cosa que tienen es una evolución de lo que mencionas como islas de frío. Ponen sensores de temperatura en toda la habitación, y despues ajustan via algoritmos los niveles de refrigeración. Complicado puesto que los gradientes de temperatura generan convección, y se vuelve un super sistema dinámico. Nada que no se pueda simular. Creo que se ahorraban como 40% de electricidad.