Diseño: estrategia de uso del almacenamiento en niveles

Almacenamiento Arquitectura

En este post, hablaremos de los diferentes niveles de almacenamiento de Azure Storage y estudiaremos los casos de uso habituales. También veremos cómo se pueden utilizar estos niveles para ayudar a administrar los datos almacenados en blobs de Azure.

Azure Storage

Azure Storage es un servicio administrado por Microsoft que proporciona almacenamiento redundante y con una elevada disponibilidad. Existen varios tipos de almacenamiento de Azure Storage:

  • Azure Blobs: Se suelen usar para cargar y administrar imágenes, documentos y datos generales
  • Azure Files: Permiten crear recursos compartidos de archivos mediante el Bloque de mensajes del servidor (SMB) 3.0, de modo que los sistemas puedan acceder a los archivos a través de una ruta de acceso de convención de nomenclatura uniforme (UNC)
  • Azure Data Lake: Permite almacenar grandes volúmenes de datos complejos para tareas como análisis de macrodatos

Este módulo se centra sobre todo en la optimización de Azure Blob Storage.

Blobs de Azure

Se pueden usar blobs para almacenar grandes cantidades de datos no estructurados, como texto o datos binarios, en archivos independientes. Los blobs se organizan en contenedores, y no existe ningún límite en cuanto al número de contenedores que se puede crear en una cuenta de almacenamiento. Cada contenedor puede incluir un número ilimitado de blobs, y un blob debe residir siempre dentro de un contenedor.

Los contenedores no admiten subdirectorios, pero se puede crear una estructura lógica si se agrega / a los nombres de archivo. Por ejemplo, guardamos un archivo denominado Report.txt en el nivel superior de un contenedor como /Sales/Report.txt. Para cualquier servicio que acceda al archivo, da la impresión de que el archivo está guardado en un subdirectorio denominado Sales.

Niveles de acceso de almacenamiento de blobs

Azure Storage proporciona varios niveles de almacenamiento. Cada uno de estos niveles tiene precios diferentes, siendo el nivel con mejor rendimiento aquel que incurre en los mayores costos. Mediante la configuración de estos niveles, se puede optimizar el equilibrio entre la velocidad de acceso a los datos y los costos correspondientes.

Actualmente existen cuatro niveles de almacenamiento de blobs:

  • Nivel de acceso frecuente: Se trata del nivel predeterminado y se usa con los datos a los que se accede con frecuencia. Resulta más caro almacenar datos aquí que en los niveles de acceso Esporádico y Archivo, pero es más barato acceder a ellos. El nivel Frecuente admite un SLA con una disponibilidad del 99,9 %. El nivel Frecuente se puede establecer en el nivel tanto de cuenta como de objeto.
  • Nivel de acceso esporádico: Este nivel se usa para almacenar datos a los que se accede con menos frecuencia, como archivos archivados, copias de seguridad o datos sin formato o sin procesar. El nivel Esporádico está pensado para datos que probablemente se almacenen durante al menos 30 días. El almacenamiento esporádico tiene un costo inferior que el almacenamiento frecuente (por GB). El importe dependerá de la región. El nivel Esporádico admite un SLA con una disponibilidad del 99,9 %. El nivel Esporádico se puede establecer en el nivel tanto de cuenta como de objeto.
  • Inactivo: Este nivel está optimizado para almacenar datos modificados o a los que se accede con poca frecuencia. El nivel Inactivo está pensado para datos que probablemente se almacenen durante al menos 90 días. Tiene menores costes de almacenamiento, pero mayores costes de acceso en comparación con el nivel de acceso Esporádico. Puede establecer el nivel de acceso Inactivo en el nivel de blob.
  • Archivo: Esta es la opción más rentable para almacenar datos, pero suele ser más cara para recuperar datos que los demás niveles. La opción Archivo está pensada para datos que probablemente se almacenen durante al menos 180 días, así como en escenarios o sistemas donde se tolera la latencia de recuperación. El nivel de acceso Archivo solo se puede establecer en el nivel de blob.

Los niveles de acceso Frecuente y Esporádico son los únicos que se pueden establecer en el nivel de cuenta.

Los niveles Frecuente, Esporádico, Inactivo y Archivo se pueden usar con cuentas de almacenamiento de uso general V2.

Se puede alternar entre los niveles de acceso en cualquier momento, en caso de que los patrones de uso cambien. El cambio entre niveles es inmediato, excepto cuando quiera extraer datos del nivel Archivo. Los datos del nivel Archivo están sin conexión, y solo estarán disponibles metadatos para consultarlos en línea. Para acceder a los datos del nivel Archivo, primero hay que rehidratar el blob.

Rehidratación de blobs

La rehidratación de blobs es el proceso por el cual se recuperan datos del nivel Archivo y se trasladan de un almacenamiento sin conexión a uno en línea. Los datos se pueden rehidratar a los niveles Frecuente o Esporádico. Puede iniciar el proceso cambiando el nivel del blob de Archivo a Frecuente o Esporádico. Este proceso puede tardar hasta 15 horas.

Precios

El costo de almacenamiento varía en función del nivel de almacenamiento que se va a usar:

  • El costo derivado de almacenar datos disminuye a medida que vamos bajando desde el nivel de acceso Frecuente, siendo el nivel Archivo la opción más asequible.
  • El costo derivado de recuperar datos aumenta cuanto más abajo sea el nivel de acceso; por ejemplo, el costo por recuperar datos desde el nivel Esporádico será superior en comparación con el de recuperar datos desde el nivel Frecuente. Recuperar datos desde el nivel Archivo es la opción más costosa.
  • Cambiar los niveles de almacenamiento también genera un gasto.

Administración del ciclo de vida de Azure Blob Storage

La administración del ciclo de vida de Azure Blob Storage permite usar reglas y directivas para mover datos automáticamente entre niveles. Usar directivas ayuda a controlar los costos y el rendimiento del almacenamiento.

La administración del ciclo de vida permite hacer lo siguiente:

  • Mover blobs a los niveles Esporádico o Archivo.
  • Eliminar blobs.

Puede crear reglas para lo siguiente:

  • Mover blobs al nivel Esporádico cuando hayan transcurrido X días.
  • Mover blobs al nivel Archivo cuando hayan transcurrido X días.
  • Eliminar blobs cuando hayan transcurrido X días.

Os animamos a compartir con nosotros vuestras opiniones en X@mundoazure

Deja una respuesta

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