Cómo no romper los límites, cómo crear una buena arquitectura y cómo hacer un buen mantenimiento

Administración del ciclo de vida de archivos en Azure Blob Storage

Azure Blob Storage es el core de almacenamiento en Azure, servicios como Azure Virtual Machines dependen de él como base de almacenamiento para los discos VHD de las máquinas virtuales. Aplicaciones nativas en la nube utilizan este servicio para almacenar los activos como imágenes, hojas de estilos, etc.

En ENCAMINA hemos desarrollado una API, llamada Gada-i, que da soporte al archivado de los documentos de las organizaciones y que utiliza, Azure Blob Storage para almacenar los documentos y Azure Cosmos DB para guardar los metadatos asociados al documento.

Independientemente del tipo de blob es importante que definamos un ciclo de vida adecuado para la información y que no tengamos un repositorio eterno de archivos sin ningún tipo de gestión ni control del coste de los mismos.

Pongamos como ejemplo los documentos de un CRM. Cuando creamos una cuenta nueva, lo habitual es que accedamos frecuentemente a sus documentos mientras trabajamos en su contrato o en su expediente. Con el paso de los meses, el acceso a esos documentos ya no es tan frecuente y, según pasan los años, casi ni se vuelve a acceder a los documentos o, incluso, tenemos que borrarlos cumpliendo con alguna legislación.

Niveles de acceso

Pensando en el ciclo de vida de los documentos del ejemplo, ¿no sería sensato que el coste de los documentos fuera bajando en función del nivel de acceso? Si los documentos que tienen más de 5 años no se usan pero es necesario guardarlos por temas legales, ¿no debería ser más barato el almacenamiento?

A cambio del rendimiento al leer el archivo, Azure Blob Storage nos ofrece diferentes niveles de acceso que podemos aplicar a cada archivo:

  • Frecuente (Hot)Optimizado para almacenar datos que se consultas con frecuencia, con mayor costo de almacenamiento y menor costo de acceso y transacción.
  • Esporádico (Cool). Optimizado para almacenar datos a los que se accede con poca frecuencia y al menos durante 30 días, con menor costo de almacenamiento, mayor costo de acceso y transacción que el anterior nivel.
  • Archivo (Archive). Optimizado para almacenar datos a los que se accede muy pocas veces y almacenados durante al menos 180 días con requisitos de latencia flexibles, del orden de horas, con menores costo de almacenamiento, mayor costo de acceso y transacción que el anterior nivel.

Si volvemos al ejemplo del CRM, podríamos definir el siguiente ciclo de vida:

  • Todos los documentos nuevos tendrán un nivel de acceso Hot.
  • Cuando un documento tenga más de 6 meses, pasará al nivel de acceso Cool, para disminuir el coste del almacenamiento.
  • Para los documentos con más de 5 años, cambiaremos el nivel de acceso a Archive, disminuyendo todavía más el coste de almacenamiento a cambio de no tener acceso directo al contenido. Para acceder al mismo, hay que hacer un petición de «rehidratación» que puede tardar horas en ejecutarse.
  • Los documentos con más de 10 años serán eliminados.

Ciclo de vida automatizado

La API de Azure Blob Storage da soporte al cambio de nivel de acceso. Con esta API podemos automatizar, por ejemplo desde el CRM anterior, para que vaya cambiando el nivel de acceso de los documentos en función de las fechas de creación o modificación de los archivos, aplicando la lógica de negocio que mejor nos convenga.

Azure Storage tiene un motor de reglas para definir estas reglas de negocio que apliquen al ciclo de vida, independientemente de la aplicación que hace uso de los documentos.

Como podemos ver en la imagen anterior, este motor de reglas nos permite definir los diferentes cambios de niveles de acceso en función de la última fecha de acceso o de la última fecha de modificación, reglas que se aplicarán a los archivos que cumplen con el filtro establecido, como podemos ver en la siguiente imagen.

Gobierno de los datos

Es fundamental que las empresas definan cómo quieren gobernar sus datos y que definan como es el ciclo de vida documental de los archivos que están almacenados en Azure y/o Office 365. El coste de almacenamiento es uno de los factores claves para esta definición, pero también hay reglas de negocio o legislación, como GDPR, que nos obligan a gestionar los documentos.

Office 365 y Azure no son ajenos a estas necesidades y tienen servicios que les dan soporte, como las que hemos visto en este artículo sobre Azure Storage.

mm

Sobre Alberto Diaz Martin

Alberto Diaz cuenta con más de 15 años de experiencia en la Industria IT, todos ellos trabajando con tecnologías Microsoft. Actualmente, es Chief Technology Innovation Officer en ENCAMINA, liderando el desarrollo de software con tecnología Microsoft, y miembro del equipo de Dirección. Para la comunidad, trabaja como organizador y speaker de las conferencias más relevantes del mundo Microsoft en España, en las cuales es uno de los referentes en SharePoint, Office 365 y Azure. Autor de diversos libros y artículos en revistas profesionales y blogs, en 2013 empezó a formar parte del equipo de Dirección de CompartiMOSS, una revista digital sobre tecnologías Microsoft. Desde 2011 ha sido nombrado Microsoft MVP, reconocimiento que ha renovado por séptimo año consecutivo. Se define como un geek, amante de los smartphones y desarrollador. Fundador de TenerifeDev (www.tenerifedev.com), un grupo de usuarios de .NET en Tenerife, y coordinador de SUGES (Grupo de Usuarios de SharePoint de España, www.suges.es)
Esta entrada ha sido publicada en Azure, Data, seguridad. Enlace permanente.
ENCAMINA, piensa en colores