Seleccionar página

OSDA – Open Standard for DataCenter Availability (II)

En el artículo anterior dijimos que los estándares de diseño que han imperado durante muchos años ya no dan respuesta a las necesidades de hoy en día, y en este artículo vamos a ver por qué. Así que tras un pequeño parón para cambio de servidor,  volvemos a la carga con el OSDA.

Pero ¿por qué tenemos que redefinir estas cosas? ¿No es reinventar la rueda? Pues no, y no lo es fundamentalmente por dos razones:

  • La primera es que las normas están diseñadas para un modelo IT clásico, es decir On Premise, en el que cada organización es dueña de sus infraestructuras y las explota. Es evidente que en este modelo de funcionamiento el DataCenter es una infraestructura crítica para la organización, sobre todo si hiciéramos una encuesta y nos diéramos cuenta que lo de tener un CDP de respaldo es menos frecuente de lo que pensamos y, en todo caso, más reciente de lo que pensamos. Es decir, hasta ahora ha imperado el paradigma Juan Palomo: la organización es propietaria de sus infraestructuras iT y se encarga de explotarlas, así que esas infraestructuras, al ser críticas, deben ser lo más fiables posible. Si puedo Tier 3, pues Tier 3. Y si el bolsillo me da para TIer 4, pues Tier 4. Y, el que podía, un CPD alternativo, pero esto último en empresas pequeñas y medianas se ha limitado en la mayoría de los casos a hacer copias de seguridad y llevarlas a casa. Puede parecer absurdo, pero puedo hacer una lista con más de 100 organizaciones que están todavía así. Organizaciones públicas y privadas, grandes y medianas empresas, comunidades autónomas, ayuntamientos de más de 100.000 habitantes (una de las peripecias de mi vida fue diseñar el rescate informático de un ayuntamiento al que se le quemó su único CPD), universidades, etc, etc. Las implicaciones son evidentes: como sólo tengo un coche, necesito que sea duro y fiable, así que no me importa que sea costoso y feo. Es el modelo Volvo aplicado a IT: si puedo, me compro un segundo coche por si las moscas. Si me puedo permitir dos Volvos, me compro dos Volvos. Y si el segundo es un Pandita, ni cabrá toda la familia, ni iremos igual de seguros ni llegaremos tan lejos, pero siempre será mejor que nada.
  • La segunda son los Dogmas de Fe que existen en el mundo IT, y el datacenter no sólo no es ajeno a tener dogmas sino que a durante años se ha quemado en la hoguera a los herejes que pensábamos que quizá mereciera la pena echarle una pensada a algunos conceptos, por si hubiera alguna forma diferente para hacer las cosas de una forma más eficiente. Podríamos citar muchos de estos dogmas de fe. Pero, por ejemplo: la electricidad es un servicio que se contrata a una compañía eléctrica, y si quieres que te diseñe un sistema fiable de suministro eléctrico para tu datacenter tendrás dos contratos de suministro con dos compañías diferentes y te tendrán que llegar dos líneas diferentes de dos subestaciones diferentes. Está claro que el que piensa así tiene acciones de las compañías eléctricas. Podríamos seguir con más dogmas sobre electricidad, refrigeración, etc. Por cierto, recuerdo que cuando hace diez años hicimos el CPD de Caléndula y contaba que utilizábamos intercambiadores de calor aire/agua en el CPD mucha gente me miraba con más repelús que a los extraterrestres de Men in Black. Ahora, las soluciones InRow aire/agua están a la orden del día. Muchas de las soluciones que aplicamos entonces y que fueron muy innovadoras ahora están a la orden del día. Eso si, diseñamos armarios capaces de albergar 40kW, y a día de hoy no he visto ningún otro CPD capaz de eso.

