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.

Llega un momento en donde tu cliente pronuncia las temidas palabras: «quiero videos en mi web»… y tú ya empiezas a sudar pensando en ancho de banda, concurrencia de usuarios, ralentización de servidores y sobre todo en aumento de costes. Cuando confluyen las palabras archivos grandes y mucho tráfico, casi todos nos echábamos a temblar… hasta que llegó Amazon Web Services.

Con Amazon S3 podemos alojar ficheros de gran tamaño y pagar un precio muy razonable por la transferencia consumida, con la gran ventaja de que las descargas ya no estresarán nuestro servidor, que podrá centrarse en generar y servir las páginas rápidamente.

Pero cuando uno habla de videos y archivos de 27 Mb como el que nos ocupa, no sólo quieres que el coste no se te dispare, también necesitas rapidez: lo último que deseas es que tu cliente pulse «Play»… y que no ocurra nada. CloudFront nos asegura que la descarga será mucho más rápida y que la latencia se verá reducida al mínimo.

Vamos a ver con un ejemplo práctico lo sencillo que es usar CloudFront sobre S3, para ello voy a compartir con vosotros un video en formato FLV que he editado con algunos buenos momentos jugando al Gears of War 2:

Paso 1 – Lo primero es darse de alta tanto en S3 como en CloudFront, en mi caso sólo he tenido que darme de alta en el segundo porque ya utilizo a diario S3 para realizar las copias de seguridad de la empresa. Como ya sabréis darse de alta no conlleva ningún coste, Amazon sólo te cobra por lo que consumes.

Paso 2 – Utilizando CloudBerry Explorer o similar, nos vamos a crear un bucket para la ocasión. Un bucket es el nombre que se le da a las carpetas en el raiz de tu cuenta S3, tendrás que encontrar un nombre aun disponible porque éste es a su vez el nombre del subdominio que te asignará S3. En mi caso creo «fernandoplaza» y por tanto mi subdominio en Amazon será: fernandoplaza.s3.amazonaws.com.

Subimos a una carpeta dentro de nuestro bucket el fichero que queremos compartir, en mi caso un FLV:

 

Paso 3 – Mientras que se sube vamos a aprovechar para ir creando una «Distribution», para ello nos descargaremos en Firefox un programa gratuito S3 Organizer (con esta herramienta puedes hacer también el paso anterior si quieres). Configúrala para que acceda a tu cuenta S3 y puedas visualizar tus bucket, después haz clic con el botón derecho del ratón sobre el bucket recien creado y elige «Manage Distributions»… después pulsa el botón «Create Distribution»:

Con esto Amazon creará otro subdominio pero esta vez en cloudfront.net que es una imagen del nuestro, es decir, puedes acceder a los mismos ficheros que en tu bucket original pero ya a través de CloudFront y por tanto mucho más rápido.

Este proceso puede tardar unos cinco minutillos, el status de la petición pasará de «InProgress» a «Deployed» (hay que pulsar sobre el icono de refrescar) y entonces ya sabremos que ha terminado:

Paso 4 – Por último sólo tenemos que asegurarnos de que al fichero FLV que hemos subido se puede acceder públicamente, para ello revisaremos los permisos y comprobaremos que «Todos lo usuarios» pueden «Leer» el archivo. Esto se puede hacer también con CloudBerry Explorer:

Listo! Ya sólo queda ver el resultado, para ver si es tan rápido como dicen.

Para reproducir los FLV desde la web yo utilizo JW Player, que para uso no lucrativo es gratuito, incrustaremos el código necesario y llamaremos al video utilizando la URL en «clodufront.net».

Este es el resultado final, a mi se me carga muy rápido teniendo en cuenta que son casi 30 Mb… ¿y a vosotros?



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.

Se trata de un explorador muy sencillito, tiene aspecto de terminal FTP y te permite realizar las funcionalidades básicas de un explorador: copiar ficheros, cambiarlos de nombre, crear buckets, crear carpetas…

