Démarrage avec Azure Bicep (Étape par étape)

Avez-vous besoin de construire une infrastructure dans Azure? Avez-vous déjà regardé les modèles ARM et pensé que c’était complexe? Parce que de nombreuses personnes se sont plaintes de la difficulté de construire des modèles ARM, Microsoft a développé une couche d’abstraction appelée Azure Bicep.

Dans ce tutoriel, vous apprendrez comment démarrer à partir de zéro. Vous apprendrez à faire tout, de la configuration d’un environnement de développement au déploiement de votre premier modèle Bicep!

Commençons!

Prérequis

Ce tutoriel sera une démonstration pratique. Si vous souhaitez suivre, assurez-vous d’avoir ce qui suit:

  • Windows 10 – La majorité des démonstrations de ce tutoriel fonctionneront sur d’autres systèmes d’exploitation, mais toutes les démonstrations utiliseront Windows 10.
  • Visual Studio Code – Ce tutoriel utilisera la version 1.60.2.

Qu’est-ce que Azure Bicep?

Bicep est un langage spécifique à un domaine qui facilite la création de modèles ARM. Vous pouvez considérer Bicep comme une couche d’abstraction au-dessus des modèles ARM. ARM utilise JSON et peut devenir complexe, surtout pour les déploiements volumineux.

Microsoft a décidé de créer Bicep pour réduire les complexités et améliorer l’expérience de développement. Ce n’est pas un nouveau langage ; pensez-y plutôt comme une amélioration des modèles JSON ARM.

Mise en place d’un environnement de développement Bicep

Pour commencer à développer des modèles Bicep, vous devez configurer un environnement qui vous aidera à obtenir les meilleurs résultats. Pour cela, vous disposez de quelques outils à votre disposition. Commençons par configurer l’environnement dont vous avez besoin, y compris l’extension Bicep pour VS Code, le CLI Bicep et éventuellement les modules Azure PowerShell.

Installation de l’extension Bicep pour VS Code

VS Code est un excellent outil de développement pour créer des modèles Bicep. À cet effet, Microsoft propose une extension VS Code pour faciliter la création de modèles Bicep. Commençons par configurer l’environnement de développement en préparant VS Code.

Ouvrez Visual Studio Code et cliquez sur le bouton Extensions.

Opening extensions

Dans la barre de recherche, tapez « bicep ». Vous devriez voir apparaître une seule extension Bicep. Lorsque cela se produit, cliquez sur Installer. Après quelques instants, VS Code installera l’extension Bicep.

Search and install bicep extension

Même si la section suivante vous donnera le modèle Bicep à copier/coller, vous aurez sans doute besoin de créer des modèles Bicep à partir de zéro. L’extension Bicep dans VS Code est particulièrement utile ici grâce à ses fonctionnalités d’Intellisense.

Remarquez que si vous ouvrez un fichier avec une extension .bicep dans VS Code, VS Code tentera de vous fournir des raccourcis. Par exemple, vous créez des ressources Azure avec le mot-clé resource dans un modèle Bicep. Avec l’extension Bicep installée, VS Code comprend cela.

Typing the resource command

Sélectionner l’une des options de menu fournies crée automatiquement un modèle à remplir plutôt que de devoir se souvenir de la syntaxe exacte à chaque fois.

Blank bicep template

Le point (.) est un autre raccourci pratique lors de la création de modèles Bicep. En tapant ceci dans la section properties, par exemple, vous verrez toutes les propriétés disponibles pour un compte de stockage.

Properties available for a storage account

Installation de la CLI Bicep

Une fois créés, vous devez invoquer les modèles Bicep via la CLI Bicep. Avant de tenter d’installer la CLI Bicep, vérifiez d’abord si elle est déjà installée. Selon la version de la CLI Azure que vous avez installée, vous avez peut-être déjà la CLI Bicep. Pour vérifier, ouvrez une console PowerShell ou un terminal et vérifiez la version de la CLI Bicep.

	az bicep version

Si vous avez la CLI Bicep installée, vous verrez une déclaration de version, comme indiqué ci-dessous.

Bicep CLI version

Si vous voyez un message d’erreur indiquant que la CLI Bicep n’a pas été trouvée, exécutez la sous-commande install pour installer la CLI Bicep.

az bicep install

Vous verrez maintenant la sortie comme ci-dessous. Cela confirme que la CLI Bicep a été installée avec succès et est prête à être utilisée.

Bicep installed successfully

En tant que méthode d’installation alternative, vous pouvez également installer la CLI Bicep via l’Installateur Windows Bicep.

Création d’un modèle Bicep pour déployer un compte de stockage.

Vous pouvez déployer des ressources Azure complexes avec Bicep, mais commençons lentement. Pour votre premier modèle Bicep, créons un simple compte de stockage Azure que vous pourrez ensuite déployer sur Azure en utilisant à la fois l’interface de ligne de commande Azure (Azure CLI) et PowerShell dans la section suivante.

1. Ouvrez VS Code et créez un nouveau fichier appelé main.bicep. Vous n’êtes pas obligé de nommer le fichier exactement comme indiqué ici, mais il est courant de suivre l’exemple de Terraform en appelant le modèle main avec une extension .bicep.

