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