
Compare the main ways to deploy Azure resources, including the Azure portal, Azure CLI, ARM templates, and Bicep. Understand how infrastructure as code makes configuration easier to version, review, and automate.
Follow the Azure portal workflow to create an Azure web app and its App Service plan. Identify the main deployment settings and use the portal-based approach as a baseline for the command-line and infrastructure-as-code examples that follow.
Create Azure web-app resources with Azure CLI commands rather than manual portal steps. Understand how scripting supports repeatable deployment tasks and how resource-group, plan, and application settings fit together.
Explore a JSON ARM template that defines an App Service plan and a web app. Identify parameters, resource declarations, and the connection between the app and its hosting plan, then follow the template deployment workflow.
Define an App Service plan and web app with Bicep using parameters, variables, and resource references. Follow the Azure CLI workflow to preview proposed infrastructure changes with what-if and deploy the Bicep file to a resource group.
Locate the course GitHub repository containing demo scripts, ARM and Bicep templates, and pipeline examples. Use these materials to follow along with the demonstrations and compare the different deployment approaches.
Find the author on LinkedIn, GitHub, YouTube, and Twitter using the links in this article. Use these channels to explore additional Azure and DevOps learning resources and stay connected beyond the course.
Explore how a Bicep module can organize an Azure Container Apps deployment. Identify the role of reusable infrastructure definitions before following the deployment demonstration in the next lecture.
Follow the demonstration of deploying Azure Container Apps infrastructure from a Bicep template. Connect the template-based configuration introduced in the previous lecture with the resources created by the deployment.
Convert an existing JSON ARM template into Bicep with the decompile workflow, and build Bicep back into an ARM template. Explore exporting an existing resource group as a starting point, then review the generated code before adopting it.
Explore the purpose of a landing zone for Azure Container Apps and the infrastructure context around a containerized workload. Build an architectural overview before examining the Bicep implementation and deployment.
Examine how Bicep organizes the infrastructure definition for a Container Apps landing zone. Relate the implementation to the architecture introduced in the previous lecture and prepare to follow the deployment demonstration.
Follow the deployment of a Container Apps landing zone using Bicep. Connect the architecture and implementation from the preceding lectures with the deployment workflow and the resulting Azure infrastructure.
Automate a Bicep deployment with Azure DevOps Pipelines and Azure CLI tasks. Follow the example that creates a resource group, previews changes with what-if, and deploys the template using pipeline variables and an Azure service connection.
Separate infrastructure checks from deployment in a multistage Azure DevOps pipeline. Explore template-test results, what-if output, a manual-validation job, and the dependency that makes deployment wait for validation.
Explore a single-job GitHub Actions workflow that checks out the repository, signs in to Azure, creates a resource group, previews Bicep changes, and deploys the template. Identify how workflow environment values and GitHub secrets supply deployment configuration.
Split Bicep preview and deployment into separate GitHub Actions jobs. Examine the needs dependency, the dev environment, and the checkout and Azure sign-in steps required by each hosted job.
Continue learning with Houssem Dellai through the LinkedIn, GitHub, YouTube, and Twitter links in this article. Explore additional cloud and DevOps examples and choose the channels that best support your next learning goals.
Move from clicking through Azure deployments to describing infrastructure in code. This course introduces Azure Bicep through practical resource-deployment examples, then connects Bicep to Container Apps, landing-zone implementation, and CI/CD automation with Azure DevOps and GitHub Actions.
Understand where Bicep fits
Begin by comparing deployment approaches through the Azure portal, Azure CLI, ARM templates, and Bicep. Seeing the same deployment problem from several angles helps you understand why a readable infrastructure definition is useful and how Bicep relates to the Azure Resource Manager ecosystem.
What you will work through
Explore different ways to create Azure resources before focusing on the Bicep approach.
Follow an Azure resource deployment using a Bicep definition.
Use a Bicep module in an Azure Container Apps deployment and run the demonstrated template.
Decompile an ARM template into Bicep to understand the relationship between the two formats.
Review the architecture and Bicep implementation of a Container Apps landing zone.
Follow a landing-zone deployment with Bicep.
Deploy Bicep templates through Azure DevOps, including a multistage deployment example.
Use GitHub Actions to automate Bicep deployment with single-job and multiple-job workflow examples.
Connect infrastructure code with delivery
The progression does not stop at writing a template. It shows how a resource definition becomes part of a deployment workflow and how that workflow can be organized into jobs and stages. This gives you a practical introduction to the relationship between infrastructure code, deployment tooling, and pipeline automation.
Who this course is for
This course is for developers, cloud engineers, and DevOps practitioners who want an accessible, Azure-focused introduction to Bicep. Basic familiarity with Azure resources will help, but you do not need previous Bicep experience to begin. Some understanding of YAML pipelines is useful for the automation modules.
Follow the demonstrations to build a foundation for reading, adapting, and deploying Bicep examples in your own Azure projects, with a clear view of how those deployments can be automated.