Si nos fijamos, ambos puntos encierran una gran contradicción: las Tecnologías de la Información y las Comunicaciones son muy innovadoras, y han sido la tecnología disruptiva que han provocado grandes cambios sociales y económicos en los últimos 50 años. Sin embargo, las TIC son reacias a la innovación. Es más, en el mundo del DataCenter no sólo no se ha fomentado la innovación sino que, en buena medida, se ha penalizado. Si nos fijamos, en las normas existentes no caben energías renovables, autoconsumo, otros modelos de refrigeración, etc. Es evidente que una norma no puede prever qué tecnologías van a aparecer en los próximos años, pero sí puede prever cómo incorporarlas.

Así que este es uno de los objetivos del OSDA: no sólo hay que utilizar la tecnología que hay disponible hoy en día, también es necesario fomentar la innovación e incorporarla al proceso. Y esto empieza por las definiciones de base. La primera es que si yo soy el CTO de mi organización debo diseñar infraestructuras para dar respuesta a las necesidades de disponibilidad de mi organización, y ese diseño debe ser global. Es decir, romper ese paradigma en el que un CPD es una mónada aislada del Universo. Por ejemplo, qué es mejor: ¿un único CPD a prueba de bombas o tener la carga en dos o tres CPD’s low cost en un modelo activo/activo? Como hemos dicho en artículos anteriores, tenemos que tener en cuenta que los Centros de Proceso de Datos existen para ejecutar aplicaciones, así que lo verdaderamente importante es que funcionen estas últimas.

Lo importante es diseñar infraestructuras que den respuesta adecuada a las necesidades. Y dar respuesta adecuada significa, como decíamos al principio, pensar sobre el problema que tenemos que resolver y cuál es la mejor forma de resolverlo, abstrayéndonos de dogmas. Incluso los que hoy en día defienden modelos On Premise -sigue habiendo mucha gente que se aferra a ellos- que sin darse cuenta han ido externalizando el correo amén de otras muchas cosas, así que tienen que asumir que los modelos de Cloud Híbrida están a la orden del día.

En el próximo artículo entraremos en materia del OSDA. Mientras tanto, ya sabéis: si queréis implantar metodologías y métricas en vuestro CPD, contactad conmigo.

 

OSDA – Open Standard for DataCenter Availability (I)

[bws_linkedin display=»share»]

Durante muchos años, los estándares de instituciones como el Uptime Institute, TIA y BICSI han sido ampliamente utilizados en diseño, construcción y operación de DataCenters. Son sencillos y relativamente fáciles de utilizar, y su primer objetivo es facilitarnos una clasificación básica sobre datacenters. Cada uno de ellos tiene sus peculiaridades, pero básicamente marcan los requisitos para tener cuatro categorías de centros de proceso de datos. Estas cuatro categorías tienen pequeñas diferencias entre unos estándares u otros, pero podríamos hacer una descripción somera de ellas así:

  1. Básico y no redundante: el nivel más básico no tiene elementos redundados, por lo que en caso de fallo de un componente crítico se producirá una parada. (el responsable de explotación no pega ojo)
  2. Básico redundante: los componentes críticos están redundados. (el responsable de explotación necesita una dosis fuerte de pastillas para dormir).
  3. Mantenimiento concurrente: se puede hacer mantenimiento de cualquier componente sin necesidad de parar o degradar servicios. (el responsable de explotación baja la dosis de pastillas en invierno)
  4. Tolerante a fallos: el CPD es completamente tolerante a fallos. (el responsable de explotación duerme a pierna suelta)

Los estándares marcan unos requisitos de diseño y constructivos para encuadrarse en cada una de las categorías y, si se cumplen, como consecuencia se tendrá una tasa de disponibilidad conocida de antemano. Si las políticas de explotación se adecúan a las buenas prácticas, estadísticamente deben cumplirse las tasas de disponibilidad especificadas en la norma. Durante años, estos estándares han sido muy útiles.

Pero ¿y hoy en día? ¿Son suficientes? Claramente no, y en este artículo vamos a ver por qué. Estos estándares están diseñados para un paradigma en el que cada organización tenía su centro de proceso de datos y, si la organización se lo podía permitir, uno alternativo. Es decir, estas normas asumen que una organización tiene un centro de proceso de datos propio, en el que tiene toda su producción. Como es evidente, este datacenter es crítico, y debe estar diseñado de forma robusta. Si me lo puedo permitir hago un datacenter que resista una bomba atómica, y si soy más pobretón con una o dos UPS me vale.

