Todo lo que necesita saber sobre AWS S3

Este artículo proporcionará una introducción detallada a AWS S3, el servicio de almacenamiento seguro, escalable y súper económico de Amazon Web Services.

Si alguna vez ha trabajado como desarrollador, es probable que se haya encontrado con casos de uso de almacenamiento de archivos. Desde imágenes simples hasta videos grandes, cargar, almacenar y acceder a esos archivos cuando los necesita siempre es complicado.

La respuesta habitual al almacenamiento de archivos es mantenerlos en el mismo servidor donde aloja sus aplicaciones web. Pero con la llegada de las arquitecturas sin servidor y las aplicaciones de una sola página, almacenar archivos en el mismo servidor no es una buena idea.

Podría argumentar que puede almacenar archivos en bases de datos. Pero créeme, no será una experiencia agradable.

Entonces, ¿cuál es otra opción?

¿Qué es S3?

Veamos AWS S3. S3 es un servicio de almacenamiento económico, escalable y fácil de usar de Amazon. Puede usar S3 para almacenar cualquier cantidad de datos para una amplia gama de casos de uso.

El alojamiento de sitios web estáticos, el archivo de datos y la entrega de software son algunos escenarios generales en los que S3 sería una herramienta perfecta.

Puede enviar y extraer datos fácilmente con S3 utilizando AWS SDK. S3 también admite varios lenguajes de programación populares, por lo que puede usar su pila existente e integrar S3 con bastante facilidad.

S3 también ofrece una excelente interfaz de usuario a través de la consola de AWS. Puede usarlo para ver los datos enviados a S3 junto con opciones adicionales como seguridad y control de versiones.

Cubos

En S3, los archivos se almacenan en depósitos. Los depósitos son similares a las carpetas de su computadora.

Cada cubo tiene su propio nombre único que solo se puede usar una vez. Por ejemplo, si hay un depósito llamado "freecodecamp", ni tú ni nadie más pueden reutilizar el mismo nombre de depósito.

Esto es útil para identificar recursos de forma única y para el alojamiento de sitios web estáticos con nombres de dominio.

No hay límites en la cantidad de archivos que puede almacenar en un depósito. Los depósitos también proporcionan características adicionales como políticas y control de versiones.

También puede utilizar diferentes depósitos para una sola aplicación. Por ejemplo, una aplicación que almacena registros médicos puede usar dos depósitos: uno para datos privados de clientes y otro depósito público que contiene informes técnicos.

S3 también es un servicio de almacenamiento basado en objetos, lo que significa que S3 considera cada archivo como un objeto. Cada objeto puede tener sus propios metadatos que incluyen el nombre, el tamaño, la fecha y otra información.

Tipos de almacenamiento S3

S3 tiene tres clases de almacenamiento basadas en casos de uso general.

Estándar S3

S3 Standard es el plan de almacenamiento predeterminado en el que se le asignará cuando comience a utilizar S3. La clase de almacenamiento estándar tiene un excelente rendimiento, durabilidad y disponibilidad.

S3 Standard es mejor si tiene datos a los que tiene que acceder con frecuencia.

S3 Acceso poco frecuente (S3-IA)

S3 Infrequent Access ofrece un precio más bajo para los datos en comparación con el plan estándar. Puede utilizar S3-IA para los datos que necesita con menos frecuencia.

S3-IA es ideal para casos de uso como copias de seguridad y recuperación ante desastres.

glaciar

Glacier es la opción de almacenamiento menos costosa en S3, pero está diseñada para almacenamiento de archivos. No puede obtener datos de Glacier tan rápido como Standard o S3-IA, pero es una excelente opción para el archivo de datos a largo plazo.

Además de elegir una de estas tres clases de almacenamiento, también puede establecer políticas de ciclo de vida en S3. Esto significa que puede programar archivos para que se muevan automáticamente a S3-IA o Glacier después de un cierto período de tiempo.

¿Por qué utilizar S3?

Empresas como Netflix, Dropbox y Reddit son usuarios ávidos de S3. El popular sistema de almacenamiento de archivos Dropbox construyó toda su capacidad de almacenamiento sobre Amazon S3.

Veamos algunas de las características principales de S3 y comprendamos por qué es tan popular entre las empresas y las nuevas empresas.

Es asequible

S3 es barato. Me refiero a súper barato en comparación con otras soluciones de almacenamiento. Y con S3, solo paga por lo que usa. No hay costos iniciales ni configuración. Es solo plug and play.

Además de los precios asequibles, S3 ofrece un nivel gratuito. Este nivel gratuito viene con 5 GB de espacio de almacenamiento, 20,000 solicitudes GET, 2,000 solicitudes PUT, COPY, POST o LIST y 15 GB de transferencia de datos. El nivel gratuito está disponible todos los meses durante el primer año.

Con S3 puede evitar pagar por espacio o ancho de banda que tal vez ni siquiera necesite.

