Microsoft a lancé « Bicep », un langage spécifique à un domaine (DSL) qui utilise la syntaxe déclarative pour déployer des ressources Azure. Découvrez ce que c’est et comment commencer à l’utiliser dans cet article !
Si vous souhaitez mettre en place une plateforme Azure Cloud qui soit (re)déployable et qui puisse être déplacée automatiquement vers des environnements supérieurs, vous devez l’automatiser à l’aide de scripts et de pipelines de déploiement.
Nous configurons généralement nos ressources Azure avec les modèles Azure Resource Manager (modèles ARM), au format JSON, ce qui est lisible, mais la courbe d’apprentissage pour en assembler un est assez longue et la maintenance de celui-ci peut être assez difficile pour en conserver la bonne structure (les crochets et espaces adéquats au bon endroit). Par ailleurs, les attributs obligatoires d’une ressource ne sont pas toujours clairs, il faut souvent chercher les fonctions JSON dans la documentation et préciser manuellement les dépendances par ressource.
Microsoft a lancé une alternative : Bicep. Cet article en dresse l’aperçu et la façon dont commencer à utiliser cette nouveauté.
Qu'est-ce-que c'est 'BICEP' ?
Microsoft a lancé « Bicep », 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 voulez déployer sur Azure, puis utilisez ce fichier tout au long du cycle de vie de développement pour déployer votre infrastructure à plusieurs reprises. Vos ressources sont déployées de manière cohérente.
Comment commencer à utiliser Azure Bicep ?
Étape 1 : Préparation à la création et à l’utilisation des fichiers Bicep
Vous pouvez utiliser des scripts Bicep dans AzureCLI ou Powershell, mais pour travailler avec des fichiers Bicep, vous devez installer le Bicep :
Le plus simple est Azure CLI, que vous pouvez installer via :
- az bicep install (pour une première installation)
- az bicep upgrade (pour une mise à jour de la dernière version)
- az bicep version (pour confirmer l’installation)
Azure Powershell (Azure PS version 5.6.0 ou version ultérieure !) :
- pour PS, vous devez effectuer une installation manuelle qui dépend du système d’exploitation sur lequel vous travaillez (MacOS, Linux ou Windows) dans Consulter la page d’assistance de Microsoft afin de connaître les déclarations appropriées pour le système d’exploitation que vous utilisez.
En outre, vous pouvez également installer l’extension VS Code pour disposer de l’intelligence et de la validation du code :
VS Code ==> Extensions ==> BICEP
Étape 2 : Création du fichier .bicep
Comme susmentionné, vous pouvez créer votre fichier Bicep :
- Manuellement, directement dans Azure Devops ;
- par le biais du VS Code ;
- en décompilant un modèle ARM existant au format Bicep.
Vous bénéficiez déjà d’un modèle ARM existant ? Bicep propose des options de migration.
Dans la première partie du fichier BICEP, précisez les paramètres et les variables que vous utiliserez pour propager les ressources de manière dynamique.
Dans la seconde partie, précisez les ressources que vous déploierez ainsi que leurs propriétés.
Dans cet exemple, nous vous montrons comment déployer un KeyVault à l’aide d’un fichier Bicep. Cela peut bien entendu être traduit dans un autre type de ressources Azure.
Dans tous les cas (pour tous les différents types de ressources), vous aurez besoin d’un nom de ressource, d’un emplacement et du locataire où vous souhaitez le déployer. Vous pouvez définir en option les Balises que vous souhaitez lui ajouter.
Dans ce cas, pour KeyVault, nous définissons également des politiques d’accès (accessPolicies) au niveau des certificats, des clés, etc.
Etape 3: Déploiement du fichier Bicep
Bicep propose plusieurs options pour déployer notre fichier sur Azure. Le moyen le plus rapide consiste à passer par PowerShell ou Azure CLI. D’autres options existent également, recourant à l’extension Bicep Tasks pour les pipelines Azure ou Bicep Github Action.
Exemple Azure CLI pour déployer notre KeyVault :
Le pipeline de déploiement a réussi :
Et l’Azure KeyVault a été créé avec succès avec les politiques d’accès définies (accessPolicies) :
Conclusion
Bicep fournit une syntaxe concise, une cohérence des types fiable et une prise en charge de 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. Bicep constitue un bon complément aux modèles ARM existants, car il présente des avantages supplémentaires qui peuvent vous épargner beaucoup de temps et de frustrations.
En savoir plus ?
Contactez-nous !