The goal of this course is to help students learn how to professionally write and develop Azure DevOps Infrastructure as Code with BICEP, YAML, Git and PowerShell. Azure DevOps is a leading automation and DevOps platform and the students will be taken through the following;An in-depth introduction to Infrastructure as Code with the Azure DevOps platformA definition of DevOps and how Azure as a SaaS (Software as a Service) platform that facilitates the practice of the DevOps methodologyAn Introduction to YAML pipelines on the Azure DevOps platformAn Introduction to BICEP and ARM templates for developing Infrastructure as Code(IaC) on the Azure DevOps PlatformAn overview of Industry leading DevOps toolsGit is an industry leading distributed version control system and is a very critical component of Azure DevOps and therefore students will be taken through a Git Crash Course that covers the following basic aspects;The creation of a local Git RepositoryLearn how to stage and commit single and multiple filesBranching management with Git including MergingGit with Bash and Visual Studio CodeLearn how to time travel and undo changesStudents may find it necessary to learn about how to set up Azure DevOps Pipeline Agents as a Self-Hosted Azure DevOps agents for running CI / CD pipelines, perhaps the situation could be cost saving at a work environment or a cost effective personal environment, and therefore the students will learn the following;Set up Billing for Microsoft and Self Hosted pipeline agentsInstallation and Set Up for a Self Hosted pipeline agentsSetting up of a Personal Access TokenConfiguration of a Self-Hosted AgentYAML is a leading configuration management technology for developing CI / CD pipelines, perhaps the best way learn how to write YAML pipelines is for the student to be taken through how to provision infrastructure with YAML, Powershell and BICEP. The initial focus will be the provisioning of resource group and there and therefore the students will learn the following;How to Create an Azure Service ConnectionCloning an Azure DevOps RepositoryWriting PowerShell Script to Provision a Resource GroupHow to Add Stages, Jobs and Steps in a YAML pipeline templateRunning the YAML pipeline on Azure DevOpsHow to develop Azure Variables Group and pass them into YAML templatesHow to override BICEP parameters using YAMLOne aspect of professionalism in coding is how projects are structured for coding efficiency and ease of management, the other aspect in the naming convention of resources. The course will take through students on the following following. Creating Project Structures for a DevOps and BICEP project using Bash and GitEstablish a standard naming convention for resources using BICEP and PowerShellThe heart of provisioning and deploying infrastructure in Azure is the adoption of BICEP, and students will learn the following in terms of developing BICEP in a professional manner;Development of a BICEP template to provision Log Analytics and Data FactoryHow to add Input Parameters to a BICEP templateHow to create BICEP Modules for Log Analytics and Data FactoryHow to add Tagging Information to BICEP modulesHow to structure a naming convention with BICEPHow to use run time and compile time variables and parametersHow to write a PowerShell Script to Transpile BICEP to an ARM templateHow to Manage Dependencies between Resources with BICEPHow manage BICEP template errors