Descubre el almacenamiento on-line ilimitado con Amazon S3

S3 Simple Storage Service es un servicio de Amazon que ofrece almacenamiento on-line ilimitado. Su principal novedad es que solo pagas por lo que consumes. Te explicamos cómo usar esta pieza angular del Cloud Computing

Fernando Plaza

Descubre el almacenamiento on-line ilimitado con Amazon S3

29 septiembre 2010

NIVEL: INTERMEDIO

Todos los que trabajan desarrollando aplicaciones on-line o proyectos webs se han enfrentado en algún momento a problemas de falta de espacio. Ahora que podemos contratar a buen precio un servidor dedicado con dos discos de 1.000 Gbytes y transferencia ilimitada parecen cosa del pasado; no obstante, existen buenas razones que inclinan la balanza hacia el uso de un servicio tipo Amazon S3.

Lo primero que hay que anotar es que S3 no fue concebido para ser utilizado por el usuario final, aunque es más que probable que hayas visitado páginas webs en las que vídeos, imágenes, documentos, etcétera estén alojados en este servicio. De hecho, está dirigido a que los programadores construyan sus aplicaciones utilizando Amazon S3, permitiéndoles ofrecer un mejor servicio. Su forma de interactuar con esta solución es a través de su API (http://docs.amazonwebservices.com/AmazonS3/latest/), si bien existen clientes gratuitos como S3Fox o CloudBerry S3 Explorer que permiten a usuarios de casi cualquier nivel trabajar con S3.

Por ejemplo, se puede usar a diario S3 depositando todos los documentos con los que trabajemos en DropBox, que es un servicio que utiliza S3, y realizar las copias de seguridad de los datos sensibles con Jungle Disk, que también funciona con S3. Finalmente, desde el punto de vista de la programación, es posible, por ejemplo, rediseñar la gestión de imágenes de un CMS con la API de Amazon para que todo lo que se cuelgue en nuestra web se almacene en S3 y se muestre a los visitantes a través de CloudFront, un servicio de Amazon que te permite distribuir el contenido almacenado en S3 al usuario final con mayor rapidez, menor latencia y a mayor velocidad. En definitiva, si eres programador y todavía no has tenido contacto con esta tecnología, cuanto antes lo hagas, mejor.

Paso 1. ¿Cómo empiezo?

Es importante perderle el miedo a S3 y eso solo se puede conseguir trasteando con él. Por ejemplo, seguro que en tu ordenador tienes un montón de fotos que no te gustaría perder, pues cópialas hoy mismo. La experiencia te llevará apenas una hora y te costará probablemente menos de un dólar. Para ello, lo primero es registrarse en http://aws.amazon.com/s3/. A continuación, descárgate la versión gratuita de CloudBerry S3 Explorer desde http://cloudberrylab.com/. Conecta CloudBerry con tu cuenta Amazon S3, facilitando para ello las claves que obtendrás «logueando» en la web de Amazon Web Services, en el apartado Security Credentials. Una vez conectado, crea tu primer bucket en la zona más cercana a ti y arrastra en su interior todo lo que quieras copiar a S3.

S3_paso1

Paso 2. Forma de pago

Con S3, en esencia, pagas por lo que almacenas y por la cantidad de datos transferidos. De esta manera, el uso que se haga de tu aplicación es lo que va a condicionar el coste mensual del servicio. Esto es muy interesante, porque son los costes fijos los que suelen matar los proyectos, es decir, aquellos que no se adaptan a ninguna variable de consumo. Frente a un servidor dedicado en el que normalmente pagarás una cuota fija mensual, con Amazon pagas por el uso efectivo realizado y los precios no dejan de bajar.

S3_paso2

Por poner un ejemplo, y como podéis ven en la imagen, si nos creamos un bucket en la zona Europa-Irlanda, empezaremos pagando 0,15 $ por Gbyte de transferencia y otros 0,15 $/mes por cada Gbyte que mantengamos almacenado en Amazon. Este precio va disminuyendo si hacemos un uso muy intenso del servicio.

Paso 3. Escalable y confiable

¿Planeas ir almacenando documentos hasta superar los 5.000 Tbytes? Con Amazon S3, no hay problema si necesitas mucho o poco espacio. Además, puedes tener la tranquilidad de que la posibilidad de que algo malo ocurra a tus datos es realmente remota, ya que la infraestructura de Amazon S3 se encarga de manera transparente de replicar el contenido que almacenamos en varios sitios y de comprobar regularmente si se ha producido alguna corrupción en los datos para repararla al instante. En un servidor dedicado convencional, normalmente, jugaremos como mucho con una configuración de discos duros en espejo, que no se puede comparar con la seguridad que ofrece S3.

Paso 4. Pensando en la nube

Si analizamos la programación de una web o de una aplicación on-line, en la mayoría de los casos nos vamos a encontrar con que el código que la hace funcionar ocupa bastante poco; por ejemplo, la programación de un blog puede ocupar 1 Mbyte. Realmente, lo que pesa son los datos almacenados en bases de datos y todo lo que podríamos llamar «documentos adjuntos», por ejemplo, las imágenes y los vídeos, que realmente no tienen por qué estar en el mismo servidor.

Amazon S3 nos permite empezar a reconfigurar la forma en la que montamos nuestras aplicaciones o servicios y nos traza el camino hacía un enfoque granulado, más seguro y escalable. Ya no pensamos en nuestras aplicaciones como un todo indivisible, sino que lo desglosamos en almacenamiento, capacidad de proceso, balanceo, bases de datos... Para cada una de esas necesidades, Amazon Web Services ofrece una solución con una capacidad de escalado casi ilimitada.

S3_paso4

Cierto es que todos estos conceptos no son nuevos, los departamentos de IT de las grandes corporaciones, entidades financieras, organismos públicos, llevan décadas lidiando con problemas de escalabilidad, seguridad, confiabilidad…. Pero la inversión en tecnología e infraestructuras de estas empresas es enorme y queda totalmente fuera del alcance de una pequeña o mediana empresa. Ahí es donde el Cloud Computing entra en acción y se convierte en un auténtico game changer donde las empresas ya no son propietarias de la infraestructura física y pasan a consumir los recursos como un servicio.

Paso 5. Una novedad

La cantidad de novedades que Amazon y otras empresas del sector están lanzando es poco menos que inabarcable. En S3, la última novedad ha sido el lanzamiento de Versioning, por el momento en beta. Se trata de una nueva funcionalidad que, al activarla, permite mantener, preservar y recuperar cualquier versión de todo objeto depositado en S3. Esto es algo de lo que los usuarios de DropBox vienen disfrutando desde sus inicios, pero que ahora puede activarse directamente en S3.

S3_paso5

Terminología fundamental

• AWS Account. Para poder trabajar con Amazon, lo primero que tendrás que hacer es abrirte una cuenta y después irte dando de alta en todos los servicios que vayas a utilizar (S3, CloudFront, EC2…), lo que implica la aceptación de los términos de uso particulares de cada uno de ellos. Como Amazon solo te cobra por lo que consumes, darse de alta en S3 no implica ningún coste.

• Buckets. Cuando accedemos por primera vez a nuestro espacio S3, lógicamente, lo encontraremos vacío. Lo primero que tendremos que hacer es crear algo similar a una carpeta en el directorio raíz. Estas carpetas de primer nivel reciben el nombre de buckets y hay que elegir en qué zona de las disponibles en S3 los vamos a crear: US Standard, US N. California o EU – Ireland. Un objeto depositado en EU – Ireland, siempre que sea rutinariamente replicado por Amazon, nunca abandonará esa zona.

• Objets. Los buckets contienen objetos. El tamaño máximo de un objeto es de 5 Gbytes y podemos almacenar tantos como queramos. Un objeto se compone de dos partes: metadatos, valores que describen el objeto, y datos, los cuales permanecen opacos para Amazon.

• ACL (Access Control Lists). Cada vez que alguien intenta acceder a un objeto alojado en S3, Amazon comprueba si tiene permisos para ello consultando su política de control de acceso definida en el ACL. Podemos, por ejemplo, permitir un acceso anónimo de lectura, y cualquier persona podrá visualizar nuestros elementos; o podemos limitar el acceso para que solo nosotros podamos interactuar con los elementos depositados en nuestros buckets.

Glosario
Loading...