Arm Bicep Template Sharing
Just been looking at the current state of things in ARM Template and Bicep module world and how teams could share between the two. So here are my findings, the current state will change over the next few months.
ARM Templates
Public Accessible URL (aka github), this is the easy one we can just get ARM to download as a linked template.
Private URL (aka Azure Storage Accounts>, this one is more complicated as we have to provide access tot he URI, normally through a SAS token so then ARM can download the template as a linked template.
Template Specs, this is the new boy on the block and is essentially storing the template within your Azure Tenancy. This is meant to be the future for sharing ARM Templates between teams.
Bicep
Local Modules, this is anything stored on your local storage and compiled before deployment, this could also include github submodules
Module Registry, the new kid on the block. Basically a Azure container registry for storing Bicep Modules, these are then downloaded at compile time and included in the deployment.
Any of the ARM solutions, yes you can use Bicep to deploy ARM, through a deployment, while its not ideal there are meant to be improvements coming to this kind of scenario.
So what should you choose, I guess it depends on where you are with your Bicep journey if you are doing such a thing. For teams that are all in on ARM they will probably have a solution and be looking at Template Specs. For teams that are all in on Bicep then a Module Registry makes a lot of sense. For teams that are using both ARM and Bicep its a lot more complicated and I would guess moving to Template Specs before moving wholesale to Bicep would make sense.
Posted By Keith Drew on 10/10/2021