Choisir le bon outil de ligne de commande
Chaque action que vous effectuez dans le portail Azure se traduit par l’exécution en arrière-plan du code sur une API pour créer, lire, mettre à jour ou supprimer des ressources Azure. Les outils en ligne de commande Azure sont des wrappers pour l’API qui vous permettent d’automatiser le provisionnement des ressources Azure à grande échelle.
Options d’automatisation dans Azure
Quatre outils en ligne de commande sont couramment utilisés pour automatiser les ressources Azure : Azure CLI, Azure PowerShell, Bicep et Terraform.
Comparaison des outils
Azure CLI, Azure PowerShell, Bicep et Terraform présentent des similitudes, mais offrent chacun des avantages distincts. Étant donné que vous êtes chargé de provisionner le Stockage Azure, quelles fonctionnalités d’outil offrent les meilleurs avantages dans votre environnement ?
Le tableau suivant identifie les fonctionnalités de chaque outil en ligne de commande Azure. Dans le tableau :
- L’icône indique que la fonctionnalité est
true
pour l’outil en ligne de commande spécifié. - L’icône indique que la fonctionnalité est
false
pour l’outil en ligne de commande spécifié.
Fonctionnalité | Azure CLI | Azure PowerShell | Bicep | Terraform |
---|---|---|---|---|
Outil IaC impératif | ||||
Outil IaC déclaratif | ||||
Natif d’Azure | ||||
Cloud agnostique | ||||
Peut s’exécuter sur Windows, Linux et macOS | ||||
Peut créer, modifier et supprimer des ressources Stockage Azure |
Examinez plus en détail chaque outil. Quelles sont les fonctionnalités d’Azure CLI ou d’Azure PowerShell, et de Bicep ou Terraform, qui conviennent à votre environnement ?
Azure CLI ou Azure PowerShell
Azure CLI et Azure PowerShell sont des outils en ligne de commande qui vous permettent de créer et de gérer des ressources Azure.
Azure CLI
- Est une interface de ligne de commande multiplateforme pouvant être installée sur Windows, Linux et macOS
- S’exécute dans Azure Cloud Shell, PowerShell, Bash,
Cmd.exe
ou un conteneur Docker - Est basé sur Python
- Défini par défaut pour sortir une chaîne JSON, mais d’autres options de format sont disponibles telles que table, YAML et TSV
- Vous permet d’interroger la sortie de commande à l’aide de la syntaxe de requête JMESPath.
- Utilise les commandes sont organisées en groupes, comme
az vm
, et en sous-groupes, commeaz vm disk
- A une syntaxe qui suit un modèle
reference name -command -parameter -parameter value
simple - Prend en charge les opérations asynchrones
Azure PowerShell
- Est un module PowerShell multiplateforme qui s’exécute sur Windows, Linux et macOS
- S’exécute localement dans PowerShell, dans Azure Cloud Shell ou dans un conteneur Docker
- Est basé sur .NET Standard
- Fournit une autocomplétion via Tab et IntelliSense en mode prédictif
- Retourne des objets .NET
- Utilise des noms de commande
Verb-Noun
pour faciliter la découvrabilité
Bicep ou Terraform
Bicep
Bicep est un langage spécifique à un domaine (DSL) qui utilise la syntaxe déclarative pour déployer des ressources Azure. Dans un fichier Bicep, vous définissez l’infrastructure que vous souhaitez déployer sur Azure. Ensuite, vous utilisez ce fichier tout au long du cycle de vie du développement pour déployer votre infrastructure. Vos ressources sont déployées de manière cohérente.
Bicep fournit une syntaxe concise, une cohérence des types fiable et une prise en charge de la réutilisation du code. Bicep offre une bonne expérience de création pour vos solutions IaC dans Azure.
Terraform
Hashicorp Terraform est un outil IaC open source pour l’approvisionnement et la gestion d’infrastructure cloud. Il codifie l’infrastructure dans des fichiers de configuration qui décrivent l’état souhaité pour votre topologie. Terraform permet de gérer n’importe quelle infrastructure, comme des clouds publics, des clouds privés et des services SaaS (software as a service), en utilisant les fournisseurs Terraform.
Quel outil en ligne de commande Azure vous convient ?
Quand vous choisissez un outil, prenez en compte votre expérience passée et votre environnement de travail actuel. Voici un résumé de vos options :
- La syntaxe Azure CLI est semblable au scripting Bash.
- Azure PowerShell est un module PowerShell. Les commandes suivent un schéma de nommage
Verb-Noun
et les données sont retournées en tant qu’objets. - Bicep est un DSL qui utilise la syntaxe déclarative pour déployer des ressources Azure.
- Terraform est un outil open source pour l’approvisionnement et la gestion d’infrastructure cloud.
Choisissez l’outil qui se sert de votre expérience et écourte votre courbe d’apprentissage. Rester ouvert d’esprit n’améliore que vos aptitudes. Utilisez un autre outil lorsque cela tombe sous le sens.