Ir al contenido principal
BlogAlmacenamientoS3-Compatible Object Storage: Una solución escalable para la nube

Object Storage: una solución en la nube escalable y compatible con S3

Solución de almacenamiento de archivos informáticos: S3-Almacenamiento de objetos compatible

El almacenamiento de archivos es tan importante en la nube como en cualquier otro espacio de trabajo de TI. La comodidad y la flexibilidad de la nube ofrecen muchas ventajas. Puedes crear una infraestructura sin un coste inicial significativo y sin perder un valioso espacio.

La buena noticia para los administradores es que la tolerancia a fallos ya está integrada en el entorno de almacenamiento en la nube, pero aún así tendrán que tomar algunas decisiones críticas. Una de las opciones en su viaje a la nube será elegir un formato de almacenamiento de archivos para los recursos de la nube. Las opciones incluyen:

  • Almacenamiento en bloque
  • Almacenamiento de objetos

El almacenamiento en bloque basado en la nube es muy parecido al almacenamiento en bloque en el escritorio o en la sala de servidores. Un dispositivo de almacenamiento por bloques divide los datos en bloques de tamaño fijo y escribe (o lee) los datos bloque a bloque.

El almacenamiento en bloque en red es una extensión de esta misma tecnología de almacenamiento en bloque que ha estado en uso en discos duros y otros dispositivos de almacenamiento durante más de 40 años. El almacenamiento en bloque sigue siendo una alternativa rentable en escenarios que requieren una baja latencia y en situaciones en las que los datos requieren un acceso frecuente. Sin embargo, el almacenamiento en bloque también tiene algunas desventajas. Por ejemplo, el almacenamiento en bloque suele ser más caro y no se adapta bien a grandes conjuntos de datos. Para los datos no estructurados, las copias de seguridad, los archivos y otros escenarios que no requieren un acceso frecuente, el almacenamiento de objetos suele ser la mejor opción. 

El almacenamiento de objetos almacena un único objeto (como un archivo) de una sola vez en lugar de dividirlo en bloques. La ubicación de los datos se determina mediante una función hash, lo que evita la necesidad de una tabla de búsqueda u otro componente de mapeo que podría servir de cuello de botella. Los sistemas de almacenamiento de objetos también proporcionan metadatos ricos y amplios que soportan búsquedas eficientes y permiten algunas capacidades de gestión que no son posibles con el almacenamiento en bloques.

La mayoría de los sistemas de almacenamiento de objetos incluyen funciones de automatización y autogestión que permiten a un solo administrador gestionar más datos que el administrador de un sistema de almacenamiento en bloque. Una mayor eficiencia conduce a un menor coste por GB. El énfasis en la automatización y la autogestión también significa que el almacenamiento de objetos se adapta bien a los entornos DevOps.

El S3 API es un popular API para soluciones de almacenamiento de objetos en la nube. Amazon desarrolló originalmente S3, pero ahora está disponible para todos los proveedores de almacenamiento. S3 almacena datos en cubos referenciados por URL. Un bucket es un recurso de almacenamiento que consiste en un objeto de datos más metadatos descriptivos. Una función opcional llamada versionado de cubos permite almacenar varias versiones del mismo objeto de datos en un solo cubo, lo que crea una forma integrada de control de versiones. 

Varias soluciones de almacenamiento de objetos basadas en la nube son compatibles con S3, lo que significa que si adopta una solución compatible con S3, puede migrar fácilmente a otra solución compatible con S3 o añadir otros servicios basados en S3 a su configuración existente. Muchos servicios de red importantes ya han creado sus interfaces para S3 API , lo que significa que S3 es fácil de integrar con Ceph, OpenStack, Kubernetes y otras tecnologías. 

Un modelo de acceso RESTful basado en HTTP significa que puede crear fácilmente aplicaciones web personalizadas que interconecten un almacén de datos compatible con S3 con otros recursos en una red local o en la nube. Las interfaces compatibles disponibles a través de las principales herramientas de contenedores y virtualización facilitan la integración del almacenamiento de objetos basado en S3 en las soluciones de orquestación automatizada que son esenciales para el entorno DevOps.

La mayor latencia del almacenamiento de objetos significa que el almacenamiento compatible con S3 puede no ser la mejor opción para una base de datos estructurada, pero para los datos no estructurados, los conjuntos de copias de seguridad y otros escenarios similares de almacenamiento de objetos compatibles con S3, su bajo coste y su escalabilidad lo convierten a menudo en la solución óptima.

El almacenamiento de objetos se utiliza con frecuencia para alojar bibliotecas de archivos de audio, vídeo y fotografía. Como cada archivo tiene su propia URL, es fácil incrustar los archivos en sitios web o integrarlos en soluciones de streaming. El bajo coste por GB del almacenamiento de objetos también lo convierte en una buena opción para las copias de seguridad a largo plazo y los escenarios de almacenamiento en frío, en los que sustituye al almacenamiento de archivos en cinta como formato de archivo externo y económico, al que es mucho más fácil acceder que a una cinta almacenada en frío. 

Cuando se trata de sitios web, un sitio dinámico que requiera un sistema de gestión de contenidos (CMS) o un lenguaje de procesamiento del lado del servidor como PHP probablemente esté mejor con el almacenamiento en bloque, pero para los sitios web estáticos construidos en torno a archivos HTML fijos, el almacenamiento de objetos es una opción sencilla y rentable.

Si está considerando añadir el almacenamiento de objetos compatible con S3 a su infraestructura en la nube, podrá elegir entre varios productos y proveedores. AWS ofrece S3 en el contexto de la hiperescala; sin embargo, las empresas medianas y pequeñas que no cuentan con una infraestructura masiva suelen encontrar que la nube alternativa ofrece un coste total de propiedad más bajo y mejores características de coste-rendimiento. El término nube alternativa se refiere a una clase de proveedores de nube que ofrecen un catálogo de servicios de nivel empresarial para las empresas que pueden no tener un equipo de expertos en nube en plantilla. El énfasis está en el bajo coste, la simplicidad y un servicio al cliente más personal.

Las empresas que ya utilizan proveedores de hiperescala como AWS también eligen a veces una solución de nube alternativa para un proyecto específico que podría beneficiarse de la simplicidad y el menor coste. En ese caso, una arquitectura compatible con S3 garantiza que las aplicaciones y los servicios desarrollados en torno al almacenamiento de S3 en la nube de Amazon funcionarán de inmediato en el entorno de la nube alternativa.


Comentarios (1)

  1. Author Photo

    Does this mean that we can use boto3-like python package to deploy objects (jpgs) to Linode block storage? Similar to what you can do with Backblaze? https://help.backblaze.com/hc/en-us/articles/360047629793-How-to-use-the-AWS-SDK-for-Python-with-B2-

    If so, that would be amazing!
    P.S.
    Per this liode post, that seems to be the case https://www.linode.com/community/questions/20332/how-do-i-upload-a-file-to-object-storage-using-python

Dejar una respuesta

Su dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *.