Lire en anglais

Partager via


Qu’est-ce que Bicep ?

Bicep est un langage spécifique à un domaine qui utilise la syntaxe déclarative pour déployer des ressources Azure. Dans un fichier Bicep, vous définissez l’infrastructure que vous voulez déployer sur Azure, puis utilisez ce fichier tout au long du cycle de vie de développement pour déployer cette infrastructure à plusieurs reprises. 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 pour la réutilisation du code. Bicep offre la meilleure expérience de création pour vos solutions d’infrastructure en tant que code dans Azure.

Avantages de Bicep

Bicep offre les avantages suivants :

  • Support pour tous les types de ressources et versions d’API : Bicep prend immédiatement en charge toutes les versions de préversion et de disponibilité générale (GA) pour les services Azure. Dès qu’un fournisseur de ressources introduit de nouveaux types de ressources et de versions d’API, vous pouvez les utiliser dans votre fichier Bicep. Vous n’avez pas besoin d’attendre la mise à jour des outils avant d’utiliser les nouveaux services.

  • Syntaxe simple : par rapport au modèle JSON équivalent, les fichiers Bicep sont plus concis et plus faciles à lire. Bicep ne nécessite pas de connaissances préalables sur les langages de programmation. La syntaxe Bicep est déclarative et spécifie les ressources et les propriétés de ressource que vous souhaitez déployer.

    Les exemples suivants illustrent la différence entre un fichier Bicep et le modèle JSON équivalent. Les deux exemples déploient un compte de stockage :

    Bicep
    param location string = resourceGroup().location
    param storageAccountName string = 'toylaunch${uniqueString(resourceGroup().id)}'
    
    resource storageAccount 'Microsoft.Storage/storageAccounts@2023-05-01' = {
      name: storageAccountName
      location: location
      sku: {
        name: 'Standard_LRS'
      }
      kind: 'StorageV2'
      properties: {
        accessTier: 'Hot'
      }
    }
    

  • Expérience de création : lorsque vous utilisez l’Extension Bicep pour VS Code pour créer vos fichiers Bicep, vous bénéficiez d’une expérience de création de première classe. L’éditeur fournit une sécurité des types enrichie, IntelliSense et la validation de la syntaxe.

    Capture d’écran de création d’un fichier Bicep en temps réel

    Vous pouvez également créer des fichiers Bicep dans Visual Studio avec l’extension Bicep pour Visual Studio.

  • Résultats reproductibles : déployez votre infrastructure tout au long du cycle de vie de développement en ayant l’assurance que vos ressources sont déployées de façon cohérente. Les fichiers Bicep sont idempotents, ce qui signifie que vous pouvez déployer le même fichier plusieurs fois et obtenir les mêmes types de ressources dans le même état. Vous pouvez développer un fichier qui représente l’état souhaité, plutôt que de développer plusieurs fichiers distincts pour représenter des mises à jour. Par exemple, le fichier suivant crée un compte de stockage. Si vous déployez ce modèle et le compte de stockage lorsque les propriétés spécifiées existent déjà, aucune modification n’est apportée :

    Bicep
    param location string = resourceGroup().location
    
    resource mystore 'Microsoft.Storage/storageAccounts@2023-05-01' = {
      name: 'mystorageaccount'
      location: location
      sku: {
        name: 'Standard_LRS'
      }
      kind: 'StorageV2'
    }
    

  • Orchestration : Vous n’avez pas à vous soucier de la complexité des opérations de commande. Resource Manager orchestre le déploiement de ressources interdépendantes afin qu’elles soient créées dans l’ordre approprié. Lorsque cela est possible, Resource Manager déploie des ressources en parallèle, ce qui permet à vos déploiements de se terminent plus rapidement que les déploiements en série. Vous déployez le fichier par le biais d’une seule commande impérative, plutôt que par le biais de plusieurs.

    Diagramme comparant le déploiement entre un fichier Bicep et une infrastructure en tant que code ne se trouvant pas dans un modèle.

  • Modularité : utilisez des modules pour segmenter votre code Bicep en parties gérables. Les modules vous permettent de réutiliser le code et de simplifier le développement. Un module déploie un ensemble de ressources associées. Ajoutez un module à un fichier Bicep lorsque vous devez déployer ces ressources.

  • Intégration aux services Azure : Bicep est intégré aux services Azure, tels qu’Azure Policy, les specs de modèle et Azure Blueprints.

  • Aperçu des modifications : vous pouvez utiliser l’opération de simulation pour obtenir un aperçu des modifications avant de déployer le fichier Bicep. L’opération de simulation vous permet de voir quelles ressources créer, mettre à jour ou supprimer, et toutes les propriétés de ressource à modifier. Elle vérifie également l’état actuel de votre environnement et élimine la nécessité de gérer cet état.

  • Aucun état ou fichier d’état à gérer : Azure stocke tous les états. Vous pouvez collaborer avec d’autres personnes et être sûr que vos mises à jour sont gérées comme prévu.

  • Pas de frais ni d’open source : étant donné que Bicep est gratuit, vous n’avez pas à payer pour des fonctionnalités Premium. Le support Microsoft prend cela en charge.

