Windows Azure Storage Tools: Programa en Azure más fácil con herramientas de terceros

A continuación un compilado de las herramientas que uso a diario para manejar el Storage de Windows Azure, así como un diagnóstico de lo que me han parecido has ahora:

Gladinet Cloud Desktop (Free Edition):

Esta herramienta permite mapear a una unidad de red nuestro Blob Storage en Azure. Es bastante útil para hacer backups, o subir archivos para nuestras aplicaciones directamente desde nuestro Windows Explorer. Permite conectarse a otros servicios de storage además como FTPs, Skydrive (súper útil), Amazon y Google. Sencillamente nos pide el endpoint y el Primary Key y listo. Se crea un directorio virtual dentro de un drive llamado Gladinet. En este drive quedan todos los servicios de storage configurados.
Una de las cosas más interesantes que hace, es abstraer el hecho de que en los blobs de Azure no tenemos un manejo de carpetas como en el sistema de archivos al cual estamos acostumbrados. (Detalles aquí). Así que automáticamente renombra los blobs de manera que imitan una estructura de carpetas y de igual manera, cuando se extraen del blob storage hacia las carpetas locales, crea una jerarquía a partir del nombre extendido.
Por ejemplo estos blobs en una cuenta de storage de Windows Azure llamada warstorage en nuestro explorador de archivos con Gladinet se muestran así:

clip_image002
Las rutas rest de estos blobs serían:
https://warstorage.blob.core.windows.net/thecloudware/Level1/Level2/Koala.jpg
https://warstorage.blob.core.windows.net/thecloudware/Level1/Level2/Desert.jpg
https://warstorage.blob.core.windows.net/thecloudware/Level1/Level2/Tulips.jpg

Para finalizar, Gladinet permite copiar carpetas completas aún desde dentro del storage en la nube; cosa supremamente útil. No soporta el Developer Storage.

Mi calificación: StarStarStarStar

Windows Azure Blob Storage Client

Es una de las primeras herramientas surgidas para esta tarea. Creada con WPF, se encuentra en Codeplex, así que es Open Source. Es muy básica. Útil para pequeñas tareas rutinarias o para aprender a manejar el API examinando el código. Tal como Gladinet solo permite manejar Blobs; pero a diferencia de este, solo permite manejar una cuenta a la vez. Permite subir varios archivos a la vez, pero no carpetas (no puede hacer la abstracción). Además he detectado problemas para subir archivos Silverlight (.xap). Soporta el Developer Storage. Es muy inestable. Para fines educativos está bien.

Y viendo ya los blobs sin la abstracción de jerarquía de carpetas con una herramienta como Windows Azure Blob Storage Client, veríamos:

clip_image004
Como se aprecia, los blobs sencillamente han sido renombrados representando la jerarquía de carpetas.

Mi Calificación: StarStar

myazurestorage.com

Es una herramienta web basada en MVC creada por Microsoft y de uso gratuito que permite explorar todos los elementos del storage de Windows Azure para una cuenta determinada. Es así como podemos interactuar con los blobs, tablas y colas. Es una gran aplicación disponible en todo lado, gracias a que es Web. Las credenciales no se guardan en el servidor y sólo se almacenan en una cookie cifrada en el equipo. Observemos como se ve nuestro ejemplo en esta herramienta:

clip_image006

Como se aprecia, si establecemos un delimitador de carpetas simulado (en este caso “/”) la página nos muestra correctamente la jerarquía. Si lo omitimos, lo veríamos de esta manera:

clip_image007

Esta herramienta solo permite subir de a un archivo; pero también permite crear tablas, nuevas entidades dentro de esas tablas, ejecutar consultas sobre las tablas y el mismo manejo con las colas. Maneja correctamente el Root Container. Obviamente al ser web, no soporta el Developer Storage.

Mi calificación: StarStarStar

Azure Storage Explorer

