[Articulo] Azure | Azure Resource Manager (ARM): conceptos básicos

Azure Resource Manager (conocido como ARM) ha sido un cambio radical en la forma en que vemos, administramos y organizamos los recursos en Microsoft Azure, comparativamente con el modelo de Servicio conocido como “Azure Service Model” (ASM).

En esta publicación vamos a recorrer los conceptos más básicos de ARM, con el objetivo de poder tomar mejores decisiones al momento de tener que utilizar grupos de recursos.

¡Esperamos que lo disfruten y estamos en contacto!

 

[toc]

Introducción

Objetivo y Alcance

Esta publicación tiene como objetivo exponer los conceptos que consideramos básicos sobre Azure Resource Manager, en pos que los administradores de IT puedan tomar mejores decisiones de agrupamiento de recursos.

El alcance de esta publicación está referido a desarrollar en alto nivel los conceptos básicos de Azure Resource Manager en relación a: qué es y para qué sirve. Adicionalmente, dejaremos un apartado para los Grupos de Recursos (Azure Resource Groups) en pos de definir los lineamientos más básicos y en alto nivel sobre cómo utilizarlo.

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

Introducción a Azure Resource Manager

¿Qué es Azure Resource Manager?

Azure Resource Manager es en si mismo un mecanismo de despliegue, administración y organización de recursos en Microsoft Azure. Conceptualmente, permite ver a los recursos como un grupo, desplegarlos como tal, y sumar funcionalidades de RBAC por item.

Este concepto fue anunciado por Microsoft en el Build del año 2014, en pos de superar limitaciones que la plataforma en ese momento tenía. En paralelo, también fue anunciado el acceso al nuevo portal (portal.azure.com) en reemplazo del portal legacy (manage.windowsazure.com).

Muchos confunden, justamente, que ARM (las siglas de “Azure Resource Manager”) solo puede accederse y utilizarse mediante el nuevo portal. No obstante, esto no es del todo correcto, si bien es cierto que algunos recursos (como cómputo, redes y storage basado en ARM) solo puede accederse desde la nueva URL. El resto de los recursos que fueron convertidos “naturalmente” hacia ARM también pueden accederse (en su mayoría) desde el portal legacy.

 

Conceptos Básicos

Existen conceptos básicos que tenemos que tener en cuenta en el momento de utilizar Azure Resouce Manager, a saber:

  • Recurso [Resource]: representa un item disponible en Azure, tal como una máquina virtual, una cuenta de almacenamiento, una aplicación web, una red virtual, un balanceador, etc. Cada item que podamos crear en Azure y consumirlo, o que necesitemos crearlo para consumir otro (por ejemplo cuenta de almacenamiento -> disco virtual) es un recurso.
  • Grupo de Recursos [Resource group]: es un contenedor virtual que puede tener recursos dentro para formar, en si mismo, una solución de Azure. Un grupo de recursos puede tener dentro recursos de todo tipo: una máquina virtual, una aplicación web, una red virtual, almacenamiento, etc. La lógica de agrupación suele relacionarse con la duración en tiempo de los recursos o su interacción para que, en el todo, sirvan a algo más “grande”.
  • Proveedor de Recursos [Resource provider]: es un servicio que suministra los recursos que pueden ser desplegados con ARM. En si mismo, cada recurso se integra en grupos que responden a un proveedor, a través del cual se pueden realizar operaciones comunes sobre dichos recursos. Por ejemplo, el proveedor de recursos “Microsoft.Compute” sirve para operar máquinas virtuales como recurso; el proveedor de recursoso “Microsoft.Storage” sirve para operar recursos de almacenamiento; etc. Cuando queremos operar un recurso (ya sea crearlo, editarlo o eliminarlo) hacemos uso de su proveedor.
  • Plantilla de Administrador de Recursos [Resource Manager template]: es un archivo JSON (JavaScript Object Notation) que define uno o más recursos a desplegar en un grupo. De esta forma, podemos automatizar, indicar dependencia entre los recursos, y no perder tiempo generandolos manualmente. Por ejemplo: podemos generar a través de una plantilla un entorno de SharePoint en alta disponibilidad, indicando que primero debemos generar una red virtual, con subredes definidas, luego los controladores de dominio, luego los servidores de base de datos, etc etc etc. Este orden, relación y dependencia es posible gracias a Azure Resource Manager, y podemos formalizarla mediante una plantilla escrita en un archivo JSON.
  • Sintaxis Declarativa [Declarative syntax]: permite escribir en forma humana y natural una sentencia u orden sin necesidad de escribir una secuencia de programación basada en comandos. Un template es un ejemplo de esto, permitiendo definir propiedades de una infraestructura para desplegar en Azure y no cada comando aislado (crear un disco, agregar memoria, etc etc etc).

Consideraciones sobre Grupos de Recursos [Resource Groups]

Como ya hemos explicado, un grupo de recursos permite tener bajo un criterio varios recursos agrupados lógicamente con los cuales operar e inclusive asignar permisos. Al momento de tomar decisiones sobre el criterio de agrupamiento, debemos considerar en forma recomendada los siguientes puntos:

  • Todo recurso debe pertenecer a un grupo. No puede haber recursos sin que pertenezca a ningún grupo.
  • Todos los recursos deberían tener el mismo o similar ciclo de vida.
  • Se puede asignar un recurso a un solo grupo a la vez.
  • Se puede agregar o remover un recurso del grupo en cualquier momento. Esto incluye en muchos casos también la posibilidad de mover un recurso de grupo, si bien no es posible realizarlo en todos.
  • Los recursos de un grupo pueden estar en diferentes regiones.
  • Se puede utilizar el concepto de grupos de recursos para determinar RBAC sobre ellos.

Teniendo en cuenta estos puntos, es posible tomar mejores decisiones.

Conclusiones

El concepto de Azure Resource Manager (ARM) nos brinda muchos beneficios, a saber:

  • Se puede desplegar, administrar y monitorear los recursos como un todo, como un grupo, y no verlos como algo “individual” y sin relación entre ellos.
  • Se pueden realizar tareas repetitivas (como deploy) en un estado consistente, permitiendo establecer prioridades y relaciones entre los recursos al momento de desplegarlos.
  • Se puede administrar la infraestructura en un modelo declarativo y no a través de scripts.
  • Se puede utilizar el mismo modelo RBAC al que estamos acostumbrados en ADDS, pero en ARM.
  • Nos permite ordenar nuestros recursos en forma lógica en una suscripción.

Referencias y Links

No aplica para esta publicación.

Acerca del Autor

0 0 votes
Article Rating

Professor. Techie. Ice cream fan (dulce de leche). My favorite phrase: "Todos los días pueden no ser buenos ... pero hay algo bueno en todos los días". Currently I´m Engineering Manager at MODO (https://modo.com.ar), the payment solution that allows you to connect your money and your world to simplify everyday life. Modo is a payment solution in which you can send, order and pay from your mobile device in the safest, most practical and convenient way. I enjoy a lot of educational, technological talks and a good beer. If you want to talk, write me to pablodiloreto@hotmail.com.

Subscribe
Notify of
guest

0 Comments
Inline Feedbacks
View all comments