22 abril 2011

Problemas en Amazon AWS ocasiona la caída de sitios como DropBox, Quora, Foursquare, FayerWayer entre otros

Un daño ocurrido el día de Jueves 21 de Abril  en los DataCenter de Amazon AWS tiene aun con intermitencia de servicio a sitios como Dropbox, Quora, Fayerwayer, Reddit, el PaaS Heroku, Foursquare entre otros. El problema afecto los servicios de Elastic Compute Cloud/EC2, Elastic Block Storage/EBS y Relational Database Services/RDS para la región de AWS ubicada en Virginia del Norte en Estados Unidos.

Para entender mejor el problema y su impacto vamos a desglozar brevemente los servicios implicados:
  • Elastic Block Storage/EBS: Servicio de unidades virtuales de almacenamiento que pueden ser adjuntadas/montadas sobre los equipos desplegados en EC2. También pueden ser usadas como sistema de archivo Raíz para los servidores brindándoles la posibilidad de persistir su información a pesar de que la Instancia sea apagada.
  • Elastic Compute Cloud/EC2: El servicio de Instancias/servidores a demanda de Amazon. Por defecto las instancias tiene almacenamiento volátil, es decir que si apagas la instancia perderás toda la información que tengas almacenada allí. Por lo cual es recomendable backups periódicos almacenados en el servicio de S3 ó usar EBS junto con las instancias.
  • Relational Database Services/RDS: El servicio de base de datos relacional en la nube de Amazon, ofrece la posibilidad de usar a demanda los motores de base de datos MySQL u Oracle (más información).

Para garantizar la alta disponibilidad de sus servicios Amazon AWS ofrece el concepto de Regiones y zonas de disponibilidad. Las Regiones corresponde con la ubicación geográfica de los datacenter de la nube de Amazon AWS y las zonas de disponibilidad están asociadas a centros de datos aislados físicamente dentro de la misma Región que permiten garantizar que no se presente un punto único de falla. Actualmente Amazon cuenta con 5 regiones divididas así:


  • Estados Unidos: Virginia y California.
  • Europa: Irlanda.
  • Asia: Singapur y Japón.

¿Entonces por que si Amazon AWS cuenta con estas medidas para garantizar el servicio en caso de fallas, esta caída fue tan grave?

La respuesta es que toda la Región de Virginia presento problemas para los servicios de EBS, EC2 y RDS. Esto significa que sin importar que tuvieras desplegados tus servidores en varias zonas de disponibilidad de la región de Virginia, para seguir las indicaciones de Amazon AWS..."Al iniciar instancias en Zonas de disponibilidad distintas, puede proteger a sus aplicaciones en caso de error de una única ubicación"...no importo, por que la región completa estaba fallando. Según el portal Web de Amazon "El compromiso del contrato a nivel de servicio de Amazon EC2 es de una disponibilidad del 99,95% en cada Región de Amazon EC2.." con lo que interpretamos que el error debería haber afectado solo una o varias de las zonas de disponibilidad no toda la región!!!

¿Porque esta causando aun problemas para algunas compañías?

Muchas compañías usan el servicio de EBS para la toma de backups o para tener instancias que persistan su información sin importar sin son apagadas, a la hora en que subiré este articulo al blog aun continua con problemas el servicio de EBS para la región de Virginia. Así es que muchos aun estamos en proceso de recuperar backups, migrar imágenes a otra región para poder iniciar instancias, y a la espera de poder recuperar uno que otro archivo que esta en EBS que no están disponibles.

Es importante recalcar que ningún proveedor es 100% estable y este tipo de errores pueden ocurrir en nuestros propios DataCenter. Sitios como www.twilio.com que usan Amazon AWS no se vieron afectados por la caída por que toda su arquitectura es distribuida. Así que también es responsabilidad de las empresas el contemplar estos escenarios al momento de usar soluciones en la nube para garantizar la disponibilidad de sus servicios.

