La nube

Desde finales de 2008 he venido escribiendo muchos artículos sobre Cloud Computing, incluso he llegado a hacer mis pinitos con el tema: sin ir más lejos todas las imágenes de este blog están alojadas en bucket en Amazon S3… o lo que es lo mismo, no tengo ni la más remota idea de donde están exactamente, sólo sé que están en un lugar supuestamente más seguro del que yo podría ofrecerles.

Tal vez eso sea la nube, disponer de recursos ilimitados, replicados en decenas de sitios, encriptados, paquetizados en unidades lógicas… donde todo es ficticio. Te logueas en un sistema operativo, pero realmente no te estás conectando a ningún ordenador, sino que abres una instancia en un super-equipo que gestiona un montón de peticiones al mismo tiempo.

Ya no compras un ordenador, te facturan por horas la capacidad de proceso que consumes, la TB que ocupan tus archivos, los Kbs que transmites… y te facturan un precio distinto dependiendo de si esa información aterriza en USA, Europa, Asia… todo es muy complejo, todo es etéreo, como arena que intentas mantener en tu mano y persiste en escaparse entre tus dedos.

Todo es muy complejo, tanto que aun explicado con pasión, consigue aburrir a la mayoría. Sería el futuro, si no fuera ya el presente… un presente sólo contenido por el limitado número de direcciones IP sobre el que está asentado actualmente el Internet que conocemos (algo que se espera quede superado con IPv6) y por el escaso ancho de banda con el que aun nos conectamos.

