sábado, 14 de enero de 2012

Servicio S3 de Amazon

Tema 3: Ejercicios 3 Pág. 126



3. Busca información sobre el servicio S3 de Amazon y su relación con Dropbox

Servicio S3 de Amazon
Una de los grandes problemas a los que nos enfrentamos los desarrolladores a la hora de lanzar un gran proyecto que incluya el almacenamiento y servicio de una gran cantidad de datos es el de conseguir un sistema rápido, con alta disponibilidad y, además, económico.
La mayoría de proveedores de hosting nos ofrecen la posibilidad de contratar servidores con gran capacidad de almacenamiento, pero suelen ir ligados una tarifa de pago por transferencia de datos, por lo que si lo que buscamos es servir archivos de gran tamaño como fotos o vídeos, nos encontraremos con que la factura a final de mes será más alta de lo que nos imaginábamos al principio.
Justo en ésta época en la que las nuevas conexiones de banda ancha nos permiten acceder a contenidos cada vez más pesados, y la demanda de servicios de publicación y reproducción on-line de contenidos multimedia se ha visto incrementada, Amazon ha desarrollado AWS (Amazon Web Services), un conjunto de servicios que he hecho la vida un poco más fácil y economizada a los desarrolladores que se han propuesto lanzar proyectos de este tipo.
Dentro de AWS encontramos S3 (Simple Storage Services), un servicio de almacenamiento masivo, totalmente transparente, que nos permite colgar todos nuestros datos en los Data Center de Amazon sin preocuparnos por ningún tipo de límite. Fotos, vídeos…

 

Capacidad, Seguridad y Disponibilidad

Uno de los puntos fuertes de S3 es su transparencia a la hora de alojar nuestros datos. Nunca tendremos que preocuparnos por la capacidad de almacenamiento que tiene nuestra cuenta, ya que dispondremos de un único contenedor con una capacidad virtualmente ilimitada. Cuanto más almacenemos, más pagaremos.
Físicamente, nuestros datos estarán distribuidos por los Data Center de Amazon, pero es algo que permanece ajeno a nosotros y de lo que jamás tendremos que preocuparnos. La escalabilidad es un concepto que con S3 se vuelve superfluo. Amazon ya se encarga por nosotros de disponer de nuevas máquinas y más unidades de almacenamiento, y de hacer que todo funcione sin que estemos al tanto de ello.
Para la organización de nuestros archivos, Amazon ha creado tres conceptos:
· Buckets: son algo parecido a un directorio o carpeta de nuestro sistema  
      operativo, donde colocaremos nuestros archivos. Los nombres de los  
      buckets están compartidos entre toda la red de Amazon S3, por lo que
      si creamos un bucket, nadie más podrá usar ese  nombre para un  
      nuevo bucket.
· Objects: son las entidades de datos en sí, es decir, nuestros archivos. Un object
                 almacena tanto los datos como los metadatos necesarios para S3, y
                 pueden ocupar entre 1 byte y 5 Gigabytes.
· keys: son una clave única dentro de un bucket que identifica a los objects de
            cada bucket. Un object se identifica de manera unívoca dentro de todo S3
            mediante su bucket+key.
En cuanto a seguridad, Amazon ha implementado un sistema de permisos de acceso a archivos por usuario, a los que podremos dar capacidad de “Lectura”, “Escritura” o “Control Total”.
Por defecto tendremos tres usuarios: Owner (referente al usuario que alojó el archivo), Authenticated Users (referente a usuarios autenticados en Amazon), Everyone (referente a todos los usuarios no autenticados, es decir, cualquier cliente en todo Internet). Aunque podremos añadir nuevos usuarios de S3 con permisos específicos para nuestros datos.
Amazon nos asegura un99, 9% de disponibilidad, lo que iguala cualquier sistema de alta disponibilidad que podamos contratar, y nos llegaría a devolver hasta un 25% de lo facturado en caso de una disminución de disponibilidad por debajo del 99%.

 

Métodos de Acceso, Upload y Download

Amazon dispone de una API para la comunicación de nuestras aplicaciones con S3, que acepta peticiones mediante HTTP Request cifradas con Crypt/HMAC. Cada acceso que hagamos a esta API deberá estar validado mediante dos claves que nos proporciona Amazon y que, junto a un hash basado en una semilla temporal, información de acceso, y la key de destino, generan una firma que el sistema validará.
Estas peticiones HTTP nos permitirán el upload de archivos, modificación de permisos, eliminación de objects, creación de buckets… En definitiva, todas las acciones necesarias para administrar nuestro S3.
Para el “download” de archivos tendremos dos opciones:
· HTTP Requests para archivos con acceso exclusivo de usuarios validados o
                             propietario.
· URL HTTP para archivos con acceso a lectura habilitado para el usuario “Everyone”
Cada archivo en S3 posee una URL única, lo que nos facilitará mucho el poner a disposición de nuestros clientes todos los datos que almacenemos.

Integración con aplicaciones y limitaciones de S3

S3 permite el acceso al servicio mediante HTTP Request, lo que lo hace virtualmente accesible desde cualquier aplicación que nos propongamos integrar.
S3 es sólo un servicio única y exclusivamente de almacenamiento, por lo que intentar colgar aplicaciones web en S3 nos será prácticamente imposible, ya que no dispone de intérpretes de lenguajes dinámicos y no nos será útil más que para colgar páginas estáticas.

 

Tarifas y Servicios
El servicio S3 se factura de cuatro maneras distintas, y conjuntas:
· Almacenamiento mensual: cuanto más almacenemos en S3, más pagamos. Se trata de una tarifa por GB almacenado/mes.
· Transferencia de Datos: una tarifa decreciente en la que cada GB transferido nos costará más barato cuanto más transfiramos.
· Accesos GET: solicitudes de archivos. Cada acceso a un archivo nos cobrarán.
· Accesos PUT/LIST: solicitudes de envío o solicitud de listados.

 

Y la relación con Dropbox es que Dropbox utiliza el servicio de almacenamiento S3 de Amazon

Página web: Amazon



No hay comentarios:

Publicar un comentario