Algo en lo que estuve pensando todo el día de ayer (mientras iniciaba los servidores en otra región de amazon AWS) es lo diferente que pudo ser la situación si los servidores no se encontraran en la nube:
  • ¿ Lograré mover mis servidores en colocation a otro proveedor?...y si se quemaron mis servidores...&%%$%#$#!!!
  • ¿ Cuanto me tardo en establecer otro contrato de servicio para poner mis servidores en otro proveedor?
  • ¿ Esta mi Backup a salvo?
  • ¿Tengo que desplazarme in site para solucionar el problema?
Pero esto fue lo que ocurrió:
  • El sistema de alertas nos informa de la caída de nuestros servidores.
  • Nos intentamos conectar para determinar la causa del error. No existe conexión a uno de los sistemas críticos (La instancias tenia dos discos con EBS).
  • Recuperamos el ultimo backup disponible.
  • Iniciamos otra instancia en otra región.
  • Restauramos el Backup.
  • Nuevamente nuestros servicios en línea.
Esto será toda una anécdota para mí...por que lo hice con el apoyo de un compañero de trabajo que estaba conectado desde su casa a Skype, y yo conectado con el netbook de provisión de la empresa a una conexión movil GSM. Todo esto ocurría mientras almorzaba con mi familia en un restaurante del norte de Bogotá (CC SantaFe) ...muchas gracias a la empresa CODENSA por el corte de energía que afecto al norte de Bogotá!!!!

07 abril 2011

Almacenamiento seguro en la Nube mediante cifrado en Amazon S3

Ahora contamos con una nueva funcionalidad para el almacenamiento seguro de información en la nube con el servicio de almacenamiento cifrado que brinda Amazon Simple Storage Service(Amazon S3), que permite cifrar los datos al lado del cliente antes de ser almacenados en S3, y luego ser descifrados también del lado cliente después de ser descargados de este sistema de almacenamiento.


¿Como funciona el proceso de cifrado?

Todo el proceso de cifrado y descifrado ocurre en el lado cliente (El PC del usuario) usando un proceso denominado envoltorio digital, el cual permite garantizar la integridad, confidencialidad, autenticidad y no repudio de la información aprovechando la velocidad que brinda el proceso de cifrado simétrico y la confiabilidad en el manejo de claves que brinda el proceso de cifrado Asimétrico. 

Para el almacenamiento iniciamos con la generación de una clave simétrica de un solo uso (asociada a un solo archivo por almacenar) mediante el cliente de cifrado de Amazon S3 la cual es usada para cifrar la información que será almacenada en S3, posteriormente la clave simétrica es cifrada usando una clave/llave publica Asimetrica (PKI) la cual se encuentra en posesión del usuario fuera del entorno de Amazon S3. Para finalizar la información cifrada (con la clave simétrica) y la clave simétrica (cifrada con la clave/llave publica) son almacenados en S3.

Para recuperar la información almacenada de forma segura en S3, descargamos con el cliente de cifrado de Amazon S3 la clave simétrica cifrada asociada a la información, la desciframos con la clave/llave privada asimétrica en posesión del cliente y finalmente usamos la clave simétrica descifrada para recuperar la información en plano(descifrada)  que originalmente almacenamos.

Que ocurre si perdemos el par de claves/llaves asimétricas?

Como las claves asimétricas esta en posesión del usuario si este llega a perderlas, toda la información almacenada bajo este esquema de seguridad en el servicio de Amazon S3 no podrá ser recuperad jamas (bueno a menos que alguien a futuro pueda usar un cluster de alto procesamiento en la nube para factorizar rápidamente números primos relativos)

Que ocurre si el par de claves/llaves asimétricas se ven comprometidas por un tercero?

Si perdemos el control sobre el par de claves asimétricas (claves maestras) tenemos la opción de volver a cifrar el par de claves simétricas almacenadas a S3 para garantizar que nadie(ni siquiera el usuario original) pueda tener acceso a nuestra información almacenada de forma cifrada en la nube. 

Para finalizar este articulo vemos que la necesidad de generar confianza sobre la seguridad en la nube provoca este tipo de innovación que involucra almacenamiento persistente, escalable y cifrado; también cabe destacar que Amazon AWS continua a la vanguardia en lo que a proveedores cloud computing se refiere.