Windows Azure, la nube de Microsoft

Llevamos unos meses probando los servicios de Windows Azure y estamos bastante satisfechos. Por comparativa con otros servicios “en la nube”, la variedad de casos de uso es bastante aceptable, y solo nos costó una mañana entender los conceptos básicos de cómo se estructuran los servicios y descubrir cuales son los casos de uso más apropiados para cada tipo de servicio.

Los servicios que más nos interesaron y evaluamos fueron cuatro:

1. Websites

Poner en marcha el alojamiento de una web basado en una extensa galería de plantillas de aplicación es cuestión de un par de minutos. Están disponibles los gestores de contenidos más usuales, como WordPress, Joomla!, Drupal, y otras basadas en tecnología .NET como DotNetNuke. La lista es larga, y también se puede poner en marcha cualquier otro sistema con soporte php y ASP .NET y gestionarlo mediante un perfil de publicación.

Si los requerimientos técnicos son más estrictos o es necesario tener un mayor control sobre la configuración del servidor de alojamiento es preferible usar una máquina virtual.

2. Máquinas virtuales

Una máquina virtual provee los recursos de un servidor completo con todos los permisos de administrador. Como en el caso anterior, Azure dispone una lista extensa de plantillas de máquinas virtuales listas para desplegar en unos pocos minutos. La asignación de los recursos determina el coste por hora, en base a los parámetros de procesamiento (vcpu), memoria reservada, almacenamiento y tráfico. Una característica a destacar es que las configuraciones de procesamiento y memoria van ligadas entre sí, presentando configuraciones predefinidas: 1vcpu con 1,75GB de memoria, 2vcpu con 3,5GB de memoria, etc. Estos dos recursos -vcpu y memoria- son los de mayor coste, mientras que el precio varía poco si incrementamos disco y tráfico.

Por ejemplo, una pequeña máquina con una pila de aplicación para servidor web estándar basada en Linux (LAMP) puede costar en torno a 35 euros mensuales. El coste para Windows Server es un poco mayor, en torno a 40 euros mensuales. No hay coste de puesta en marcha y prácticamente nulo por una máquina virtual no desplegada.

Para máquinas virtuales en producción, hay que tener en cuenta que por defecto, la dirección IP asignada puede ser asignada a otro recurso si ordenamos un desaprovisionamiento por causas técnicas. Si deseamos preservar la dirección IP asignada a la máquina, hay que mantener la precaución de usar las herramientas de PowerShell para reasignarla como estática. Esta mejora se introdujo en 2013.

3. Backup

Los servicios de recuperación ofrecen una capa de gestión de más alto nivel para automatización y almacenamiento de copias de seguridad. El coste del servicio es aproximadamente 3 veces superior al del servicio de almacenamiento (Azure Storage).

4. Storage

Almacenamiento en bruto muy barato, aprox 0,035 € / mes por GB, incluyendo redundancia geográfica. Utilizamos las librerías Node.js para acceder a Azure Storage y nos pareció relativamente fácil, rápido y fiable subir archivos como blobs y luego recuperarlos. Sería sencillo programar unos cuantos scripts para usar como servicio de almacenamiento de respaldo a un coste mucho menor que Azure Backup.

windows azure

Administración

Las herramientas de administración del propio panel son muy del estilo de la interfaz Modern (Windows 8, Surface, Windows Phone). Son intuitivas, pero no son suficientemente cómodas a la hora de tener en pantalla toda la información necesaria del servicio que se está intentando administrar en cada momento. Esto obliga a retroceder con frecuencia para asegurarnos de que la operación solicitada se está solicitando sobre el servicio deseado y no sobre otro, acción que podría tener consecuencias desastrosas.

En el lado más positivo, la ayuda online de Azure está bien explicada y documentada, y además se encuentran por la red otras fuentes igualmente profusas y de calidad en guías de uso. A destacar:

  • Los SDK para distintas plataformas de desarrollo (.NET, PHP, Ruby, iOS, …)
  • El Powershell y cmdlets para la propia administración programática de los servicios de Azure
  • Librerías desarrolladas para PHP que permiten el acceso a servicios de Azure
  • Particularmente útil la librería Node.js para acceso a servicios de Azure desde Linux

Además, Microsoft ofrece una gama de servicios de administración con modalidades que van desde la resolución de consultas hasta servidores totalmente administrados. El servicio técnico es eficiente y responde con diligencia. Por otra parte, el servicio de soporte gratuito para nuevas cuentas es muy básico.

Cloud real

Entre los sistemas que hemos tocado, está entre los mejores en niveles de redundancia, sobre todo si tenemos en cuenta también su precio. Desde el mismo panel de gestión, al desplegar un recurso podemos elegir varias opciones de redundancia local (en el mismo nodo) y geográfica (en distintos datacenter). Además, cada nodo cuenta con redundancia de hardware. Todo esto unido constituye un sistema de alta disponibilidad con uptimes envidiables.

Es recomendable elegir siempre redundancia geográfica en los despliegues de recursos si no queremos tener suspensiones de servicio ocasionadas por los trabajos de mantenimiento que se programan de tanto en tanto.

Conclusiones

Nos encontramos ante una colección de servicios que se va ampliando con frecuencia y que cubren todos los posibles usos que podamos pedir a un datacenter avanzado, con un precio muy competitivo, y un soporte caro pero eficiente para aquellas empresas que realmente lo necesiten. Muy cercano al modelo comercial Freemium que lleva ya muchos años funcionando con éxito en el ámbito del desarrollo de software y servicios online.