La informática es crítica para una organización. Si la informática se para entonces la organización se colapsa, así que tiene que funcionar sí o sí. Por eso, durante muchos años, por favor, me ponga usté un host mu caro o lo mejor que haiga y no repare en gastos. Los sistemas eran carísimos y el software tanto como el sistema o más: el coste de los mainframes y sus licencias convertían en irrisorio el coste de la electricidad, las UPS’s, las enfriadoras y demás martingalas necesarias.

Pero claro, para que funcione el host y su software, el router y todas esas puñetas hacen falta cosas básicas: electricidad y frío. Para esto las soluciones han permanecido invariables durante muchos años: en la electricidad un suministro de luz (o dos para los ricos) contratado a una compañía eléctrica. Por si falla el suministro, uno o más sistemas de alimentación ininterrumpida. Y para cuando se agoten las baterías, uno o varios generadores diesel. En el lado del frío, cacharros que generaban frío a base de compresores, se enfriaba el aire y ese aire frío se echa debajo del falso suelo. Por si las moscas, se ponen más cacharros de frío de los necesarios. Por cierto, que el viejo sistema de refrigeración por impulsión por falso suelo es un ejemplo del despilfarro energético que ha caracterizado al mundo del datacenter, porque hacerlo así es como encender el aire acondicionado del dormitorio para refrigerar el salón.

Por eso los estándares que hemos mencionado hablan explícitamente de este tipo de infraestructuras. Pero hoy en día las cosas son diferentes por muchos motivos. Uno de ellos es que tenemos un abanico de soluciones mucho mayor, y el otro es que desde hace tiempo el precio del kWh sube más que las angulas en navidad. Así que uno de los parámetros que hay que tener en cuenta en las tres fases del datacenter que hemos detallado al principio, esto es, el diseño, construcción y explotación, es el de la eficiencia, y el problema es que los estándares mencionados no contemplan para nada la Eficiencia (escrito así, con mayúsculas, como debe ser).

Para suplir esta carencia The Green Grid ha propuesto el Open Standard for DataCenter Availability (OSDA). Tal como el propio TGG indica, uno de los objetivos al proponer el OSDA es fomentar la innovación, teniendo como metas la sostenibilidad y la Eficiencia Energética. En esta serie de artículos veremos los principios básicos del OSDA y cómo utilizarlo. Y ya sabéis, si tenéis dudas o queréis averiguar el estado real de vuestro datacenter, contactad conmigo.

 

Conceptos básicos de disponibilidad (II)

[bws_linkedin display=»share»]

En el artículo anterior vimos que podemos abordar la disponibilidad en tres momentos distintos. Ahora hay que hablar del de qué. Es decir, tenemos que definir muy claramente a qué recurso nos referimos cuando decimos la disponiblidad es 99,998%. Ya lo hemos dicho anteriormente, dependerá de quién seamos y qué hagamos: un DataCenter que preste servicios de housing querrá demostrar que es capaz de mantener los racks en condiciones operativas un determinado porcentaje de tiempo.  Esto es muy importante en función de cuál sea el alcance de la responsabilidad de cada uno: el rack puede estar perfecto, pero si la aplicación está colgada hay un problema. Hay que tener en cuenta que en el mundo cloud moderno, la pila IT puede tener diversos responsables: uno para las infraestructuras de datacenter, otro para la plataforma hardware y networking, otro para el software, etc. Para cada uno de ellos, el concepto disponibilidad tendrá un alcance diferente en función de cuál sea el recurso en cuestión.