Es escalable

S3 escala con su aplicación. Dado que solo paga por lo que usa, no hay límite para los datos que puede almacenar en S3.

Esto es útil en múltiples escenarios, especialmente durante un aumento inesperado en el crecimiento de usuarios. No tienes que comprar espacio extra. S3 lo tiene cubierto.

Es seguro

Una de las muchas razones por las que las empresas prefieren S3 es su inclinación hacia la seguridad. Si bien debe proteger las configuraciones de servidor personalizadas, S3 es seguro de forma predeterminada.

Esto no significa que no pueda almacenar información de acceso público en S3. S3 bloquea todos sus datos con alta seguridad a menos que configure explícitamente no hacerlo.

S3 también mantiene programas de cumplimiento, como PCI-DSS, HIPAA / HITECH, FedRAMP, Directiva de protección de datos de la UE y FISMA, para ayudarlo a cumplir con los requisitos reglamentarios de su industria.

Tiene control de versiones

El control de versiones significa mantener varias copias de un archivo y realizar un seguimiento de sus cambios a lo largo del tiempo. Esto es útil, especialmente cuando maneja datos confidenciales.

También puede recuperar archivos borrados accidentalmente cuando habilita el control de versiones con S3.

Sin embargo, si habilita el control de versiones, está almacenando varias copias del mismo documento. Esto puede tener un efecto en los precios, así como en las solicitudes de lectura / escritura que realice.

Así que solo tenga eso en cuenta al integrar el control de versiones para su aplicación.

El control de versiones está deshabilitado de forma predeterminada para S3, pero puede habilitarlo mediante la consola de AWS.

Es duradero

La durabilidad de los datos es una característica subestimada de S3. Dado lo común que es la pérdida de datos entre las empresas, la durabilidad de los datos es un factor fundamental a considerar al crear software empresarial.

S3 proporciona una infraestructura de almacenamiento muy duradera. S3 almacena datos de forma redundante en varias instalaciones, lo que los hace seguros en caso de una falla del sistema. S3 también realiza verificaciones periódicas de la integridad de los datos para asegurarse de que sus datos estén intactos.

S3 ofrece una durabilidad del 99,999999999% (llamada durabilidad de los 9) y una disponibilidad del 99,99% de los objetos durante un año determinado.

Casos de uso de S3

Alojamiento de sitios web estáticos

Puede utilizar S3 como una plataforma de alojamiento de sitios web estática. La diferencia entre los sitios web estáticos y dinámicos es que los sitios web dinámicos reciben y procesan la entrada del usuario. Los sitios web estáticos se utilizan solo para mostrar información.

Con la llegada de las aplicaciones de página única, puede alojar una aplicación web completa en S3, a menudo de forma gratuita.

Frameworks como React y Angular han hecho que el procesamiento de entrada del usuario ocurra dentro del navegador. Puede crear un SPA que escuche API de terceros y alojarlo dentro de S3.

S3 también tiene un gran soporte para el enrutamiento, por lo que también puede usar su propio dominio personalizado.

Recientemente escribí un artículo sobre el alojamiento de una aplicación web React usando S3 y puede encontrar el artículo aquí.

Analítica

Puede ejecutar consultas en sus datos de S3 sin mover sus datos a una plataforma de análisis. Esto convierte a S3 en un gran caso de uso para crear potentes aplicaciones de análisis.

S3 ofrece múltiples opciones, incluidas S3 Select, Amazon Athena y Amazon Redshift Spectrum. También puede combinarlos con AWS Lambda para realizar el procesamiento de datos sobre la marcha.

Compartición de archivos

Amazon S3 también se puede utilizar como una solución económica para compartir archivos. Como mencioné anteriormente en el artículo, el famoso servicio de intercambio de archivos Dropbox se creó por primera vez sobre S3.

Con políticas de seguridad flexibles, puede configurar sus buckets S3 con permisos personalizados para diferentes clientes. S3 también ofrece aceleración de transferencia para acelerar las transferencias de archivos grandes a distancias más largas.

Resumen

Amazon S3 es una gran herramienta con la que trabajar para sus requisitos de almacenamiento web o de aplicaciones móviles. Con precios bajo demanda y escalabilidad en su núcleo, S3 ha sido la solución de almacenamiento en la nube preferida tanto para pequeñas como para grandes empresas.

Empresas desde Netflix hasta Pinterest confían en S3 con sus datos, gracias a la promesa de durabilidad de datos del 99,999999999% de Amazon.

También puede utilizar Amazon S3 como una solución de almacenamiento personal o alojar su próximo proyecto a través del alojamiento de un sitio estático. En pocas palabras, S3 es una excelente solución de almacenamiento multipropósito que se adapta a una amplia gama de casos de uso.

Escribo con regularidad sobre Machine Learning, Cyber ​​Security y AWS. Puede suscribirse a mi boletín semanal aquí.