Si ya has tenido la oportunidad de utilizar Microsoft Azure, tendrás muy claro que desde el portal podemos desplegar una gran cantidad de servicios en la nube, basta con hacer unos clics y llenar algunos campos de información para lograr este objetivo. Pero ¿existe otra forma de hacerlo? la respuesta es «si» y de varias formas, en esta ocasión nos centraremos en ARM o mejor conocido como Azure Resource Manager.

Desde los inicios de la nube de Microsoft Azure existía un modelo llamado ASM (Service Manager) el cual era el encargado de desplegar los servicios a manera de aprovisionamiento y bajo demanda. Todo empezaba conteniéndose en un servicio en la nube (Cloud Service).

En el anterior portal de Microsoft Azure (http://manage.windowsazure.com) todavía en funcionamiento, se tiene la visión de crear recursos de una manera individual, para un proyecto que involucra muchos servicios todo se ve por separado.

[ Modelo ASM ]

  • Orientado a servicios individuales.
  • Sin vinculación entre ellos.
  • Administración aislada.

Desde la llegada del nuevo portal de Microsoft Azure (http://portal.azure.com) la perspectiva cambia, y ahora primero se ve un «Grupo de recursos» en el cual están vinculados uno o más servicios, de nueva cuenta, para un proyecto que involucra muchos servicios, lo podemos asociar como un Grupo de recursos o Resource group en inglés, este modelo se llama ARM (Azure Resource Manager).

[ Modelo ARM ]

  • Orientado a soluciones completas o proyectos.
  • Vinculación entre servicios por grupo.
  • Administración conjunta.
  • Etiquetado de servicios.

Vale la pena definir ahora algunos conceptos esenciales:

  • Recurso: Prácticamente estamos hablando de cualquier servicio disponible en la nube de Azure, desde una sencilla página web, hasta un autómata con Machine Learning.
  • Grupo de recursos: Es un contender que vincula una cantidad determinada de servicios para un proyecto en específico, por ejemplo: Pagina web, base de datos, servicio móvil, worker role, etc. Las operaciones generales que se le pueden aplicar a un grupo de recursos son: Implementación, actualización y eliminación, por lo que debemos estar conscientes que una operación de estas tendrá efecto sobre todos los recursos asociados. Los recursos pueden encontrarse en regiones diferentes, aunque es más recomendable que todos se encuentren bajo una misma cercanía.
  • Plantilla: Se puede definir como un archivo de texto plano en formato JSON que define los recursos que se implementarán bajo un Grupo de recursos.
  • Proveedor: Mejor conocido como Resource Manager en el core de Azure. Aquí hablamos de poder computo, cantidad de almacenamiento, tipo de conectividad. Por mencionar algunos de ellos: Microsoft.Storage, Microsoft.Compute, Microsoft.Authorization y muchos otros más.

Acerca de las Plantillas

Las plantillas básicamente definen la infraestructura y configuración de una solución en Microsoft Azure. Resource Manager de Azure toma estas plantillas en formato JSON y las traduce en llamadas API REST para su ejecución. Por ejemplo:

Las plantillas pueden agrupar los recursos en varias maneras, estos son ejemplos:

Haciendo uso de ARM

Después de esta introducción general veamos ahora como podemos hacer uso de Azure Resource Manager y desplegar un mismo tipo de servicio (virtual machine) de diferentes maneras.


Sígueme en Twitter @vmorenoz

¿Te gustó este artículo? Únete a Facebook en MicrosoftLand

Deja un comentario