Por esta razón es muy importante que cuando hablemos de disponibilidad delimitemos bien su alcance, es decir, el de qué. Pero, también hay que definir con precisión disponible, o lo que es lo mismo, cómo vamos a medir la disponibilidad. Como la mayoría de los técnicos de sistemas saben, una de las herramientas más utilizadas para monitorizar disponibilidades ha sido Nagios. Es software libre y fácil de utilizar, aunque sus ficheros de configuración son farragosos. Nagios ha tenido la gran virtud de extender la monitorización, y muchos sitios se han empezado a monitorizar gracias a Nagios (o lo que es lo mismo, sin Nagios no se hubieran monitorizado, lo que es terrible). Pero Nagios está muy orientado a monitorizar utilizando «pings», con un algoritmo muy sencillo: si responde, está vivo. Este es el método que muchos utilizan para comprobar la disponibilidad, pero no tienen en cuenta que vivo no es lo  mismo que disponible. Muchas veces los dispositivos responden al ping, pero no están disponibles. Le hago ping al servidor web y el servidor responde, pero eso no significa que el servidor esté bien.

Por eso hay que definir con precisión qué significa estar disponible, y esto es la letra pequeña del SLA. Si seguimos con el ejemplo del servidor web, podríamos decir algo como: se comprueba mediante un comando HTTP GET que el servidor responde, que devuelve la página principal comprobando con el patrón que no ha sido modificada por un hacker y que la respuesta se produce en menos de x milisegundos. Aquí podemos ser tan barrocos como queramos, comprobando todo el árbol web o no, controlando desde el tiempo de respuesta a la introducción de datos en formularios, etc.

Bien, pues esto hay que hacerlo independientemente del alcance. Traslademos el ejemplo del web a un prestador de servicios de housing. En este caso, el SLA hará mención de las infraestructuras: Cada rack dispondrá de alimentación de 220V con una capacidad de 32A (o 16, o 64, o 96 o lo que corresponda), con una temperatura inferior o igual a…, etc., etc.

En resumidas cuentas, cuando medimos disponibilidades tenemos que leer la letra pequeña del SLA a que nos hayamos comprometido y adoptar las medidas técnicas para poder demostrar fehacientemente con medidas que estamos cumpliendo nuestra parte.  En este punto, hay quienes optan por SLA’s poco claros en los que no se explicita con precisión el alcance del servicio que se presta. Bien, esto es un gran error estratégico: si lo hacemos así en cuanto haya discrepancias no podremos demostrar que estamos cumpliendo y, como el cliente o el usuario siempre tienen la razón, tendremos problemas.

En resumen, el problema de la disponibilidad lo debemos abordar en tres momentos:

  1. Al establecer el Acuerdo de Nivel de Servicio (SLA) que prestaremos a nuestros clientes y/o usuarios: ya dijimos que siempre debemos tener explicitado el SLA aunque trabajemos para nuestra propia organización.
  2. Al diseñar las infraestructuras y sistemas que utilizaremos para prestar los servicios.
  3. Una vez que están los servicios en producción deberemos realizar medidas reales para poder corroborar con datos que estamos cumpliendo nuestra parte del trato.

Transversalmente a estas etapas debemos dejar clara la definición de recurso y la definición de disponible, pues juntas forman el alcance de los servicios que vamos a prestar.

¿Es esto todo? ¡No, se escapa un pequeño detalle! Este detalle es el concepto novedoso del que os hablaba en el artículo anterior y que explicaré con profundidad en el próximo artículo.

 

 

 

Conceptos básicos de disponibilidad (I)

[bws_linkedin display=»share»]

En muchas ocasiones, al acercarnos a alguna materia, damos por sentados los conceptos básicos. No nos atrevemos a preguntar, los intuimos y resulta que la base de todo no la tenemos clara. Es evidente que no se puede levantar un pilar resistente sin una zapata sólida. Esto pasa con cualquier área de conocimiento, y las TIC no son ajenas a este fenómeno. Es más, por lo que he podido comprobar en mis muchos años dedicados a esto, es algo que se da con mucha frecuencia. Sobre todo cuando se introducen conceptos o tecnologías novedosas: se ponen de moda y para no quedar como pardillos actuamos como si los conociéramos de toda la vida aunque no tengamos claro de qué van. Un ejemplo de esto es el consabido PUE, que como ya hemos explicado en artículos anteriores, hemos oído a mucha gente hablar de PUE sin un conocimiento preciso de qué es.

