Si vous n’avez pas suivi les nouveautés autour de bicep, il est possible de créer des modules, et de mettre ceux ci dans une registry privée via Azure Container Registry, j’en ferais sûrement un article prochainement.
Et maintenant si on veut faire une registry public, et bien aujourd’hui ce n’est pas possible, mais Microsoft héberge pour vous Azure Verified Module qui se base aussi sur Azure Container Registry mais qui contient un ensemble de modules validées par Microsoft basé sur le repository Open Source : Azure Verified Module
Récemment j’ai mis à jour mon toolkit de sandbox sur Azure Function, et j’ai décidé entre autre de refaire mon infra as code grâce à AVM, donc je propose de vous faire un feedback dessus.
Commençons par créer un storage Azure:
Alors premièrement c’est très simple d’accès via VSCode vu que la recherche des modules se fait directement avec l’autocomplétion, reste à vous de savoir ce dont vous avez besoin, mais bonne nouvelle la convention de nommage est basé sur les resources providers.
Et bonne nouvelle, il est facilement d’explorer le contenu du module que vous utilisez simplement via un clic dans VSCode, pas besoin de vous référer au Github.
Pour avoir mis en place des modules ce qui est important de définir c’est la gestion de vos paramètres d’entrées et de sortie du module, et bonne nouvelle AVM contient des standards sur ces éléments et propose beaucoup de paramètre avec des valeurs par défaut pour tous (à part le nom bien sûr), et bonne nouvelle ces paramètres sont typés, donc vous allez être bien guidés lors de la création de vos templates, et au build de votre fichier bicep échouera si vous n’avez pas suivi le typage.
Maintenant, tout n’est pas parfait, et il s’agit d’un projet Open Source, donc le niveau des templates n’est pas toujours le même, par exemple si je prends Storage j’ai ces éléments pour la partie NetworksAcls:
Alors que pour KeyVault, c’est beaucoup plus light:
Après, je rappelle qu’il s’agit d’un projet Open Source, donc je vous encourage fortement à contribuer s’il manque quelque chose, bien sûr si vous avez du temps. Ils en cherchent en plus : Needs Contributor
L’utilisation de ce type de module vous permettra d’accélérer la mise en place de vos templates en vous basant sur ces modules, et de ne pas avoir à les refaire de votre côté. Et en prime, vu qu’il s’agit de module vous pouvez toujours utiliser les vôtres si vous le souhaitez.
Vu qu’une bonne nouvelle n’arrive jamais seul, cette registry contient aussi des tests pour chacune des ressources sur lesquelles vous pouvez vous appuyez pour trouver les paramètres dont vous avez besoin, par exemple pour Storage:
Par exemple la mise en place d’un kind de type BlockBlobStorage
Mais aussi plein d’autres, comme la gestion des clés d’encryption.
AVM ne contient pas que des modules pour les resources Azure, mais aussi pour des patterns d’utilisation, comme la mise en place de Landing Zone de tests (vu la criticité du sujet, je vous conseille d’utiliser un module externe uniquement pour des tests)
Et pour finir, Azure Verified Module ce n’est pas une initiative que pour bicep, mais aussi pour Terraform !
Bon et si j’allais faire des pull request maintenant….
Comments
Post comment