Comment choisir l’outil approprié pour vos déploiements sur Azure ?

Il y a plusieurs façons de déployer des ressources dans le Cloud. Chaque providers développent ses propres outils pour permettre à leurs utilisateurs de déployer des ressources. Cependant il existe également des outils open-source qui permettent de déployer des ressources chez ces providers. Dans cet article, nous allons voir les critères à prendre pour faire ce choix et étudier les outils que l’on peut utiliser pour réaliser ses déploiements sur Azure.

Do not index
Do not index
Il y a plusieurs façons de déployer des ressources dans le Cloud. Chaque providers développent ses propres outils pour permettre à leurs utilisateurs de déployer des ressources. Cependant, il existe également des outils open-source qui permettent de déployer des ressources chez ces providers. Dans cet article, nous allons voir les critères à prendre en compte pour faire ce choix et étudier les outils que l’on peut utiliser pour réaliser ses déploiements sur Azure.

Les critères à prendre en compte

Niveau d’automatisation

Le niveau d'automatisation requis pour le déploiement peut également être un facteur important à considérer. Certains outils de déploiement permettent une automatisation complète, tandis que d'autres nécessitent plus de configuration manuelle.
Certains outils pourront vous ralentir lorsqu’il s’agira de redéployer des changements sur votre infrastructure.

Complexité du déploiement

La complexité du déploiement est un facteur important à prendre en compte.
En effet, si vous devez rattacher une IP publique à votre VM, cette tâche sera un peu plus compliquée avec un outil en ligne de commande comparé à un outil comme Terraform.
Si le déploiement est simple, un outil de déploiement simplifié pourrait suffire. Si le déploiement est complexe, un outil plus sophistiqué et robuste sera nécessaire.

Compétences techniques de l’équipe

Les compétences techniques de l'équipe de développement sont également importantes. Si l'équipe est à l'aise avec un outil spécifique, il peut être judicieux de continuer à l'utiliser. Si l'équipe a besoin d'être formée sur un nouvel outil, cela peut prendre du temps et des ressources supplémentaires.
Dans le cas où un outil en ligne de commande correspond à vos besoins et que votre équipe manipule déjà PowerShell, utiliser la CLI Azure ne sera pas le mauvais alors que vous pouvez installer le module AZ sur PowerShell. Votre équipe sera déjà familière avec l’outil et les fonctionnalités resteront les mêmes.

Les différents outils

Le portail Azure

Le portail Azure est une interface graphique qui vous permet de créer et gérer toutes vos ressources et l’kutilisation des différents services Azure.
 
notion image
 
Quelques exemples de ce que vous pouvez faire via ce portail:
  • Rechercher des ressources, des services et des documents.
  • Gérer les ressources.
  • Créer des tableaux de bord personnalisés et des favoris.
  • Accéder à Cloud Shell.
  • Recevoir des notifications.
  • Liens vers la documentation Azure.
Le portail est un très bon outil pour découvrir les services Azure et faire des déploiements de test. En revanche, cet outil ne vous permettra pas d’automatiser des déploiements et il est possible de faire des erreurs dans les configurations lors d’un déploiement car il faut à chaque fois reparamétrer la ressource.

L’Azure CLI

Azure CLI est un programme en ligne de commande qui permet de se connecter à Azure et d’exécuter des commandes d’administration sur les ressources Azure.
Les commandes de l’interface CLI sont structurées en groupes et sous-groupes. Chaque groupe représente un service fourni par Azure, et les sous-groupes séparent les commandes pour ces services en regroupements logiques. Par exemple, le groupe storage contient des sous-groupes, dont accountblobshare et queue.
💡
L’Azure CLI est disponible en local grâce à une installation ou dans un navigateur via Azure Cloud Shell

Le module Azure AZ PowerShell

Azure PowerShell est un module que vous ajoutez à Windows PowerShell. Il vous permet de vous connecter à votre abonnement Azure et de gérer les ressources, tout comme l’Azure CLI.
💡
Le module Azure AZ PowerShell est disponible en local grâce à une installation ou dans un navigateur via Azure Cloud Shell

Les modèles Azure Resource Management (ARM)

Les modèles ARM sont des fichiers JavaScript Object Notation (JSON) qui définissent l’infrastructure et la configuration de votre déploiement. Le modèle utilise une syntaxe déclarative. La syntaxe déclarative est un moyen de générer la structure et les éléments qui soulignent les ressources qui ressembleront sans décrire son flux de contrôle.
Pour une meilleure efficacité lors de l’écriture de modèles ARM, vous pouvez utiliser le module VS Code.
💡
Les modèles ARM sont de l’Infrastructure as Code (IaC)

Terraform

Terraform est un outil open-source d'Infrastructure as Code (IaC) créé par HashiCorp. Il permet de décrire de manière déclarative et dans un langage unique l'ensemble des ressources nécessaires à la mise en place et la gestion d'une infrastructure informatique, que ce soit des ressources cloud ou locales.
Terraform prend en charge de nombreux fournisseurs de cloud, tels que Microsoft Azure, avec un module développé et maintenu par HashiCorp directement.

Comparatif

Outils / Critères
Niveau d’automatisation
Complexité du déploiement
Compétences techniques de l’équipe
Portail Azure
Faible
Fort
Faible
Azure CLI
Moyen
Moyen
Faible
Azure AZ PowerShell
Moyen
Moyen
Moyen
Modèles ARM
Fort
Fort
Moyen / Fort
Terraform
Fort
Fort
Moyen / Fort

Conclusion

Il faut bien faire attention à utiliser l’outil adapté à nos besoins, pour ne pas perdre de temps que ce soit à faire des tests avant de faire des choix d’infrastructure ou à faire des tâches manuellement alors qu’elles pourraient être automatisées.
Si vous êtes une entreprise et que vous souhaitez vous faire accompagner sur vos sujets Cloud et DevOps, vous pouvez me contacter par mail. Pour plus de contenu sur ces sujets-là, vous pouvez me suivre sur Twitter où je poste quotidiennement 👇🏼

Tu es freelance et tu recherches une mission ?

Trouvons une mission ensemble qui te correspond !

Je veux une mission