Pero algunos habéis vencido estas reticencias, y me habéis pedido que amplíe el último artículo y aclare los conceptos básicos sobre disponibilidad. Así que en ello estamos, en explicar con un poco más de rigor esos conceptos básicos.

Así que vamos a hablar de disponibilidad en dos ejes: el de ¿disponibilidad de qué? y el de ¿disponibilidad de qué tipo?.  Así que en este artículo vamos a hablar del ¿Disponibilidad, de qué?, y para ello vamos a intentar definir disponibilidad. Recordad que en el artículo anterior vimos que ante la pregunta de qué es, mucha gente contesta ¡qué pregunta más tonta! Disponibilidad es… disponibilidad!. Bueno, pues según el diccionario de la Real Academia de la Lengua, en su primera acepción, disponibilidad es cualidad o condición de disponible. Aplicado a las TIC, vamos a dar una definición formal de disponibilidad:

Disponibilidad es el porcentaje del tiempo en el que un recurso está disponible.

Pero como lo que hace un datacenter y un servicio TIC, es precisamente eso, prestar un servicio, hay que hablar de disponibilidad en tres momentos diferentes:

  1. El primero de ellos es del de la determinación del acuerdo de nivel de servicio (SLA) del datacenter o del servicio IT en cuestión. Quienes prestan servicios para terceros o tienen una ISO 20000 en vigor esto lo deberían tener claro, pero hay datacenters medianos que prestan servicio a una única organización que no tienen un SLA bien definido con su propietario. Da igual que sea un ayuntamiento, una universidad, una mediana empresa o quien seas: si eres un datacenter o si prestas servicios IT, aunque sólo sea a tu organización, tienes que tener obligatoriamente un SLA. Este SLA es la disponibilidad del servicio que prestas: así que esta es la primera fase en la que hay que hablar de disponibilidad: la del compromiso de calidad de servicio. Por ejemplo, te voy a prestar el servicio X y va a estar disponible el 99% del tiempo. Es decir, es el requisito de disponibilidad.
  2. La siguiente fase es obvia: si me he comprometido a una determinada disponibilidad tendré que diseñar mis infraestructuras y sistemas para poder cumplir eso. Para no dar palos de ciego en este reto, existen ayudas para ello. Por ejemplo, la norma TIA-942 establece cuatro niveles de requisitos técnicos, y lo que dice es «si cumples el nivel de requisitos X tu disponibilidad será del Y%». Obviamente esto es una distribución estadística. La probabilidad de que tú tengas un póker y tu rival tenga una escalera real es muy baja, pero puede suceder. Si se cumplen los estándares del nivel 4 de la TIA-942 se supone que se conseguirá una disponibilidad del 99.995%, pero la realidad puede ser diferente. En cualquier caso, la norma TIA-942 y similares son un buen punto de partida para diseñar unas infraestructuras capaces de cumplir con el requisito de disponibilidad. Es decir, esta etapa es la del diseño, la de la especificación de disponibilidad.
  3. Por último, toca demostrar que gracias que la especificación ha sido la correcta, estamos cumpliendo con el requisito. Es decir, toca comprobar en tiempo real la disponibilidad y guardar los resultados históricos para poder utilizarlos cada vez que haga falta. Esto debe hacerse de forma que no permita controversia. Es más, puede suceder que mi cuello dependa de ello (o pleitos millonarios, y si se pierden mi cuello también peligra). Es la tercera fase: la de medir la disponibilidad.

En resumen, ya sabemos que tenemos que hablar de disponibilidad en tres momentos: en de establecer los requisitos del servicio, el de especificar las infraestructuras y el de medir el resultado de explotación.

Pero ¿es esto suficiente? ¡No! Quedan dos cosas: definir con precisión qué es un recurso y definir con precisión qué significa disponible. Esto lo haremos en los próximos artículos, en el que además de de hablar de esto os introduciré algún concepto innovador que llevo tiempo utilizando. Mientras tanto, ya sabéis: si tenéis dudas o queréis implementar algún sistema de control, contactad conmigo.

 

 

¿Qué es la disponibilidad?

