Last Updated on 22 agosto, 2017 by
Azure Storage es un servicio en la nube que permite alojar información con la posibilidades de durabilidad, escalabilidad y redundancia de Microsoft. Esta información puede alojarse en varios tipos de storage enmarcados en los siguientes cuatro: Blob, File, Table y Queue.
En esta publicación vamos a realizar una presentación teórica de cada tipo de almacenamiento, vamos a recorrer los tipos que existen, como así también conceptos básicos sobre redundancia y accesibilidad de los mismos.
¡Esperamos que lo disfruten y estamos en contacto!
Tabla de Contenidos
Introducción
Objetivo y Alcance
Esta publicación tiene como objetivo que las organizaciones, como así también sus administradores de IT y desarrolladores conozcan los tipos de almacenamiento que Microsoft Azure provee, como así también una aplicación en el mundo real de cada uno de ellos a través de casos de uso tangibles.
Todos los temas tratados aquí serán en alto nivel técnico, es decir que no entraremos en detalles de bajo nivel sobre el cómo hacer una determinada tarea o acción.
Audiencia
Este documento está dirigido a Consultores, Profesionales IT y personas que desarrollan tareas de Consultoría, Administración y Soporte o que simplemente están interesados en leer e investigar sobre la tecnología alcanzada por esta publicación.
Comentarios y Corrección de Errores
Hemos realizado nuestro mejor esfuerzo para no cometer errores, pero al fin y al cabo somos seres humanos. Si deseás reportar algún error o darnos feedback de qué te pareció esta publicación, por favor no dejes de comunicarte con nosotros a través de correo electrónico a la siguiente dirección: info@tectimes.net.
Desarrollo
¿Qué es Azure Storage?
Azure Storage es un servicio en la nube que permite alojar información con la posibilidades de durabilidad, escalabilidad y redundancia de Microsoft.
Imaginemos a Azure Storage como un lugar (a eso se lo llama «Cuenta de Almacenamiento») donde podemos alojar información de diverso tipo, ya sea necesaria para que otro servicio de Azure funcione, o información que no se relaciona con un servicio de Azure en si mismo sino a datos que deben ser accedidos en algún momento.
El modelo de comercialización de Azure Storage es como todos los de Azure: servicio con cargos mensuales que tienen variabilidad en relación a: la calidad del mismo (en este caso tipo de replicación, velocidad, etc) y volumen (cantidad en MB, GB, TB).
Azure Storage trabaja bajo el concepto de «Cuenta de Almacenamiento» [Storage Account], dentro del cual se pueden alojar los diversos tipos permitidos.
Tipos de Almacenamiento en Azure Storage
Los datos que pueden alojarse en Azure Storage son de variada cantidad y calidad, pero los mismos deben poder consistirse en los siguientes 4 tipos disponibles: Blob, File, Table y Queue.
Blob Storage
Blob es el acrónimo de «Binary Large Object». Son archivos no estructurados como los que se pueden alojar en una computadora común y corriente: archivos de word, excel, powerpoint, texto plano, etc. Este tipo de almacenamiento es utilizado por Azure para alojar, por ejemplo, los discos de datos de una máquina virtual. Son tipo de datos persistentes.
Azure Storage soporta tres tipos de blobs:
- Block blobs: son usados para archivos que deben ser leidos de principio a fin, con un tamaño de hasta 195 GB.
- Page blobs: son usados para archivos de acceso aleatorio de hasta 1 TB.
- Append blobs: son usados para archivos que se van anexando con un tamaño de hasta 195 GB.
File Storage
Este tipo de almacenamiento es parte del servicio de «file shares» en la nube de Azure. Utiliza el protocolo SMB (Standard Server Message Block) y soporta las versiones 2.1 y 3 del mismo. Estos «file shares» solo pueden ser accedidos desde el mismo datacenter en la misma región.
Table Storage
Este tipo de almacenamiento permite almacenar datos estructurados de tipo NoSQL en la nube. Es un par de tipo «Key/Attribute» con un diseño sin esquema, permitiendo ser adaptable a los datos (por ese mismo motivo) y de rápido acceso. En comparativa con datos estructurados de tipo SQL, es mucho más barato.
Queue Storage
Por último, este tipo de almacenamiento provee una mensajería asincrónica entre componentes de una aplicación, como así también soporta tareas asincrónicas y workflows.
En síntesis, Azure Queue es un servicio que permite alojar un gran número de mensajes que pueden ser accedidos utilizando accesos autenticados HTTP o HTTPS y con un tamaño máximo de 64 KB.Por supuesto, podemos alojar un gran número de mensajes de 64 KB máximo cada uno, hasta llegar al límite de almacenamiento de la cuenta de almacenamiento.
Redundancia de Azure Storage
Una Cuenta de Almacenamiento puede estar configurada con diferentes niveles de redundancia, a saber:
- Localmente Redundante [Locally Redundant]: Es la más básica disponible. Provee alta disponibilidad a través de 3 copias dentro de la misma región en un modelo sincrónico. Cada réplica está alojada en dominios de falla y actualización separados.
- Geo-Redundante [Geo-Redundant]: Es el siguiente nivel de redundancia. Además de las 3 copias sincrónicas del modelo anterior, se suman 3 cpias adicionales asincrónicas en otro datacenter.
- Geo-Redundante + Acceso Lectura [Read-Access + Geo-Redundant]: Es el máximo nivel de redundancia hoy disponible. Además de las 6 copias anteriores, permite acceder en un modelo de «solo lectura» a las copias asincrónicas.
Acceso a Datos de Azure Storage
Acceso a Discos de Máquinas Virtuales
Cuando se despliega una máquina virtual en Azure, debemos alojar los discos virtuales (VHDs) sí o sí en una cuenta de almacenamiento de tipo «Page Blobs». Estos datos son accedidos mediante la máquina virtual o herramientas de exploración (ver más abajo).
Acceso a través de Herramientas
Existen diversas herramientas de tipo «exploradores», como Visual Studio Cloud Explorer o herramientas cliente para acceder a los datos alojados en las cuentas de almacenamiento. Podrán encontrar links a herramientas en el apartado «Referencias y Links» de esta publicación.
Acceso mediante APIs
Los recursos de almacenamiento pueden ser accedidos mediante lenguage de programación que realice requests de tipo HTTP/HTTPS. Adicionalmente, existen librerías para poder consumir el servicio que simplifican de diversas maneras el trabajo de invocación, operaciones masivas, etc. Podrán encontrar una referencia a estas APIs en el apartado «Referencias y Links» de esta publicación.
Acceso mediante Access Keys
Cada cuenta de almacenamiento tiene dos llaves de autenticación: una primaria y otra secundaria. Cada una de ellas puede ser utilizada para acceder a la cuenta y son requeridas para acceso programático a la información.
Si se necesita que los usuarios tengan acceso controlado a los recursos de almacenamiento, se pueden crear «Shared Access Signatures» (SAS), que actúa como un token y permite acceso delegado a una cuenta de almacenamiento. Cualquiera que tenga ese «token» puede acceder al recurso con los permisos especificados por el período de tiempo permitido, e inclusive indicando desde que IPs permitidas.
Seguridad de Azure Storage
Las cuentas de almacenamiento pueden ser encriptadas mediante una simple operación del portal, permitiendo proteger la información que aloja. La encriptación es realizada en los datacenters de Azure y se desencriptan automáticamente cuando se accede:
Es importante mencionar que este servicio está solamente disponible para el Blob Storage.
Conclusiones
Como hemos podido ver, existen diferentes tipos de almacenamiento permitidos en Azure y cada uno de ellos está orientado a una solución específica de negocio.
En muchos casos, un desarrollador o administrador de infraestructura podrá optar por diferentes caminos para alojar una misma pieza de información, como es el caso de un recurso compartido: podrá dar de alta una máquina virtual y compartir un disco dentro de la red de Azure, o podrá optar por File Storage. De una u otra forma, se deben evaluar todos los aspectos relacionados al servicio: necesidades de mantenimiento, rapidez en el despliegue, precios, esfuerzos de mantenimiento, etc.
Esperamos que esta publicación haya sido de interés como introducción a los conceptos básicos de Azure Storage, y ¡nos estamos leyendo!
Referencias y Links
- Azure Storage Clients: https://docs.microsoft.com/en-us/azure/storage/storage-explorers
- Azure Storage Service REST API Reference: https://msdn.microsoft.com/library/azure/dd179355.aspx
- Azure Storage Shared Access Signatures: https://docs.microsoft.com/en-us/azure/storage/storage-dotnet-shared-access-signature-part-1
Acerca del Autor
- [Evento] Microsoft Azure | Tendencias Digitales 2019 – 26/03/2019 - 30 marzo, 2019
- [Evento] Microsoft Azure | Tendencias Digitales 2019 – 06/02/2019 - 12 febrero, 2019
- [Evento] Microsoft Azure | Modernización de Apps con la Nube de Azure – 20/12/2018 - 22 diciembre, 2018