Décider si Azure PowerShell convient à vos tâches

Effectué

Supposez que vous devez choisir un outil pour administrer les ressources Azure utilisées afin de tester votre système de gestion de la relation client (CRM). Vos tests requièrent la création de groupes de ressources et le provisionnement de machines virtuelles.

Vous voulez quelque chose de facile à apprendre pour les administrateurs, mais suffisamment puissant pour automatiser l’installation et la configuration de plusieurs machines virtuelles ou établir un script d’environnement d’application complet. Plusieurs outils sont disponibles et vous devez trouver le meilleur pour vos utilisateurs et tâches.

Quels sont les outils disponibles ?

Azure propose trois outils d’administration :

  • Le portail Azure
  • L’interface de ligne de commande Azure
  • Azure PowerShell

Ces outils offrent tous à peu près le même niveau de contrôle, les tâches que vous pouvez accomplir avec l’un sont probablement aussi exécutables avec les deux autres. Les trois outils sont multiplateformes, et fonctionnent sur Windows, macOS et Linux. Ils diffèrent par leur syntaxe, la configuration d’installation requise et la prise en charge de l’automatisation.

Nous décrivons ici chacune des trois options et prodiguons quelques conseils sur la manière d’en choisir une plutôt que les autres.

Qu’est-ce que le portail Azure ?

Le portail Azure est un site web qui vous permet de créer, configurer et modifier des ressources dans votre abonnement Azure. Le portail est une Interface graphique utilisateur (GUI) qui permet de localiser facilement la ressource dont vous avez besoin, ainsi que d’apporter toutes les modifications requises. Il vous guide également au travers de tâches administratives complexes à l’aide d’assistants et d’info-bulles.

Le portail n’offre aucun moyen d’automatiser les tâches répétitives. Par exemple, pour configurer 15 machines virtuelles, vous devrez les créer une à une en suivant la procédure décrite par l’Assistant pour chacune d’elles. Cette méthode peut s’avérer fastidieuse, voire sujette aux erreurs, pour des tâches complexes.

Qu’est-ce qu’Azure CLI ?

Azure CLI est un programme en ligne de commande multiplateforme permettant de se connecter à Azure et d’exécuter des commandes d’administration sur des ressources Azure. Par exemple, pour créer une machine virtuelle, vous pouvez utiliser la commande suivante :

az vm create \
  --resource-group CrmTestingResourceGroup \
  --name CrmUnitTests \
  --image Ubuntu2204
  ...

Azure CLI est accessible de deux façons : à l’intérieur d’un navigateur via Azure Cloud Shell ou avec une installation locale sur Linux, Mac ou Windows. Dans les deux cas, vous pouvez l’utiliser de manière interactive ou avec des scripts pour automatiser les tâches. Pour une utilisation interactive, vous devez tout d’abord lancer un interpréteur de commandes (comme cmd.exe sur Windows, ou Bash sur Linux ou macOS), puis émettre les commandes à l’invite de l’interpréteur de commandes. Pour automatiser des tâches répétitives, vous assemblez les commandes dans un script d’interpréteur de commandes en respectant la syntaxe de l’interpréteur choisi, puis vous exécutez le script.

Qu’est-ce qu’Azure PowerShell ?

Azure PowerShell est un module que vous ajoutez à PowerShell. Il vous permet de vous connecter à votre abonnement Azure et de gérer vos ressources. Azure PowerShell a besoin de PowerShell pour fonctionner. PowerShell fournit des services tels que la fenêtre shell et l’analyse des commandes. Le module Azure Az PowerShell ajoute les commandes spécifiques à Azure.

Par exemple, Azure PowerShell fournit la commande New-AzVM qui crée automatiquement une machine virtuelle dans votre abonnement Azure. Pour l’utiliser, lancez l’application PowerShell et émettez la commande suivante :

