[Articulo] Azure | Azure Storage: conceptos básicos

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!

 

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.

Acceso mediante Shared Access Signatures

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:

Encriptación de una Cuenta de Almacenamiento en Azure

Encriptación de una Cuenta de Almacenamiento en Azure

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

 

Acerca del Autor

Pablo Ariel Di Loreto

Mi nombre es Pablo Ariel Di Loreto, nací en Mayo de 1981 y soy oriundo de la Ciudad de Berazategui, Buenos Aires, Argentina.

Mis lazos con la informática comenzaron en el año 1998, cuando tenía 16 años, y comencé a aprender como administrar servidores bajo la plataforma Microsoft (Windows Server, Exchange Server, IIS, y otros) y a realizar desarrollos de software con tecnologías ASP y PHP. Un tiempo más tarde comencé a trabajar ya en forma productiva en la administración de plataformas y desarrollo de software.

Desde hace varios años he tenido una intensa actividad en las comunidades profesionales, a través de eventos, webcasts, foros y publicaciones diversas. En Abril de 2014 fui reconocido como Most Valuable Professional (MVP) por parte de Microsoft, estando hoy reconocido en las especialidades "Windows and Devices for IT" y "Microsoft Azure".

En la actualidad me desarrollo como Service Delivery Manager en Algeiba (http://www.algeiba.com), una compañía que brinda soluciones y servicios tecnológicos, dirigiendo un Equipo de Trabajo de más de 20 personas. También soy el Director de TecTimes, un Portal de Tecnología que nació en el año 2012 como parte de un proyecto personal de contribución a la comunidad tecnológica en español.

Deja una respuesta

Se el primero en comentar!

avatar
wpDiscuz