[bws_linkedin display=»share»]

¿Que qué es disponibilidad? ¡Qué pregunta más tonta, disponibilidad es…. disponibilidad! A muchos os parecerá absurdo este diálogo, pero os puedo asegurar que lo he tenido más de una vez: cuando le preguntas a alguien qué significa disponibilidad, es probable que conteste así.

El año pasado, en un seminario que di sobre eficiencia, conté que Usain Bolt hizo un tiempo de 9,81 en los 100 metros lisos en las olimpiadas de Río de Janeiro, y que Scott Reardon hizo un tiempo de 12,26 segundos en las mismas olimpiadas. Hice una pregunta muy facilita: ¿Quién lo hizo mejor? A pesar de ser muy obvio que había trampa, todo el mundo contestó al unísono que Usaín Bolt (que es realmente una pena que se haya retirado porque este tipo es marciano). Acto seguido desvelé la trampa: puse la foto de Scott Reardon que acompaña a este post y en la que podéis comprobar que le falta una pierna.

Efectivamente, Scott Reardon es un atleta australiano que compitió en Río 2016 en los 100 metros lisos. No sólo eso: ganó la medalla de oro. Si, con un tiempo de 12,26 ganó la medalla de oro en los 100 metros lisos en los juegos paralímpicos. Por tanto, corría en los 100 metros lisos, pero en una categoría diferente a Usain Bolt ¿Y por qué en una categoría diferente? Pues para que sea más fácil comparar peras con peras y manzanas con manzanas. Es más, si mis datos no me fallan en los juegos paralímpicos se puede competir en los 100 metros lisos en 16 categorías diferentes. Cada una de ellas tiene unas reglas muy claras sobre quién puede participar y cómo es la competición.

Este ejemplo sirve para ilustrar muy bien que, cuando se da una cifra, por sí misma no sirve de nada. Ya vimos algo parecido con el PUE: para poder valorarlo en su justa medida no basta con saber la cifra: también es necesario saber dónde se ubica el datacenter, a qué se dedica, etc: ya dijimos que no es lo mismo un datacenter para HPC en Noruega que uno para proceso transaccional de muy alta disponibilidad en el Sáhara. Con la disponibilidad sucede lo mismo: aunque todos tenemos claro lo que es, debemos definir excatamente a qué nos estamos refiriendo, y para esto tenemos que tener muy claras dos cosas:

  • La primera de ellas es si estamos hablando de disponibilidad especificada o medida. Por ejemplo, el estándar TIA-942 dice que si un DataCenter cumple con los criterios del nivel tres de la norma (Tier III) el datacenter tendrá una disponibilidad del 99,982% del tiempo. Es decir, la distribución estadística dice que si cumples con el nivel tres de la norma lo normal es que tengas esa disponibilidad, pero puede no ser así.
  • La segunda es el alcance de lo que llamamos disponibilidad ¿a qué nos referimos con disponibilidad del datacenter? ¿a la disponibilidad de las infraestructuras? ¿a la disponibilidad de las aplicaciones? Son aspectos que hay que precisar siempre. Si soy un proveedor de colocation me basta demostrar que las infraestructuras eléctricas y de refrigeración funcionan correctamente. Sin embargo, si soy un proveedor IaaS, me interesa demostrar que la plataforma está siempre disponible, y eso incluye no sólo a las infraestructuras del CPD, también a la granja de servidores y su almacenamiento, así como la capa de networking. Obviamente, al usuario le afecta toda la pila, desde la aplicación que está arriba de la pirámide al cuadro eléctrico de la entrada, pasando por servidores, almacenamiento, networking, enfriadoras, etc.

Yo siempre soy partidario de medir, porque la infraestructura mejor diseñada del mundo no sirve de nada si los procedimientos de explotación no son buenos. Así que, al igual que hemos hecho con el PUE, vamos a ver cómo medimos la disponibilidad: qué se mide, cómo se mide, etc. Eso lo veremos en la próxima serie de artículos. Mientras tanto, como siempre, si tenéis alguna duda poneos en contacto conmigo.