Bicep Beginnings
DevOps is an area I haven’t explored much up to this point. It never applied to my daily life. However, it recently became more of an interest. This appeared by way of IaC (Infrastructure as Code). Specifically relating to Microsoft Azure Bicep.
ARM and a Leg
ARM (Azure Resource Manager) is the service that creates, updates, and deletes all resources in Azure. ARM can be interacted with in many ways. Through the Azure Portal, Azure CLI, and most importantly Azure Templates.
ARM Templates
ARM Templates are JSON files. They define resources and configuration of those resources to be deployed by ARM to Azure. ARM understands when resources need to be created and ones that already exist. When deploying an ARM template multiple times, it will not continue to create new resources or overwrite existing ones.
Bicep
Bicep is Microsoft’s answer to simplify the task of creating ARM templates. It is a domain-specific language (DSL) with the goal of providing a better developer experience. Bicep templates are transpiled into ARM JSON files at time of deployment.
Note: A domain-specific language is designed for a specific purpose unlike a general-purpose language.
Note: Transpiled code is code translated source-to-source by a transpiler. This is opposed to a compiler.