También puedes modificar los permisos de una carpeta o archivo para hacerlos de acceso público y así poder tirar directamente de ellos en tu web -como hace twitter con las fotos de los perfiles- o ayudándote de un `intermediario´ como el nuevo Amazon CloudFront que te permite distribuir tu contenido con una menor latencia y a mayor velocidad algo especialmente útil si hablamos de contenido multimedia (estamos pendientes de probarlo, puedes leer más en error500).

Entre sus funcionalidades más avanzadas podemos destacar la posibilidad de transferir contenido desde un bucket de Amazon S3 a otro, o incluso desde una cuenta de Amazon S3 a otra.

Y poco más… la verdad es que todavía está un poquito verde, pero funciona perfectamente. Como podéis ver el interface es muy simple: a la izquierda mi equipo y a la derecha mi cuenta Amazon S3 donde tengo creados todos mis bucket (algunos no los utilizo pero he reservado el nombre para que no me lo quiten), los que tienen nombres raros son los bucket creados por Jungle Disk para las copias de seguridad que están encriptados.

 
Como ya comentamos el ecosistema de aplicaciones, proveedores y usuarios que se está creando entorno a los Amazon Web Services es treméndamente rico. Algunas empresas están aprovechando la oportunidad y pegándose a Amazon en esta aventura, consiguiendo un número importante de usuarios que no deja de crecer y andan como locos buscando aplicaciones.

Yo como usuario estoy totalmente enganchado ya a Dropbox que ha cambiado mi forma de trabajar y estoy seguro de que Jungle Disk -que recientemente fue adquirido por Rackspace- no tardará en sacar su propio navegador completando su funcionalidad de copias de seguridad.

En definitiva es The Cloud Computing Revolution que estamos viviendo en primera persona, el blog de Jungle Dave es un buen lugar para mantenernos al día sobre todos estos temas.

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…

Todo podría resumirse en la frase que encabeza la lista de funcionalidades de S3:

Amazon S3 is intentionally built with a minimal feature set

Y es que todos los Web Services de Amazon (AWS), sin excepción, son ariscos. Acostumbrados a aplicaciones 2.0 con nubecitas, sombreados y botones de colores… la presentación de los AWS es la cosa más intencionadamente aspera que te puedes echar a la cara… y digo intencionada porque estamos hablando de Amazon y esta gente sabe vender: sólo tenemos que comparar la pantalla de presentación de AWS con la Home de Amazon, repleta de imágenes y colores: 

No les habría costado nada poner un par de imágenes de sus datacenters o presumir un poco de su «$2 billion (…) infrastructure»… en lugar de eso han preferido apoyarse en la confianza que ofrece el peso de su nombre y dejar que otros puedan ganarse la vida aportando valor sobre sus servicios.

Y es que son cientas las empresas que están desarrollando software basado en AWS que en muchas ocasiones «sólo» se limitan a incorporar aquellos features que Amazon intencionadamente ha decidido no desarrollar: por ejemplo, en el hosting de S3, algo tan básico como un explorador para crear tus buckets y carpetas, modificar permisos y subir archivos de manera sencilla… no es ofrecido por Amazon, si bien puedes encontrar un montón en el ecosistema que se ha creado entorno a los AWS.

Los programadores y emprendedores se sienten animados a construir servicios basados en plataformas que no amenazan con competir con ellos en el futuro y la imagen externa de AWS transmite precisamente eso: no nos interesa el usuario final, eso lo dejamos en tus manos.

Algo que sin duda contrasta con esos ademanes de Apple »el paradigma de la plataforma cerrada«, que por una parte anima a que se desarrolle para su plataforma y por otra, elimina sin pudor de su circuito aquellos desarrollos que compiten con los suyos.

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.

Son muy pocas las personas que conozco que disponen de un buen sistema de copias de seguridad que les permita estar seguros de que sus datos están blindados.

El secreto de las copias de seguridad es que tienen que hacerse de manera automatizada o no se harán, ya que cada vez estoy más convencido de que el ser humano no está diseñado para realizar de manera fiable tareas repetitivas, por lo tanto, mi recomendación es: configura un sistema robusto de copias de seguridad y automatízalo para que no tengas que revisarlo más de un par de veces al año.

Hoy en día creo que uno de los lugares más seguros para depositar tus copias de seguridad son los datacenters de Amazon S3, además a un coste muy razonable. Depositando ahí nuestros datos conseguimos varias cosas:

  • Las copias de seguridad no se encuentran en el mismo sitio que los originales.
  • Las copias de seguridad se mantienen seguras en unos sistemas que a su vez hacen copias de seguridad para mantener la integridad de sus datos y garantizar la disponibilidad.
  • El contenido de tus copias está encriptado y se transmite bajo SSL.

Con Amazon S3 puede elegir si tu contenido estará alojado en sus datacenter de EE.UU o de Europa, y pagas un precio realmente competitivo. A continuación puede echar un vistazo a nuestro reporte de actividad para ver los precios:

Con este sistema que te propongo no sólo dormirás tranquilo por las noches sino que además podrás tener una primera toma de contacto con los Amazon Web Services y sus increíbles posibilidades. ¿Todavía no he conseguido picar tu curiosidad? Pues sólo imagínate lo bien que vas quedar con tus clientes soltando una parrafada de este estilo:

 

… en nuestra empresa todos los días por la noche realizamos una copia de seguridad encriptada y automatizada que se envía bajo protocolo seguro a través de Internet a nuestro espacios contratados en datacenters repartidos por Europa y EE.UU»… (*)

 

¿Te animas? Pues te espero en la segunda parte de este artículo:

(*) Si por algún casual a tu cliente le da por preguntar «¿Exáctamente en qué parte de Europa están esos datacenters?» te recomiendo que cambies de tema de conversación o que sueltes algo así como «no dispongo de acceso a esa información por razones de seguridad».

Tus copias de seguridad paso a paso: 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$.

En la primera parte de este artículo os comentaba las ventajas de realizar tus copias de seguridad a través de Internet y depositarlas en los datacenter de Amazon S3. A continuación os explico cómo hacerlo paso a paso:

1 – Lo primero que tienes que hacer es perderle el miedo y darte de alta en Amazon S3… tranquilo, si luego no llegas a utilizar tu cuenta no te van a cobrar absolutamente nada.

2 – Después necesitarás un programa que te permita realizar copias de seguridad y almacenarlas en los servidores de Amazon S3. Hay bastantes, ya que el ecosistema que se ha creado entorno a los servicios de Amazon es asombroso.

Yo el que estoy utilizando es Jungle Disk, que por el momento me va a las mil maravillas y lo puedes probar de manera gratuita. Con este programa conseguiremos dos cosas: realizar nuestras copias de seguridad y además tener acceso a ellas como si fueran otra unidad de disco de nuestro sistema.

Esto es muy importante porque cuando te aventuras a volcar tus datos en datacenters a miles de kilómetros a través de Internet… para estar realmente tranquilo necesitas ver y entender cómo se están almacenando todos esos datos que estás enviando.

Como podéis ver, mis copias de seguridad en Amazón las he colocado en la unidad S y hay dos carpetas «backups» donde se encuentran mis archivos más actuales y «VersionArchive» que es donde van a parar todas las versiones anteriores de mis archivos una vez son sustituidas por copias más recientes.

Lo de las versiones es vital, porque imagínate que borras un registro de la base de datos y te das cuenta una semana después… lo más probable es que tu copia de seguridad ya haya replicado la base de datos sin ese dato, pero como guardas las versiones anteriores aun puedes recuperar una copia anterior al momento del borrado accidental.

3 – Con Jungle Disk por tanto puedes realizar tus copias en plan rudimentario: arrastrando tus carpetas manualmente al interior de tu unidad S3, en lugar de a un CD o un disco duro externo…

o puedes dedicarle un par de horas y dejarlo ya funcionando en modo automático con lo que podrás centrarte en otras cosas, yo te recomiendo esto último.

Por lo tanto lo primero que tienes que hacer es crear un bucket en Amazon donde almacenarás tus copias de seguridad. Un «bucket» es como un espacio reservado en sus servidores, por lo que lo primero que tendrás que decidir es si quieres crearte ese espacio en USA o en Europa: si estás en Europa se supone que accederás más rápido a los datos en los datacenter europeos, aunque es un pelín más caro.

Yo me he creado dos bucket: s3europa y s3usa. En USA hago la copia diaria de las bases de datos que inicio a las 5 de la mañana y en s3europa hago un volcado global semanal que inicio los viernes a las 8 de la tarde. Existe una buena razón para abrirte un bucket en EE.UU. como he hecho yo (a parte de ser guay) que explico más adelante.

4 – Ya tenemos nuestro bucket creado con Jungle Disk, ahora sólo tenemos que elegir qué queremos copiar (unidades locales y en red) y empezar el primer volcado, que será el que más tiempo dure ya que tenemos que subir a S3 absolutamente todos los archivos.

Como se puede ver en esta captura nosotros subimos 4,2 GB y eso nos llevó algo más de un día entero con ADSL a 3Mb (en los test de velocidad tenemos una bajada de 2.597 kbps y una subida de 267 kbps… y sí, este es el momento en el que entiendes lo que quiere decir la A de «asimétrica«).

Subir por tanto datos es 10 veces más lento que bajarlos, pero hay que tener en cuenta que en las siguientes copias de seguridad sólo se subirán aquellos ficheros que se hayan añadido o modificado, que normalmente serán una pequeña parte.

5 – Después del primer volcado, definiremos cada cuánto tiempo queremos refrescar nuestra copia de seguridad y también podremos definir algunas variables importantes: número de versiones que queremos almacenar del mismo documento, cada cuanto tiempo queremos eliminar las versiones anteriores…etc.

Como habéis visto el proceso básico es muy sencillo, yo he calculado que nos va a costar menos de 40$ al mes mantener blindados todos nuestros datos y eso con un uso intenso. Un particular podría realizar una copia semanal de sus documentos importantes y no le costaría ni 1$/mes.

6 – Por último, si llegado el momento necesitas acceder a una copia de tus datos puedes utilizar el asistente de Jungle Disk o navegar por tus unidades virtuales y recuperar tú mismo el fichero dañado. Esto dependerá del volumen: si necesitas hacer un Restore a lo bestia, mejor usa el asistente… pero si son sólo un par de ficheros, lo mejor es que los arrastres tu mismo al escritorio y les eches un vistazo antes de machacar tu copia local.

Seguridad

Nosotros en nuestras copias hemos activado la encriptación para que los archivos cuando salgan de nuestro entorno ya vayan encriptados. Esto es algo que se suma a propia seguridad de Amazon y su acceso restringido a través de la AWS Secret Key… que da para otro artículo.

 

Jungle Disk Plus

Con el servicio Jungle Disk Plus -que se contrata a parte- dispones de algunas ventajas adicionales. Para empezar: reportes por mail y en RSS, que te permiten supervisar que todas tus copias se están ejecutando correctamente y tal vez la más importante: block-level file updates, que actualmente sólo está disponible en los datacenter de Amazon en EE.UU (por eso me tuve que crear un bucket en USA).

Con block-level file updates cuando un archivo grande se modifica, sólo necesitas subir a Amazon la parte del archivo que ha cambiado en lugar del archivo entero. Esto te permite ahorrar en tu factura de Amazon y sobre todo acelerar el refresco de tus copias de seguridad: nosotros lo aplicamos a nuestro refresco diario de bases de datos.

Con Jungle Disk Plus también podrás acceder a tus archivos desde cualquier parte del mundo utilizando Web Access, que según lo que he visto no está muy desarrollado pero llegado el momento te puede sacar de una apuro.

Resumiendo…

… no lo pienses más: en un par de horas puedes dejar solucionado tu sistema de copias de seguridad a un precio muy razonable y aprender cosas nuevas.