El primer factor limita el número de dispositivos que pueden estar conectados a la red, en un futuro próximo todo nos vendrá con una dirección IP fija de fábrica (y podremos saber si nos queda leche en el frigorífico comunicándonos directamente con él a través de nuestro móvil), el segundo limita la cantidad, calidad y rapidez a través de la cual fluirá la información por la red, cuando el ancho de banda mejore nada impedirá que podamos jugar a un juego de consola… sin disponer ni del juego, ni de la consola en nuestro hogar, sólo tendremos que abrir una sesión en un servidor a miles de kilómetros y pagar un precio por minuto jugado (y por supuesto no habrá `lag´)

Un futuro tan complejo como apasionante.

AFR – ratio anual de fallo

…volumes that operate with 20 GB or less of modified data since their most recent Amazon EBS snapshot can expect an annual failure rate (AFR) of between 0.1% – 0.5%, where failure refers to a complete loss of the volume. This compares with commodity hard disks that will typically fail with an AFR of around 4%, making EBS volumes 10 times more reliable than typical commodity disk drives

Amazon Elastic Block Storage (EBS)

 

Moviendo todas nuestras fotos a Amazon S3

Este esquema muestra como hemos hecho para pasar todas las fotos de nuestros blogs a Amazon S3.

Siento una enorme admiración por el proyecto AWS (Amazon Web Services)… ¿quién podía pensar que Amazon, el mayor retailer online, de repente se iba a convertir en proveedor tecnológico y buque insignia del cloud computing?

Aunque utilizo S3 desde el año pasado, cuando empezamos a volcar ahí nuestras copias de seguridad, hasta la fecha nunca nos habíamos planteado usarlo como hosting de imágenes… pero ha llegado un momento en el que las imágenes de más de cinco años de publicación en todos nuestros blogs nos han desbordado y no tiene sentido que la mayoría de los recursos del servidor se desaprovechen sirviendo archivos en lugar de sirviendo webs de manera más eficaz (al fin y al cabo como su propio nombre indica un webserver es un servidor de webs).

Para mover todas las imágenes ha habido que reprogramar varios componentes de nuestro CMS para conseguir que las imágenes se carguen en Amazon S3 en lugar de en topmadrid.com, dolcecity.com…

Me centraré en cómo ha quedado ahora el proceso:

1 – La imagen es cargada por el escritor en el CMS con CKFinder, cada escritor tiene una carpetas con sus imágenes que ellos gestionan, todo ello en enzo.es que es donde está instalado nuestro CMS.

2 – Cuando se publica el post, se realiza una copia de cada imagen en otra carpeta que hemos llamado “cache” y desde ahí se sube a Amazon S3 (utilizando el API REST de Amazon S3 y todo programado en el arcaico vbscritp… que tiene mérito)

3 – Una vez todas las imágenes están subidas se inicia el asintente para crear las thumbs para este proceso necesitamos tener la foto en el servidor donde está instalado el componente con el que las hacemos ASPjpeg, por eso el CMS revisa la carpeta de caché para ver si sigue ahí la foto y sólo en el caso de no encontrarla se la descarga de vuelta desde S3 (esto es necesario porque la carpeta caché se vacía cada noche y a veces quieres rehacer una thumb de un post que colgaste hace tiempo por lo que la foto original ya no está en la carpeta cache y hay que traerla de S3).

4 – Las thumbs se guardan en enzo.es durante el tiempo suficiente para poderlas pasar también a Amazon S3, después se borrán.

A diferencia de antes ya ninguna foto pasa a los blogs de destino, todo está o temporalmente en enzo.es o en su emplazamiento defitivo en Amazon S3 quedando todos los archivos de cada blog organizados en buckets independientes:

Aprovechando que teníamos que hacer este cambio hemos solucionado un problema que habíamos heredado de blogger:

Las imágenes de los posts en lugar de colocarlas todas en la carpeta /uploaded_images/ ahora van clasificadas por años y mes, igual que los posts.

Por su parte las thumbs, para no tenerlas todas juntas como antes en la carpeta /img_thumbs/ se van distribuyendo de manera automática en carpetas de 100 en 100, con lo que evitamos los problemas de la situación anterior: tener carpetas con más de 30.000 imágenes y creciendo que sólo para conseguir listar sus archivos ya era todo un reto.

Sólo nos falta un último empujón para que las galerías entren en el nuevo circuito de S3 y con eso la “migración” estará completa. Los beneficios del cambio son claros, como se puede leer en este post de Amit Agarwal mover todas tus imágenes a Amazon S3 descarga enormemente de trabajo a tu servidor:

En servidores donde corremos aplicaciones hemos comprobado que algunos procesos se ejecutan ahora muchísimo más rápido, tenemos por ejemplo un cron que llama a una página a las 20:00 y que solía terminar cerca de las 22:20… ahora el mismo proceso termina a las 21:45 lo que supone más de media hora de diferencia.

 

Cloud Computing Revolution

Me he dado cuenta de que ya llevo escritos varios artículos sobre Cloud Computing o Computación en la nube, un tema que me interesa muchísimo y al que os recomiendo que os enganchéis cuanto antes…

Activity Report CloudFront: por el momento me lo puedo permitir
El coste es pequeño, sobre todo porque no pagas cuotas de alta… pero tampoco es como para tirar la casa por la ventana: como se te dispare el consumo te puedes llevar un buen susto con la factura….
Amazon CloudFront: sirviendo contenido en S3 más rápido
Con Amazon CloudFront podemos distribuir nuestro contenido alojado en Amazon S3 mucho más rápido y con menor latencia. Aquí explicamos cómo implementarlo en nuestro site para mostrar un video flv….
CloudBerry Explorer, un explorador gratuito para Amazon S3
Los que usamos Amazon S3 estamos de suerte, hasta el momento los navegadores que existían no estaban muy conseguidos o eran de pago como Bucket Explorer. Pero se acaba de lanzar la beta de CloudBerry….
Amazon Web Services: adorablemente ariscos
Si la semana pasada fue la de DropBox, esta sin duda ha sido la de Amazon S3 y no puedo cerrarla sin comentar algo que me ha resultado curioso sobre este servicio……
Tus copias de seguridad on-line con Amazon S3
Para todos los que nos pasamos las horas pegadas al ordenador, las copias de seguridad es una asignatura pendiente que nunca terminamos de aprobar: conoce las ventajas de utilizar Amazon Web Services….
Tus copias de seguridad: con Amazon S3 y Jungle Disk
Como automatizar tus copias de seguridad en los datacenter de Amazon S3 utilizando Jungle Disk, un estupendo programa que sólo cuesta 20$….
Dropbox, 2GB gratis y olvídate de los pen drive
Dropbox, es una aplicación increíble… desde que anoche la descubrí estoy entusiasmado, realmente va a cambiar mi forma de trabajar. …

Activity Report CloudFront: por el momento me lo puedo permitir

El coste es pequeño, sobre todo porque no pagas cuotas de alta… pero tampoco es como para tirar la casa por la ventana: como se te dispare el consumo te puedes llevar un buen susto con la factura.

A continuación una captura de mi Amazon Activity Report con el detalle de lo que por el momento me está costando compartir mi super video sobre Gears of War 2 alojado en Amazon S3 que muestro a través de CloudFront.

Teniendo en cuenta que ocupa 27 Mb y que llevo consumidos 0.8656 GB… o lo que es igual 885 Mb, el video se habrá reproducido según esto aproximadamente unas 25 veces completo y sin embargo hay contabilizadas 55 requests (por lo que un 50% de las personas lo dejaron a medias): la cifra es coherente con las 114 paginas vistas de la páginas que contiene el video.

Ponte que en lugar de tan poco el video su hubiera visualizado 4.773 veces como aquel que subí a YouTube con fragmentos de Manhattan de Woody Allen, estaríamos hablando de 100 veces más, es decir unos 17 $… que ya empieza a ser dinerillo. Claro está que el video lo he subido a propósito con mucho peso, lo podría haber comprimido mucho más como hacen en YouTube.Aclaro que los 1,88 $ que llevo gastados este mes en S3 (Amazon Simple Storage Service) corresponden a las copias de seguridad que realizo a diario con Jungle Disk… sólo unos pocos céntimos deben corresponder a la subida de las 27 Mb del video.

Lo que está claro es que trabajar con ficheros grandes y mucho tráfico sigue siendo costoso, sobre todo si los quieres compartir a alta velocidad y con baja latencia. Para los que no somos muy pijos lo más barato sigue siendo YouTube y este tipo de pruebas nos permite hacernos una idea del coste que debe implicar mantener una web de este tipo.

Le pase el link de mi artículo a Albert Blanch que sabe un montón sobre CDNs (y casi todo) y estos fueron algunos de los aspectos positivos que destacó:


Muy interesante el servicio.
– Tiene un precio mucho más económico que el resto de CDNs que he consultado.
– Como comentas en el blog, la latencia es muy baja a pesar de no contar con un nodo en España. Los nodos en Europa están en Amsterdam, Dublin, Frankfurt y Londres (creo que este último es el que sirve las peticiones originadas en España).
– Podemos usar un subdominio propio a través de una entrada CNAME en nuestro DNS. Hasta 10 subdominios podemos asignar a cada distribución.