New-AzVm `
    -ResourceGroupName "CrmTestingResourceGroup" `
    -Name "CrmUnitTests" `
    -Image "UbuntuLTS"
    ...

Azure PowerShell est également accessible de deux façons : à l’intérieur d’un navigateur via Azure Cloud Shell ou avec une installation locale sur Linux, Mac ou Windows. Dans les deux cas, vous avez le choix entre deux modes. Vous pouvez l’utiliser en mode interactif dans lequel vous émettez manuellement une commande à la fois, ou en mode script dans lequel vous exécutez un script composé de plusieurs commandes.

Comment choisir un outil d’administration

Il existe une parité approximative entre le portail, l’interface Azure CLI et Azure PowerShell en ce qui concerne les objets Azure qu’ils peuvent administrer et les configurations qu’ils peuvent créer. Les trois solutions sont interplateformes. Vous prendrez généralement en considération plusieurs autres facteurs au moment d’effectuer votre choix :

  • Automation : Avez-vous besoin d’automatiser un ensemble de tâches complexes ou répétitives ? Azure PowerShell et Azure CLI prend en charge l’automatisation, contrairement au portail Azure.

  • Courbe d’apprentissage : Avez-vous besoin d’effectuer une tâche rapidement sans apprendre de nouvelles commandes ou une nouvelle syntaxe ? Le portail Azure ne nécessite pas d’apprentissage de syntaxe ou de mémorisation de commandes. Dans Azure PowerShell et Azure CLI, vous devez connaître la syntaxe détaillée de chaque commande que vous utilisez.

  • Ensemble de compétences de l’équipe : Votre équipe a-t-elle déjà une expertise ? Par exemple, votre équipe a peut-être utilisé PowerShell pour administrer Windows. Dans ce cas, elle sera rapidement à l’aise avec Azure PowerShell.

Exemple

Rappelez-vous que vous devez choisir un outil d’administration afin de créer les environnements de test pour votre application CRM. Vos administrateurs ont deux tâches Azure spécifiques à effectuer :

  1. Créer un groupe de ressources pour chaque catégorie de tests (unitaires, d’intégration et d’acceptation).
  2. Créer plusieurs machines virtuelles dans chaque groupe de ressources avant chaque série de tests.

Pour créer les groupes de ressources, le portail Azure est un choix raisonnable. Comme il s’agit de tâches ponctuelles, vous n’avez pas besoin de scripts pour les exécuter.

Le choix du meilleur outil pour créer les machines virtuelles est plus difficile. Vous devez créer plusieurs machines virtuelles et à plusieurs reprises, probablement plusieurs fois par semaine. Pour ces tâches, une automatisation serait indiquée et, de ce fait, le portail Azure ne constitue pas un bon choix. Dans ce cas, Azure PowerShell ou Azure CLI répondront à vos besoins. Si les membres de votre équipe ont quelques notions sur PowerShell, Azure PowerShell constitue probablement le meilleur choix. Azure PowerShell est disponible sur les systèmes d’exploitation que votre équipe d’administration utilise, il prend en charge l’automation et son apprentissage sera rapide pour votre équipe.

La première expérience de la plupart des administrateurs avec Azure est le portail Azure. Il s’agit d’un excellent point de départ, car il fournit une interface graphique claire et structurée. En revanche, ses possibilités d’automatisation sont limitées. Quand vous avez besoin d’automation, Azure vous propose deux options : Azure PowerShell pour les administrateurs ayant une certaine expérience d’utilisation de PowerShell, et Azure CLI pour tous les autres.

Dans la pratique, les entreprises ont généralement un mélange de tâches ponctuelles et répétitives. Il est donc courant d’utiliser à la fois le portail Azure et une solution de script. Dans notre exemple CRM, il convient de créer les groupes de ressources via le portail Azure et d’automatiser la création de machine virtuelle avec PowerShell.

Le reste de ce module se concentre sur l’installation et l’utilisation d’Azure PowerShell.