Démarrage

Pour commencer à utiliser Bicep :

  1. Installez les outils. Pour plus d’informations, consultez Configurer des environnements de développement et de déploiement Bicep ou utilisez le référentiel VS Code devcontainer/Codespaces pour obtenir un environnement de création préconfiguré.
  2. Suivez le guide de démarrage rapide et les modules Learn pour Bicep.

Pour décompiler un modèle Resource Manager existant au format Bicep, consultez Décompiler un modèle Azure Resource Manager JSON en Bicep. Le Terrain de jeu Bicep vous permet d’afficher côte à côte un fichier Bicep et son équivalent JSON.

Pour découvrir les ressources disponibles dans votre fichier Bicep, consultez Référence sur les ressources Bicep.

Vous trouverez des exemples Bicep dans le référentiel GitHub Bicep.

À propos du langage

Bicep n’est pas conçu comme un langage de programmation général pour l’écriture d’applications. Un fichier Bicep déclare des ressources Azure et des propriétés de ressources, sans écrire de séquence de commandes de programmation pour les créer.

Pour suivre l’état du travail Bicep, consultez le référentiel de projet Bicep.

Pour en savoir plus sur Bicep, consultez la vidéo suivante :

Vous pouvez utiliser Bicep au lieu de JSON pour développer des modèles Resource Manager. La syntaxe JSON pour la création d’un modèle Resource Manager peut être détaillée et nécessiter une expression complexe. La syntaxe Bicep réduit cette complexité et améliore l’expérience de développement. Bicep est une abstraction transparente sur un modèle JSON Resource Manager qui ne perd pas les fonctionnalités d’un modèle JSON. Pendant le déploiement, l’interface de ligne de commande Bicep convertit un fichier Bicep en modèle JSON Resource Manager.

Les types de ressources, les versions d’API et les propriétés qui sont valides dans un modèle Resource Manager sont valides dans un fichier Bicep.

Bicep offre une syntaxe plus simple et plus concise que JSON. Vous n’utilisez pas d’expressions entre crochets [...]. Au lieu de cela, vous appelez directement des fonctions, et récupérez des valeurs à partir de paramètres et de variables. Vous attribuez à chaque ressource déployée un nom symbolique qui facilite le référencement de cette ressource dans votre modèle.

Pour une comparaison complète de la syntaxe, consultez Comparaison de JSON et Bicep pour les modèles.

Bicep gère automatiquement les dépendances entre ressources. Vous pouvez éviter de définir dependsOn quand le nom symbolique d’une ressource est utilisé dans une autre déclaration de ressource.

La structure du fichier Bicep est plus flexible que celle du modèle JSON. Vous pouvez déclarer des paramètres, des variables et des sorties n’importe où dans le fichier. Dans JSON, vous devez déclarer l’ensemble des paramètres, variables et sorties dans les sections correspondantes du modèle.

Obtenir de l’aide

Voici les étapes permettant d’ouvrir un ticket de support pour les problèmes de modèle Azure Resource Manager (ARM) :

  1. Ouvrez le portail Azure.

  2. Sélectionnez l’icône Support + Résolution des problèmes en haut à droite.

  3. Dans Décrivez brièvement le problème, entrez Modèle ARM, puis sélectionnez OK.

  4. Dans Avec quel service rencontrez-vous un problème ?, sélectionnez Portail sous Supervision + gestion, puis sélectionnez Suivant.

  5. Choisissez un abonnement, puis Suivant.

  6. Sélectionnez Problème avec les modèles ARM, puis Suivant.

    Capture d’écran d’une demande de support de modèle ARM.

Étapes suivantes

Pour bien démarrer, consultez le guide de démarrage rapide.

Pour obtenir des réponses aux questions les plus fréquentes, consultez Foire aux questions sur Bicep.