domingo, 1 de mayo de 2011

Las nubes también se caen

La semana pasada se produjo la caída de los servicios EC2 de Amazon (Amazon Elastic Compute Cloud), los cuales tardaron varios días en recuperarse al completo. La caída afectó a conocidas empresas como Foursquare, Reddit, Quora o Hootsuite entre otras.

El impacto mediático ha sido notable, sobre todo teniendo en cuenta que en plena efervescencia del Cloud Computing, una caída de este tiempo en un proveedor de la envergadura de Amazon, da argumentos a los detractores del Cloud Computing.

Amazon tiene sus datacenters repartidos en 5 regiones; 2 en EE.UU. (costa este y oeste), uno en Europa (Irlanda) y 2 en Asia (Tokio y Singapur); y cada región se separa varias Zonas de Disponibilidad (AZ – Availability Zone). Cada AZ está aislada de las demás y entre ellas no debe haber puntos comunes de fallo, al menos es lo que publicita Amazon.

Todo comenzó el jueves 21 de abril, durante una operación rutinaria en la AZ del Norte de Virginia en la Región Este de EE.UU.. Por un error, se desvió el tráfico de uno de los routers a la red de backup, que dispone de menos capacidad y una mayor latencia. Esto provocó una atasco que se se convirtió en una reacción en cadena, primero en nodos EBS (Elastic Block Store), después en las API de control de los cluster EBS, el RDS (Relational Database Service), que se soporta en el EBS. Esto acabó afectando a todas las AZ's de la misma región.

Amazon no proporciona un servicio de replicación entre regiones, aunque si entre AZ's, a cambio, proporciona un API para que cada usuario pueda gestionar la tolerancia a fallos entre regiones. Aunque en menor medida, por este motivo otras regiones tuvieron pequeños “atascos”, que Amazon lo cuantifica en un 0,07%.

Muchos clientes, se han quejado de la poca transparencia e información que proporcionó Amazon durante la caída. En un principio la única información fue la que proporcionaba el monitor de AWS  (Amazon Web Services). De hecho, algunos clientes indican que si hubieran dispuesto de más información acerca de los motivos, hubieran podido recuperar antes sus sistemas.

Algunas quejas, como las de Justin Santa Barbara (Why the sky is falling), fundador y CEO de FathomDB, van en el sentido de que AWS no cumple sus propias especificaciones y ha roto sus promesas de disponibilidad dentro de las AZ's, aún cuando los sistemas desplegados siguieran las especificaciones de Amazon al respecto.

Pero no todo el mundo se ha quejado del incidente, de hecho hay quién indica que el perjuicio sufrido está compensado con las prestaciones y el precio que Amazon proporciona a sus clientes.

La verdad es que no todos los clientes de Amazon en la AZ afectada, que por cierto, es la más concurrida, se han visto afectados, o al menos de la misma forma. En concreto NetFlix o Twilio, no sufrieron las consecuencias.

En el caso de Twilio; según explica Evan Cook en su blog, el diseño de sus aplicaciones, el poco acoplamiento entre ellas y la distribución de los servicios, les ha permitido no verse afectados por esta caída. Quizá Amazon quiera incluir algunas de las recomendaciones que hace Evan, en sus propuestas de despliegue.

Después de todo el chaparrón, Amazon ha publicado un informe, que lo han denominado “post-mortem” explicando lo ocurrido y donde finalmente dice que “recompensará” a los clientes con instancias EC2 en la AZ afectada, con el equivalente a 10 días del consumo de los volúmenes EBS, instancias EC2 e instancias RDS, que tenían contratados en el momento de la caída.

Curiosamente, dado que la caída del servicio ha sido de 4 días, y teniendo en cuenta que; tal y como publican en el FAQ, el up-time que garantiza es del 99,95%, legalmente no se han incumplido los términos de SLA.

Ahora es tiempo de sacar conclusiones, no solamente por parte de Amazon, sino por parte de proveedores de Cloud Computing y de usuarios, actuales y futuros. Esto debe servir para aprender y mejorar los servicios y aplicaciones que corren en este modelo. En cierto modo, es bueno que pasen estas cosas.

No hay comentarios: