Introducción a Amazon S3 — AprenderBigData.com

Oscar Fmdc
4 min readApr 13, 2020

--

En esta entrada aprenderemos en qué consiste el servicio de Amazon S3, cómo funciona a alto nivel y por qué es una excelente opción para centralizar archivos y datos en la nube. Además, lo comparamos con HDFS para determinar sus diferencias.

¿Qué es Amazon S3?

Amazon S3 (Simple Storage Service) es el servicio de almacenamiento de objetos de Amazon Web Services (AWS) de tipo PaaS (Platform as a Service). Es la solución más común para almacenar datos en la nube de una forma segura, eficiente y escalable.

Con este servicio, podemos almacenar información de cualquier tipo, que se tratará como objetos. Por ejemplo, podemos usar S3 para almacenar fotografías, archivos de texto, código de webs estáticas, logs, backups, vídeos, etc.

S3 es uno de los servicios más conocidos y usados de AWS. Además está totalmente integrado con la mayoría de los otros servicios ofrecidos. La alternativa en la nube de Microsoft Azure sería el servicio Azure Blob Storage.

¿Cómo se almacenan los datos? S3 Bucket

Los datos en S3 se almacenan como objetos dentro de los llamados Buckets. Un objeto es la unidad básica de almacenamiento, consiste en un fichero con un identificador y metadatos asociados. Un Bucket en Amazon S3 no es más que un directorio lógico de alto nivel en el que se encuentran los objetos, cada uno de ellos identificado con una clave. Un ejemplo de identificación de objeto puede ser el siguiente:

s3://bucket-a/2020/log.csv

El nombre del Bucket en este caso sería “bucket-a” y la clave del fichero dentro de ese Bucket “2020/log.csv”. Para acceder a los ficheros almacenados en S3 y descargarlos, existen varios métodos e interfaces: URL con autenticación, API Rest, la consola de AWS (AWS console) y los SDKs disponibles. Además, se pueden subir archivos a Amazon S3 con clientes FTP.

Al usar S3, es importante tener en cuenta las políticas de acceso, y evitar en lo posible dejar los buckets públicos. Es posible crear reglas y ACLs (Listas de Control de Acceso) para definir quién tiene acceso a los buckets y los objetos almacenados. También hacer uso de la transferencia de ficheros con el protocolo SSL.

Características de Amazon S3

S3 tiene un modelo de consistencia eventual. Esto significa que es posible que inmediatamente después de la actualización de un objeto, no se devuelva la última actualización hasta que se haya propagado y replicado en el sistema de forma asíncrona. También puede ocurrir al eliminar un fichero. En este caso, podría seguir apareciendo en los listados durante un tiempo. El tiempo puede variar entre varios segundos y horas, dependiendo de factores como el tamaño de los objetos y las regiones de destino.

La disponibilidad del dato que proporciona S3 es muy alta, del 99,99% por defecto. Existen varios tipos de almacenamiento que permiten ajustar la disponibilidad a las necesidades. Además, escala verticalmente de forma transparente y nos proporciona una capacidad de almacenamiento prácticamente ilimitada acorde al uso de datos.

El coste del servicio depende de su uso, tanto en capacidad de almacenamiento usada como en peticiones de red. Este precio es muy competitivo e incluye la replicación y backups de los datos, que se gestionan de forma automática y transparente. S3 también permite almacenar datos comprimidos. De esta forma, se puede reducir el coste total.

En cuanto al rendimiento de S3, hay que tener en cuenta las latencias de conexión. En el caso de usar S3 con otros servicios de AWS, podría ser despreciable, al existir optimizaciones en las redes y encontrarse entro del mismo ecosistema. Por otro lado, si estamos usando S3 como capa de almacenamiento para nuestro sistema on-premise, es un factor muy importante a considerar respecto al uso de otras tecnologías de almacenamiento como HDFS y sus ventajas.

Amazon S3 Glacier

AWS también proporciona otro servicio basado en S3 llamado Amazon S3 Glacier. Este servicio está orientado a proporcionar almacenamiento de objetos duradero para archivos de datos a un precio muy reducido.

El precio de este servicio es de aproximadamente 1 euro por terabyte al mes. Ofrece varias opciones de acceso, desde minutos a horas. También existe un servicio aún más frío, y con accesos desde 12 a 48 horas para tener los datos disponibles llamado Amazon S3 Glacier Deep Archive.

El uso más común de estos servicios de Amazon S3 Glacier es para almacenar copias de seguridad. Estos ficheros no tienen la necesidad de ser accedidos al instante, y generalmente se puede sacrificar el tiempo de acceso para ahorrar costes, ya que a su vez suelen ser ficheros de gran tamaño.

Amazon S3 vs HDFS

Es común comparar estas dos tecnologías como capa de almacenamiento en nuestros sistemas big data. Aun así, no dejan de ser totalmente diferentes, existiendo casos de uso para ambas. En esta sección vamos a comparar los aspectos principales de cada una de ellas para tener un buen criterio de elección.

Si quieres aprender más sobre Amazon S3, sus diferencias con HDFS y algunas preguntas frecuentes haz click aquí.

Si quieres conocer más sobre la diferencia entre el almacenamiento de objetos (por ejemplo con S3) y el almacenamiento de bloques, sus ventajas y cuándo usar cada uno de ellos echa un vistazo a esta entrada:

Almacenamiento de Objetos vs Almacenamiento de Bloques

Echa un ojo a mi lista de reproducción de Big Data en Youtube

Originally published at https://aprenderbigdata.com on April 13, 2020.

--

--

No responses yet