2. Copiez et collez le code du modèle Bicep ci-dessous dans le fichier et enregistrez-le. Ce modèle contient différentes attributs qui composent un modèle Bicep.

Vous verrez d’abord quelques attributs communs à tous les modèles Bicep :

  • L’identifiant de ressource (resource myStorage) – Indique à Bicep de créer une nouvelle ressource nommée myStorage. Ce nom identifie la ressource spécifique au sein du modèle Bicep. Ce nom n’est pas le nom de la ressource créée dans Azure.
  • Microsoft.Storage/storageAccounts@2019-06-01 – Définit un type composé du fournisseur de ressources Microsoft.Storage, du type de ressource (storageAccounts) et de la version de l’API (2019-06-01) à utiliser.
  • name Le nom de la ressource tel qu’il apparaît dans Azure (veuillez respecter les règles et restrictions concernant la dénomination des ressources Azure.)
  • location – La région Azure dans laquelle créer la ressource.

Vous verrez également quelques attributs spécifiques au type de ressource storageAccounts :

  • SKU – Le SKU du compte de stockage (Standard_LRS) tel que défini dans la propriété name.
  • kind – Le type de compte de stockage (StorageV2).
  • properties Diverses propriétés spécifiques à la ressource qui n’ont pas leur propre section, telles que accessTier dans cet exemple. Ces propriétés sont les mêmes que celles que vous trouverez dans les modèles ARM.
resource myStorage 'Microsoft.Storage/storageAccounts@2019-06-01' = {
  name: 'ata2021bicepdiskstorage'
  location: 'uksouth'
  SKU: {
    name: 'Standard_LRS'
  }
  kind: 'StorageV2'
  properties: {
    accessTier: 'Hot'
        
  }
}

Déploiement d’un modèle Bicep avec PowerShell

Comme mentionné précédemment, vous pouvez déployer des modèles Bicep de deux manières : via l’interface de ligne de commande Azure et le module Azure PowerShell. Commençons par déployer un modèle Bicep avec PowerShell.

Assurez-vous d’avoir le module Azure PowerShell installé et d’être authentifié sur Azure avant de commencer cette section.

Déployer des ressources Azure avec des modèles Bicep est identique au déploiement de modèles ARM. Microsoft a essentiellement ajouté la prise en charge du langage Bicep à de nombreuses cmdlets PowerShell ARM existantes telles que New-AzResourceGroupDeployment.

Dans votre console PowerShell, invoquez un nouveau déploiement de groupe de ressources via la cmdlet New-AzResourceGroupDeployment en fournissant le chemin du modèle Bicep et le ResourceGroupName à déployer. Vous remarquerez que vous pouvez utiliser un modèle Bicep exactement comme un modèle ARM.

New-AzResourceGroupDeployment -TemplateFile main.bicep -ResourceGroupName ATA

Si le déploiement est réussi, vous devriez voir la sortie suivante dans votre session PowerShell avec la propriété ProvisioningState indiquant le succès. C’est tout!

Deploying resource with Bicep

Pour vérifier que la ressource a été créée avec succès, connectez-vous au Portail Azure, accédez à votre groupe de ressources, et vous verrez à l’intérieur de ce groupe de ressources un compte de stockage nouvellement créé.

Azure Portal

Si vous suivez et avez créé le compte de stockage comme démo, n’oubliez pas de le supprimer ! Remarquez que le ResourceName coïncide avec le name fourni dans le modèle Bicep.

Remove-AzResource -ResourceName ata2021bicepdiskstorage -ResourceGroupName ATA -ResourceType "Microsoft.Storage/storageAccounts"

Vous verrez maintenant la sortie suivante.

Removing an Azure storage account

Déploiement d’un modèle Bicep avec Azure CLI

Pour compléter ce tutoriel, couvrons maintenant le déploiement de votre modèle Bicep récemment construit avec Azure CLI.

Assurez-vous d’avoir Azure CLI v2.2.0+ installé et d’être connecté avant de commencer cette section.

Avec votre PowerShell ou un autre terminal ouvert, lancez un déploiement ARM avec la commande az deployment group create. Cette commande effectue un déploiement ARM, tout comme avec PowerShell. Assurez-vous de spécifier le resource-group dans lequel déployer, ainsi que le modèle Bicep créé précédemment via le paramètre template-file.

az deployment group create --resource-group ATA --template-file main.bicep

Si vous voyez l’état de provisioningState comme Succeeded, comme indiqué ci-dessous, ARM a lu le modèle Bicep et a exécuté toutes les instructions à l’intérieur!

provisioningState as Succeeded
Output in JSON from az deployment command

N’oubliez pas de nettoyer la ressource avec az resource delete -g ATA -n ata2021bicepdiskstorage --resource-type "Microsoft.Storage/storageAccounts"

Conclusion

Maintenant que vous avez créé un environnement de développement pour Azure Bicep et créé une ressource dans Azure, quelle est votre prochaine étape? Peut-être regarder ce que Microsoft Learn propose sur Bicep?

Peut-être faire une démonstration à vos collègues sur la façon dont Bicep peut aider votre organisation?

Source:
https://adamtheautomator.com/azure-bicep/