Azure Resource Manager – Présentation

Lorsque j’ai écris le billet sur une introduction au Azure Function j’avais prévu de faire un billet concernant le déploiement de celle-ci. Donc voici la première partie qui est en faite une première plongée dans le monde d’ Azure Resource Manager ou ARM.

Azure Resource Manager ou ARM est le service de déploiement et de gestion d’Azure. Il fournit une couche de gestion qui vous permet de créer, de mettre à jour et de supprimer des ressources dans votre compte Azure. Vous utilisez des fonctionnalités de gestion, telles que le contrôle d’accès, les verrous et les étiquettes, pour sécuriser et organiser vos ressources après le déploiement.

Présentation

.Lorsque j’ai écris le billet sur une introduction au Azure Function j’avais prévu de faire un billet concernant le déploiement de celle-ci. Donc voici la première partie qui est en faite une première plongée dans le monde d’ Azure Resource Manager ou ARM.

Alors qu’est-ce que c’est encore que ce nouveau acronyme, cette “nouvelle” technologie. Et bien déjà on parle plus de modèles ARM qui vont permettre de déployer rapidement des infrastructure dans le Cloud Azure.

Toutes sociétés actuelles utilisent sa méthodes pour pouvoir déployer rapidement les applications de manière Agile donc dans des courtes itérations.

Il faut donc pouvoir avoir la même agilité, rapidité dans le monde du Cloud pour pouvoir effectuer les déploiements. Microsoft pour son Cloud a donc établie une approche en tant que code.

Les modèles ARM

Cette approche code, est déclarative de ce que l’on veut comme infrastructure, comme service, comme ressources et non plus comme on le fait souvent de comment on le fait.

Par exemple, pour avoir une application de fonction dans Azure on va simplement dire que l’on veut une application de fonction. C’est Azure qui va se débrouiller tout seul pour sa création, sa modification.

Ces modèles ARM sont représentées par des fichiers au format *JSON* (JavaScript Object Notation) qui vont décrire l’infrastructure que l’on souhaite mettre en place et non pas les instructions pour la mettre en place.

Dans un modèle on va donc simplement spécifier la ou les ressources que l’on souhaite mettre en place et renseigner les propriétés de chacune d’elle(s). Par exemple, son nom, sa localisation, son plan d’exécution.

Architecture ARM

L’envoie d’une requête ARM peut s’effectuer à l’aide de différents outils mais le résultat obtenus sera identiquement le même. Vous verrez des résultats et capacités cohérentes au travers de tout les différents outils.

Les outils sont les suivants :

  • Le portail Azure ;
  • Azure PowerShell ;
  • Azure CLI ;
  • Un client REST.

Ces outils passent soit par l’API ou le SDK d’Azure.

Le choix de l’outils est surtout un choix de l’utilisateur car ils peuvent réaliser les mêmes opérations sur Azure. Pour ma part, j’ai un faible pour l’Azure CLI et ensuite le portail.

Schéma de gestion des requêtes Azure

Couche de Gestion de cohérence
Source : Microsoft

Terminologie

Avant de pouvoir commencer à écrire ses propres scripts JSON pour ARM voici quelques définitions de termes que l’on va rencontrer souvent dans les documentations.

Ressource

Une ressource est tout élément se trouvant dans Azure qui est gérable, qui sont à notre disposition pour effectuer certaines tâches. Par exemple : une application de fonction, une machine virtuelle, un firewall, les abonnements sont des ressources.

Groupe de Ressources

Comme son nom l’indique, cela sert à regrouper des ressources entre elles selon un schéma définit par l’utilisateur ou par exemple par rapport à l’organisation. Une ressource ne peut être que dans un groupe de ressource. Un groupe de ressource ne peux pas être imbriqué dans un autre. Les ressources qui sont mises dans le groupe de ressources doivent avoir le même cycle de vie.

Fournisseur de ressources

Tout simplement ce le service qui va fournir un type de ressource pour son utilisation. Par exemple le fournisseur : Microsoft/Storage fournit des solutions de stockage dans Azure. Vous pouvez retrouver l’ensemble des ces ressources au travers du Resource Explorer sous le portail d’Azure.

Modèle d’Azure Ressource Manager

C’est nos fameux fichiers au format JSON “étendue”. Car il respect bien la norme JSON mais comme on le verra plus tard on peut parler d’un langage déclaratif car dans ce fichier l’on pourra être aidé par des fonctions, des paramètres, des variables, et bien d’autres concepts.

Syntaxe Déclarative

Lors de l’écriture de notre modèle on aura à l’esprit : Voici ce que je souhaite créer et non pas le comment faire.

Résumé

Voilà, une petite introduction au base de ARM. Je vous laisse la documentation Microsoft sur les concepts de base qui est exhaustive sur le sujet. Ici, ce n’est que de faire une présentation pour avoir les bases dans l’écriture de notre modèle ARM pour déployer notre Azure Fonction.

Stay tuned logo

Frédéric Schmidt

Lead Technical Architect.

Ajouer un commentaire

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

Recent Comments

    %d blogueurs aiment cette page :