
Explore Azure Bicep for infrastructure as code and deploying resources beyond json arm templates. Set up the dev environment, use parameters and modules, and deploy with cli, powershell, and pipelines.
Learn how infrastructure as code transforms manual setup into script-driven provisioning, delivering fast, repeatable, error-free environments with source control and on-demand resources.
Explore how Azure Bicep, a high-level, declarative language, compiles to ARM templates to deploy idempotent resources with reusable patterns, IDE support, and seamless Azure integration.
Access a GitHub repository with solutions for every lesson in the bicep course, including lesson folders; reference or follow along using the Dylan Bogin Udemy bicep course repo.
Install the azure cli on windows using the msi installer, accept terms, verify the version with z -- version, and confirm bicep version 0.18.4 to complete installation.
Install Azure PowerShell on Windows using PowerShell 7 via Winget, configure remote signed execution policy, install Azure modules from Gallery, and manually install the Bicep CLI, then connect to Azure.
Install and configure Azure PowerShell on macOS using Homebrew, upgrade to PowerShell 7+, install the Az module, and manually install the Bicep CLI to work with Bicep on macOS.
Install Visual Studio Code on Windows or Mac, install the Azure Tools pack and the Bicep extension, and use IntelliSense, validation, and resource queries with Microsoft Docs.
Create your first bicep template to deploy a storage account, and explore Microsoft documentation to search for all resources, properties, and configurations.
Create your first bicep template in vscode to deploy a storage account using Microsoft.Storage/storageAccounts, with required properties and api version, and set name, location, sku, and kind.
Convert JSON ARM templates to Bicep using Azure decompile tools or the Bicep decompile command, producing a main.bicep with the same contents while noting complex templates may need review.
Master bicep deployment scopes by deploying a resource group within a subscription, using target scope changes, and defining a resource group with a name and West Europe location.
Create a resource group using az group create with a name and location (West Europe) to house all course deployments; verify in the portal and ensure you have a subscription.
Deploy your first bicep file to Azure using the Azure CLI, PowerShell, and Azure Pipelines, while learning to automate deployments and create resource groups in bicep.
Deploy Azure Bicep with the Azure CLI using az deployment group create, specifying resource group, subscription, and main Bicep template, then monitor the deployment and observe two storage accounts.
deploy the main bicep using PowerShell by creating a resource group deployment with the template file main.bicep and naming it PowerShell deployment.
Explore the deployment options for Azure Bicep, including incremental mode (default) and complete mode, and see how ARM validates and updates storage accounts and application insights in a resource group.
Explore the Azure CLI what-if feature to preview deployment changes before applying them, including detecting property updates on storage accounts and validating changes in dev environments and pipelines.
Explore parameterizing a bicep template to inject storage account names, locations, and SKUs, including defaults and validations, and deploy using a generated parameters file or command-line values.
Declare outputs in a Bicep template to expose storage account name and audit storage account id with type string; view them in deployment logs and reuse in modules.
Explore Bicep data types, including strings, booleans, integers, arrays, and objects, with line breaks for separation, mixed arrays, nested objects, and tags and storage properties as parameters.
Explore bicep functions to build dynamic templates that process data and control deployments. See practical examples and a final project to understand why these functions are essential.
Explore Bicep functions through practical demonstrations of strings, data conversions, arrays, and scope functions, including string interpolation, trimming, substring, loading json, yaml, and text content, and listing storage keys.
Learn to reduce duplication in Bicep by building a reusable storage account module with parameters and outputs, turning each module into a child deployment and enforcing defaults for https traffic.
Define parent and child relationships with nesting in Bicep, add containers to the storage account module, and use loops, implicit and explicit dependencies, conditionals, and ternary operators to craft templates.
Explore how to implement parent and child resources in Azure Bicep by provisioning a storage account, enabling blob services, and creating a data container with public access set to none.
Master azure bicep explores managing dependencies by using implicit and explicit dependencies to control deployment order, with modules, outputs, and visualizers clarifying relationships.
Learn to implement conditional deployments in Bicep using a boolean parameter to deploy audit storage accounts and if statements to skip resources, with blob services deploying when containers meet criteria.
Learn to apply ternary operators in Bicep to conditionally deploy storage accounts and containers, including handling module inputs and using a variable to select names based on a boolean flag.
Test and validate bicep files before deployment, using vscode linting and the bicep cli to catch errors early, then validate in azure pipelines with the arm template test toolkit.
ARM-TTK unit testing framework demonstrates testing a bicep deployment, converting to json, running tests, and integrating checks into ci/cd pipelines with Azure DevOps for pre-deployment validation.
Learn how to validate bicep files in Azure Pipelines, using pre-flight validation to catch errors before deployment and leverage Azure context of deployed resources.
Explore troubleshooting Bicep deployments by triggering common deployment issues, testing validation steps, and applying debugging techniques to identify and fix errors in real time.
Learn to debug runtime deployment issues in bicep by using the portal to trace module inputs and outputs, fix dependency mistakes, and achieve all-green deployments.
Thanks for checking out my course! I'm Dylan Budgen, a professional Software and DevOps engineer.
I have been working with Azure for years and have become an Azure Bicep expert. I write Infrastructure as Code with Azure Bicep every day and will show you how to become an expert.
I was tired of Udemy courses on Azure Bicep falsely claiming to be "advanced", so I made one myself. We will use real-world examples to learn how to write professional Azure Bicep templates and immediately transform your DevOps journey.
We journey from beginner Bicep concepts all the way to very advanced in a smooth and progressive manner. We learn how to integrate our deployments into Azure DevOps and configured a fully automated deployment pipeline.
Our final lesson is a real-world project to create a function app, app service plans, storage accounts and logging which incorporates all of the advanced features we have learnt.
By the end of the course, you will be an expert in the topics:
Bicep development environment: Set up for efficient and effective development
Beginner concepts: Variables, parameters, outputs and creating resources
Advanced concepts: Master loops, conditional deployments, and existing resources.
Bicep functions: Gain a comprehensive understanding of powerful functions
Modules: Create reusable modules for your resources
Azure DevOps integration: We create pipelines with validation and automatic deployments
Testing and validation: Ensure deployment integrity with best practices.
Troubleshooting: Become a pro at fixing Azure Bicep deployments.
Expert tips: Adopt latest industry best practices.
Real-world Project: Apply skills by deploying a function app with logging.
Preview features: Stay ahead with forward-looking development techniques.