Esta es una grandiosa herramienta también OpenSource (en Codeplex) que ha sido una donación de la compañía NEUDESIC un partner gold de Microsoft que la desea dejar abierta para la comunidad. Al día de hoy va en su versión 4 liberada el mes pasado. Así que se mantiene constantemente con innovaciones y correcciones. En esta versión por ejemplo permite manejar varias cuentas separadas por los tabs de una bella aplicación creada en WP usando el patrón MVVM. Permite CRUD con blobs, tablas y colas. Además permite reproducir los blobs de media (imagen, video, audio). Como cosa curiosa, no hace la abstracción de jerarquías en Azure (ahora mismo les estoy enviando el feedback, pues sería cool) Aquí les muestro cómo se ve nuestro ejemplo:

clip_image009
No permite subir carpetas completas, pero sí múltiples archivos.

Mi calificación: StarStarStarStar

Cerebrata Cloud Storage Studio

Esta es la herramienta PRO para manejar el Storage de Azure. No es free (la única versión free es la Developer que solo se conecta al Development Storage). Tiene un trial e 30 días. No solo administra el storage, sino que también sirve para administrar los servicios de hosting (eliminar deployments, etc. Aunque no logré conectarme con el servicio de hosting desde este tool). Está construido nuevamente sobre WPF y abstrae correctamente la jerarquía de directorios, chequeando los nombres de los blobs. De una manera poco intuitiva, permite subir correctamente toda una carpeta con subdirectorios. En este sentido Gladinet hace un trabajo más transparente y lo mejor de todo, gratis. Tiene un muy buen manejo para CRUD de tablas y colas. Y sobretodo un muy buen query builder para las tablas. Los menús contextuales son bastantes ricos, por lo que operaciones frecuentes son muy fáciles de ejecutar. Por ejemplo creación de snapshots, modificación de propiedades, obtención de urls, etc. Para un ambiente profesional, vale pagar los cerca de US$70 que vale, aunque no es indispensable. Para finalizar un vistazo de nuestro ejemplo:

clip_image011

Mi calificación: StarStarStarStar

Windows Azure Cmdlets:

Son un conjunto de scripts diseñados específicamente para PowerShell. Fueron creados y publicados por Microsoft y en muchas ocasiones son base para construir otras aplicaciones más gráficas que no requieren el uso de la consola para funcionar. Aunque no manejan directamente operaciones CRUD sobre el storage, si nos permiten ejecutar operaciones administrativas como manejo de las llaves de acceso, del estado de publicación de los servicios de storage, del api de diagnósticos, etc. Es free.

Mi calificación: StarStar

Windows Azure MMC Snap In

Este snap in fue creado por Microsoft usando los cmdlets mencionados anteriormente y es genial porque se integra a la consola MMC así que el uso es bastante intuitivo. Permite ejecutar tareas administrativas ( a través de los cmdlets ) y tareas operativas con el storage. Todo esto está implementado usando MEF, de manera que si lo deseamos, podemos modificar cualquier parte de este snapin, poniendo la funcionalidad que queramos. También es Free, y el ejemplo de nuestro storage se vería así:

clip_image013

No hay abstracción de jerarquía, pero lo interesante es que podemos subir un container completo. Entonces escogemos una carpeta en nuestro sistema de archivos y ésta se sube con todos sus contenidos como un nuevo container a Windows Azure. Si ese folder tiene subcarpetas, entonces renombra los archivos con la estructura. Desafortunadamente tiene un pequeño bug, y es que antes de comenzar con la jerarquía pone un “/” adicional:

clip_image014

Que obviamente no está de acuerdo con el formato convencional. Sin embargo el código fuente está disponible y se puede corregir. Tampoco nos permite subir múltiples archivos, y el refresh como siempre en MMC solo ocurre tras oprimir F5 (no es automático). Sin embargo, para administradores de IT lo veo perfecto pues está más enfocado a diagnóstico y servicios y con un soporte moderado a storage.

Veredicto:

En conclusión, Windows Azure tiene un gran set de tools para manejar su storage. Además como lo pueden ver, es una gran oportunidad de negocio también volverse productor de herramientas para aplicaciones de Azure. Azure nos da la bienvenida a todo un mundo de nuevos negocios.