Windows Azure nos da la posibilidad de trabajar con almacenamiento relacional en la nube.
La curva de aprendizaje de SQL Azure es mínima, y podemos utilizar SQL Server Management Studio (SSMS) para su administración, mientras que nuestros desarrollos accederán a los datos mediante el mismo código ADO.NET. Para obtener los datos del servidor y poder realizar las conexiones pertinentes, debemos recurrir al portal de gestión de SQL Azure y pulsar en el apartado "DataBase". Pese a todo, no nos resultará inmediato conectarnos mediante SSMS, que nos mostrará un mensaje de error al tratar de conectar con el servidor. El problema no es otro que el hecho de que SQL Azure tiene cerradas por defecto todas las puertas de acceso. Para solventar esta situación, volvemos al apartado "Database" del portal y en él seleccionamos la pestaña "Firewall Settings"; añadimos una nueva regla en el cortafuegos indicando nuestra dirección IP y esperamos unos minutos a que la regla se replique.
Una vez solventado el escollo de la seguridad, nos encontraremos con otro error derivado del hecho de que SSMS espera conectarse a un servidor de SQL Server tradicional, no compatible al 100% con SQL Azure, lo que puede provocar algunas incompatibilidades con herramientas de administración como el propio SSMS. Para sortear este último escollo, cancelamos la ventana de conexión y pulsamos el botón "Nueva consulta". De nuevo se visualizará la ventana de conexión, en la que pulsamos el botón "Opciones" e indicamos, en la pestaña "Propiedades de Conexión", el nombre de la base de datos con la que deseemos trabajar. En nuestro caso, al no haber creado ninguna, indicaremos la base de datos master. Pese a no disponer de toda la potencia de gestión de SSMS, podremos ahora ejecutar sentencias de Transact- SQL contra nuestra base de datos en la nube. Es importante destacar que estos primeros problemas de compatibilidad ya se encuentran solventados en el recientemente publicado SQL Server 2008 R2.
Por último, es importante destacar que existen dos versiones de SQL Azure:
la Web Edition, de 1 Gb de capacidad, y la Business Edition, de 10 Gb. Si necesitamos superar los 10 Gb de información relacional, deberemos hacer uso de más de un servidor de bases de datos. Pese a todo, en el pasado MIX de Las Vegas se anunció, con disponibilidad inmediata, una nueva edición de 50 Gb.
Un amplio horizonte de posibilidades
En la actualidad, Azure ya ofrece algunos otros interesantes servicios en producción, además de los que hemos mencionado hasta ahora, así como otros servicios de momento disponibles en evaluación:
- AppFabric (no confundir con el Fabric Controller). Se trata de un conjunto de potentes servicios orientados a las comunicaciones, como el Service Bus, que mediante una implementación del patrón Enterprise Service Bus nos permite registrar y exponer servicios entre diferentes redes a través de dispositivos de control de accesos como firewalls o NAT, o el Access Control, con el que podremos exponer dichos servicios de forma segura.
- Windows Azure Drive. Es un servicio que nos da acceso a una API NTFS, mediante la cual podemos hacer uso de un espacio de disco permanente, implementado con Windows Azure Page Blob. No está pensado para que lo utilicemos como almacenamiento de datos, pues para eso ya tenemos las herramientas de Storage y SQL Azure, sino que está orientado a facilitarnos la migración de desarrollos existentes que hacen uso de recursos locales (por ejemplo, archivos locales de configuración). Cuenta con un límite de 1 TB de información por page blob. Actualmente se encuentra en fase beta.
- Codename Dallas. Es un servicio de datos (DaaS) que nace con la idea de englobar fuentes de datos para que puedan ser consumidas por programadores e information workers. Nosotros también dispondremos de la posibilidad de proveer nuestra información creando servicios propios, que podremos publicar para que sean consumidos por terceros. Este producto se encuentra en CTP, pero para que nos hagamos una idea y clarificar el concepto, entre los servicios actuales se encuentran NASAMars Orbital Images y UNESCO UIS Data.
Conclusiones
La conclusión más importante que podemos extraer acerca del tema de este manual sobre Windows Azure es el empeño que ha puesto Microsoft en no hacer traumático el camino de nuestras aplicaciones hacia la nube, que en muchos casos puede producirse con un simple cambio en la cadena de conexión. Por añadidura, nos ofrece una plataforma de despliegue profesional asequible tanto para nuestro día a día como para los servicios destinados a ser los nuevos casos de éxito de la red; todo ello de una forma sencilla, y aislándonos de la problemática de gestión de servidores y comunicaciones. ¿Y tú? ¿Cuánto vas a tardar en subirte a la nube?Toni Recio y Gerard López
Project Manager y Analista Programador, ambos en Pasiona Consulting