{"id":90653,"date":"2023-08-29T07:58:09","date_gmt":"2023-08-29T13:28:09","guid":{"rendered":"https:\/\/www.whizlabs.com\/blog\/?p=90653"},"modified":"2024-03-14T15:40:18","modified_gmt":"2024-03-14T10:10:18","slug":"azure-resource-manager-template-overview","status":"publish","type":"post","link":"https:\/\/www.whizlabs.com\/blog\/azure-resource-manager-template-overview\/","title":{"rendered":"Azure Resource Manager Template : An Overview | AZ-900 Certification"},"content":{"rendered":"<p><span style=\"font-weight: 400;\">To create a virtual machine within the Azure portal, you have to wait for a longer duration to successfully deploy a storage account. Recognizing this issue, Microsoft came up with a template called ARM Template to define resources and create the infrastructure.<\/span><\/p>\n<p><span style=\"font-weight: 400;\"><strong>Azure Resource Manager<\/strong> <\/span><span style=\"font-weight: 400;\">Templates offer an integrated and straightforward approach to establishing and controlling your Azure environments to assist both the developers and administrators. By utilizing uncomplicated JSON files, you can ensure a uniform deployment of your environment.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">In this blog post, you will walk through <a href=\"https:\/\/www.whizlabs.com\/azure-resource-manager-arm\/\" target=\"_blank\" rel=\"noopener\">Azure resource manager(ARM)<\/a> in <\/span><span style=\"font-weight: 400;\">AZ-900 Certification<\/span><span style=\"font-weight: 400;\">, the benefits of ARM, how to create and deploy ARM templates and ARM Best Practices, and so on.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Let\u2019s dive in!\u00a0<\/span><\/p>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_76 ez-toc-wrap-left counter-hierarchy ez-toc-counter ez-toc-custom ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #ea7e02;color:#ea7e02\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #ea7e02;color:#ea7e02\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.whizlabs.com\/blog\/azure-resource-manager-template-overview\/#What_is_Azure_resource_managerARM\" >What is Azure resource manager(ARM)?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.whizlabs.com\/blog\/azure-resource-manager-template-overview\/#What_are_ARM_Templates\" >What are ARM Templates?\u00a0<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.whizlabs.com\/blog\/azure-resource-manager-template-overview\/#ARM_Deployment_Modes\" >ARM Deployment Modes<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.whizlabs.com\/blog\/azure-resource-manager-template-overview\/#How_to_create_and_deploy_ARM_Template\" >How to create and deploy ARM Template?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.whizlabs.com\/blog\/azure-resource-manager-template-overview\/#ARM_Template_Best_Practices\" >ARM Template Best Practices<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/www.whizlabs.com\/blog\/azure-resource-manager-template-overview\/#FAQs\" >FAQs<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/www.whizlabs.com\/blog\/azure-resource-manager-template-overview\/#Conclusion\" >Conclusion<\/a><\/li><\/ul><\/nav><\/div>\n<h3><span class=\"ez-toc-section\" id=\"What_is_Azure_resource_managerARM\"><\/span><strong>What is Azure resource manager(ARM)?<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><span style=\"font-weight: 400;\">While working with the Microsoft Azure cloud, the Azure resources have to be created. To manage such kinds of resources, Microsoft introduced solutions such as Azure Resource Manager (ARM) to deploy, configure, and manage the resources that exist within the Azure platform.\u00a0<\/span><\/p>\n<p><a href=\"https:\/\/learn.microsoft.com\/en-us\/azure\/azure-resource-manager\/management\/overview\" target=\"_blank\" rel=\"nofollow noopener\"><span style=\"font-weight: 400;\">Microsoft Azure Resource Manager<\/span><span style=\"font-weight: 400;\">(ARM)<\/span><\/a> <span style=\"font-weight: 400;\">\u00a0is an advanced, cheap, and efficient way of resource management. It integrates resources such as Azure resource groups, Azure resources, and resource providers to develop an aligned cloud environment. It can be achieved with the help of Azure Portal, Azure CLI, Azure PowerShell, and SDKs.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">To ace the <\/span><a href=\"https:\/\/www.whizlabs.com\/microsoft-azure-certification-az-900\/\" target=\"_blank\" rel=\"noopener\"><span style=\"font-weight: 400;\">AZ-900 certification exam<\/span><\/a><span style=\"font-weight: 400;\">, having basic knowledge of the ARM Template can be beneficial.<\/span><\/p>\n<h3><span class=\"ez-toc-section\" id=\"What_are_ARM_Templates\"><\/span><strong>What are ARM Templates?\u00a0<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><span style=\"font-weight: 400;\">An <\/span><a href=\"https:\/\/www.whizlabs.com\/blog\/an-introduction-to-azure-resource-manager\/\" target=\"_blank\" rel=\"noopener\"><span style=\"font-weight: 400;\">ARM (Azure Resource Manager) template<\/span><\/a><span style=\"font-weight: 400;\"> is like a set of instructions written in a special code. These instructions describe how your project&#8217;s framework and settings should be put together. These instructions are written using a format called JSON (JavaScript Object Notation).<\/span><\/p>\n<p><span style=\"font-weight: 400;\">This template contains all the details about the parts you need for your project. Using this template makes it easy to set up everything quickly and consistently. It&#8217;s like having a step-by-step guide to automatically build your project.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">You can go through some of the ARM Templates benefits:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">ARM Templates serve as a comprehensive solution for defining network infrastructure, storage, and diverse resources.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">They ensure consistent resource deployment throughout the development lifecycle, allowing for repeated and dependable provisioning.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Templates offer the advantage of parallel deployment, where a single command triggers the setup of all specified resource configurations.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Modularization is supported, enabling the segmentation of intricate configurations into smaller units within a parent template.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Deployment scripts, including PowerShell or Bash Scripts, can be seamlessly integrated into templates to enhance their functionality and customization.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">The ARM template toolkit facilitates the testing and validation of ARM Templates, offering a way to preview their functionality before actual deployment.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">The preview feature allows users to visualize impending resource creation or removal actions to achieve transparency and confidence.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Integration with <a href=\"https:\/\/www.whizlabs.com\/blog\/ci-cd-pipelines\/\" target=\"_blank\" rel=\"noopener\">Continuous Integration (CI) and Continuous Deployment (CD) tools<\/a> is a notable capability to enable the automation of release processes.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">This integration streamlines resource deployment and management to achieve efficient development workflows.<\/span><\/li>\n<\/ul>\n<blockquote><p>Also Read : 7 pro tips for the AZ-900 exam: <a href=\"https:\/\/www.whizlabs.com\/blog\/pro-tips-az-900-microsoft-azure-fundamentals\/\" target=\"_blank\" rel=\"noopener\">Microsoft Azure Fundamentals Certifications<\/a><\/p><\/blockquote>\n<h3><span class=\"ez-toc-section\" id=\"ARM_Deployment_Modes\"><\/span><strong>ARM Deployment Modes<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><span style=\"font-weight: 400;\">Two approaches for deploying ARM templates are <\/span><b>incremental and complete<\/b><span style=\"font-weight: 400;\"> modes. These modes handle existing resources not defined in the template in distinct ways.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">In both modes, the Resource Manager service aims to create all template resources. If a resource already exists and aligns with the template, it remains unchanged. If you were to execute previous commands, Azure wouldn&#8217;t take any action.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">When you modify a resource&#8217;s property values, Azure responds by updating the resource with fresh values. For instance, in the case of a storage account, shifting from Standard LRS to Standard GRS as the storage SKU prompts Azure to carry out the update.<\/span><\/p>\n<h3><span class=\"ez-toc-section\" id=\"How_to_create_and_deploy_ARM_Template\"><\/span><strong>How to create and deploy ARM Template?<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><span style=\"font-weight: 400;\">Here is a step-by-step guide to create and deploy an ARM Template:<\/span><\/p>\n<h4><span style=\"font-weight: 400;\">1. <strong>Creating ARM Template<\/strong><\/span><\/h4>\n<p><span style=\"font-weight: 400;\">Once you have familiarized yourself with the structure of ARM Templates, it&#8217;s time to dive into creating and deploying them. To write a template, any JSON editor will suffice.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Microsoft offers Visual Studio Code as a tool, for coding in formats, including JSON. You can obtain Visual Studio Code from the Microsoft website or store.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">If you have access to the Azure Portal you don&#8217;t need any tools as it is already equipped with built-in editors.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Here, we will be using the Azure Portal. Let&#8217;s proceed by visiting and logging into your Azure Portal then follow along as we walk through the steps of creating and deploying ARM Templates.<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">To create the ARM template, it&#8217;s necessary to generate the resources within the Azure Portal.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Refer to the image provided, where you can locate the possibilities for resource creation within the Azure Portal.\u00a0<\/span><\/li>\n<\/ul>\n<p><img decoding=\"async\" class=\"size-full wp-image-90721 aligncenter\" src=\"https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2023\/08\/resource-portal.webp\" alt=\"resource-portal\" width=\"617\" height=\"309\" srcset=\"https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2023\/08\/resource-portal.webp 617w, https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2023\/08\/resource-portal-300x150.webp 300w, https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2023\/08\/resource-portal-150x75.webp 150w\" sizes=\"(max-width: 617px) 100vw, 617px\" \/><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Select the <\/span><b>&#8216;Create a Resource&#8217;<\/b><span style=\"font-weight: 400;\"> button.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">In the subsequent window, you&#8217;ll encounter a range of choices to initiate resource creation. You can create the template with the desired choices such as Windows systems, Ubuntu instances, Web Applications, SQL Databases, and more.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">\u00a0Since we aim to use a template for resource creation, direct your attention to the search bar.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Input your desired template and click on Template Deployment (deploy using a custom template).<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Finally, click on the Create button to<\/span><span style=\"font-weight: 400;\"> create the template.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">After selecting the<\/span><b> &#8216;Create&#8217; <\/b><span style=\"font-weight: 400;\">button in the previous steps, the Azure Portal will display the &#8216;Custom Deployment&#8217; window.<\/span><\/li>\n<\/ul>\n<p><img decoding=\"async\" class=\"size-full wp-image-90722 aligncenter\" src=\"https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2023\/08\/custom-deployment.webp\" alt=\"custom-deployment\" width=\"503\" height=\"410\" srcset=\"https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2023\/08\/custom-deployment.webp 503w, https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2023\/08\/custom-deployment-300x245.webp 300w, https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2023\/08\/custom-deployment-150x122.webp 150w\" sizes=\"(max-width: 503px) 100vw, 503px\" \/><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">To generate a template from scratch, choose the<\/span><b> &#8216;Build your template in the editor&#8217;<\/b><span style=\"font-weight: 400;\"> option. This option also applies if you wish to import your template for creation.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Following this, the <\/span><b>&#8216;Template Editor&#8217;<\/b><span style=\"font-weight: 400;\"> window will be opened within the Azure Portal. Within this editor, a straightforward layout of the ARM Template will be accessible. You can utilize this format to compose and integrate your code.\u00a0<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">The options highlighted at the top in the image below present various selections. These selections allow you to incorporate a resource, utilize an Azure quickstart template, upload your template file, and obtain the created template through download.<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">If you are a beginner, creating a template from scratch is challenging. In such cases, you can utilize quickstart templates in the Azure portal.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">To use Azure quickstart templates, instead of selecting the \u2018<\/span><b>Build your template in the editor<\/b><span style=\"font-weight: 400;\">, you can follow the below steps:<\/span><\/p>\n<p><b>Step 1) <\/b><span style=\"font-weight: 400;\">Click the \u2018<\/span><b>Quickstart template<\/b><span style=\"font-weight: 400;\">\u2018 radio button.<\/span><\/p>\n<p><b>Step 2)<\/b><span style=\"font-weight: 400;\"> Select the drop-down button to see all the quickstart templates and select any one of them. Next, search for the ARM template. Here, we selected a basic template for creating the storage account and turned on security for it.<\/span><\/p>\n<p><b>Step 3) <\/b><span style=\"font-weight: 400;\">Click on <\/span><b>\u2018Edit template\u2018 <\/b><span style=\"font-weight: 400;\">to alter and make the changes in the quickstart template before getting involved in the deployment process.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Within the template editor window, you can make the necessary modifications. On the left-hand side of this editor, you&#8217;ll find sections for parameters, variables, and the resources that this code will generate.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Additionally, the menu above can be used to download this template. Once you&#8217;ve finalized the template code, select the &#8216;Save&#8217; button.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Upon saving the template, a next window will appear, confirming all the resources that this template is set to create. Once you&#8217;ve verified the details, you can initiate template deployment and acquire the associated resources.<\/span><\/p>\n<h4><span style=\"font-weight: 400;\">2. <strong>Deploying the ARM Template<\/strong><\/span><\/h4>\n<p><span style=\"font-weight: 400;\">For deploying the template, you can opt for either Azure CLI or Azure PowerShell. Utilize the resource group you established and assign a distinctive name to the deployment. This name aids in effortless identification within the deployment history. To enhance convenience, create a variable containing the template file&#8217;s path.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">This variable streamlines the deployment process by negating the need for repetitive path entry during deployments. Make sure to substitute {provide-the-path-to-the-template-file} and the enclosed curly braces {} with the actual path to your template file.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">The deployment command will yield results, and you should focus on the &#8216;ProvisioningState&#8217; to determine the success of the deployment.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">For verification, you can inspect the deployment status through the Azure portal:<\/span><\/p>\n<ol>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Log in to the Azure portal.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Access the left-hand menu and choose <\/span><b>&#8220;Resource groups.&#8221;<\/b><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Select the checkbox adjacent to <\/span><b>&#8216;myResourceGroup,&#8217;<\/b><span style=\"font-weight: 400;\"> then choose<\/span><b> &#8216;myResourceGroup.&#8217;<\/b><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Opt for the resource group you created earlier (usually named &#8216;myResourceGroup&#8217;). As it&#8217;s a blank template, no resources are currently present.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">In the Essentials section at the center of the overview, observe the deployment status beside <\/span><b>&#8216;Deployments\u2019<\/b><span style=\"font-weight: 400;\">. Click on the <\/span><b>&#8216;1 Succeeded&#8217;<\/b><span style=\"font-weight: 400;\"> option.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">This displays a deployment history for the resource group. Mark the checkbox next to <\/span><b>&#8216;blank template,&#8217;<\/b><span style=\"font-weight: 400;\"> then select <\/span><b>&#8216;blank template.&#8217;<\/b><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">You&#8217;ll find a concise overview of the deployment. Given the absence of deployed resources in this instance, the summary might not contain much information. However, as your deployment history expands, this summary can prove valuable. On the left side, you can explore inputs, outputs, and the template employed during the deployment.<\/span><\/li>\n<\/ol>\n<h3><span class=\"ez-toc-section\" id=\"ARM_Template_Best_Practices\"><\/span><strong>ARM Template Best Practices<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><img decoding=\"async\" class=\"alignnone wp-image-90668 size-full\" src=\"https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2023\/08\/ARM-template-best-practices-infographics-01-1.webp\" alt=\"Azure Resource Manager Practices\" width=\"1050\" height=\"637\" srcset=\"https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2023\/08\/ARM-template-best-practices-infographics-01-1.webp 1050w, https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2023\/08\/ARM-template-best-practices-infographics-01-1-300x182.webp 300w, https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2023\/08\/ARM-template-best-practices-infographics-01-1-1024x621.webp 1024w, https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2023\/08\/ARM-template-best-practices-infographics-01-1-768x466.webp 768w, https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2023\/08\/ARM-template-best-practices-infographics-01-1-150x91.webp 150w\" sizes=\"(max-width: 1050px) 100vw, 1050px\" \/><\/p>\n<p><span style=\"font-weight: 400;\">When creating ARM templates, adhering to certain best practices is essential. These practices contribute to streamlined management and the efficient configuration of your resources.<\/span><\/p>\n<p><b>Template Size and Limits:<\/b><span style=\"font-weight: 400;\"> It is essential to maintain your templates within a 4MB size limit, including all iterative resource definitions, variables, and parameters. Furthermore, parameters should not exceed 64KB. It is important to be aware of certain limits for templates, which include:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">A maximum of 24,576 characters in a template expression<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Up to 64 output values<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">A cap of 800 resources (including copy count)<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Limitations to 256 variables and 256 parameters<\/span><\/li>\n<\/ul>\n<p><b>Resource Group Considerations:<\/b><span style=\"font-weight: 400;\"> Resource groups serve as repositories for your resources&#8217; metadata. This metadata is stored within the same location as the group itself.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Consequently, if a region containing a resource group becomes inaccessible, managing or updating resources within that group becomes unfeasible until region access is restored.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">For failover scenarios, we can safeguard the metadata by duplicating it in the failover region. This ensures ongoing control even when the primary group is inaccessible.<\/span><\/p>\n<p><b>YAML Format Deliberation: <\/b><span style=\"font-weight: 400;\">While ARM templates are typically structured in JSON format, consider transitioning to YAML, particularly as the complexity of your deployment increases.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Though JSON serves well for simple templates, it becomes less human-readable as resource count and intricacies increase. YAML, on the other hand, can enhance template readability and allow you to explain the rationale behind resource definitions. This commenting feature is especially beneficial when multiple team members collaborate on template development.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Although the deployment format remains JSON, you can compose templates in YAML and subsequently convert them before deployment.<\/span><\/p>\n<p><b>Minimizing Linked Templates Usage:<\/b><span style=\"font-weight: 400;\"> Azure Resource Manager offers linked templates for breaking down resources into distinct templates, subsequently connected and tied to a single deployment source.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">However, this linking necessitates public accessibility or accessible deployment pipelines, which introduces potential vulnerabilities. While access can be managed via a SAS token, security concerns persist.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Moreover, linked templates confine you to parameter URI or parameter object usage, limiting your flexibility in handling sensitive information within templates. Instead of working around these challenges, contemplate leveraging standard templates.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">By employing deployment pipelines, you can ensure that dependent templates are deployed collectively to attain better outcomes similar to linked templates but with increased security.<\/span><\/p>\n<h3><span class=\"ez-toc-section\" id=\"FAQs\"><\/span><strong>FAQs<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><b>What is ARM Template in Azure?<\/b><\/p>\n<p><span style=\"font-weight: 400;\">ARM (Azure Resource Manager) template refers to a set of instructions written in a special code. These instructions describe how to create the foundation and setup for your project. These instructions use a simple and clear language called JSON (JavaScript Object Notation). It&#8217;s like having a recipe that tells Azure how to set up everything you need for your project.<\/span><\/p>\n<p><b>What are the components of the ARM Template?<\/b><\/p>\n<p><span style=\"font-weight: 400;\">The components of the ARM Template are:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Header Section: Schema, ContentVersion, and API profile.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Parameters: Customizable values for tailored deployment.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Variables: Reusable values for efficient template management.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Functions: Predefined actions for calculations and dynamic content.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Resources: Definition of Azure resources to be deployed.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Outputs: Extraction of specific deployment information.<\/span><\/li>\n<\/ul>\n<div class=\"ast-oembed-container \" style=\"height: 100%;\"><iframe title=\"What&#039;s Next After AZ-900? | Azure Certification Path | Whizlabs #shorts\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/Li98Jkmh-Wk?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><\/div>\n<p><b>How much does Azure Resource Manager cost?<\/b><\/p>\n<p><span style=\"font-weight: 400;\">The Azure Resource Manager offered as a free Azure service to Azure customers and service providers.<\/span><\/p>\n<h3><span class=\"ez-toc-section\" id=\"Conclusion\"><\/span><strong>Conclusion<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><span style=\"font-weight: 400;\">Hope this article has provided us with an understanding of Azure Resource Manager Templates and their significance in deploying resources. You also gained knowledge about using these templates to create and deploy setups in the AZ-900 Certification platform.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">However, it&#8217;s important to note that this azure resource manager blog primarily focuses on the foundational aspects of ARM Templates. So, you can try out a fundamental level exam like AZ-900 Certification if you want to step into the Azure platform.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">If you&#8217;re interested in delving deeper into the Azure Cloud and its underlying structure, you can explore our <\/span><a href=\"https:\/\/www.whizlabs.com\/labs\/library\" target=\"_blank\" rel=\"noopener\"><span style=\"font-weight: 400;\">Azure hands-on labs<\/span><\/a><span style=\"font-weight: 400;\"> and interactive <\/span><a href=\"https:\/\/www.whizlabs.com\/labs\/sandbox\" target=\"_blank\" rel=\"noopener\"><span style=\"font-weight: 400;\">Azure sandboxes<\/span><\/a><span style=\"font-weight: 400;\"> for a more comprehensive learning experience.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">If you have any questions about this blog post, feel free to comment to us!<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>To create a virtual machine within the Azure portal, you have to wait for a longer duration to successfully deploy a storage account. Recognizing this issue, Microsoft came up with a template called ARM Template to define resources and create the infrastructure. Azure Resource Manager Templates offer an integrated and straightforward approach to establishing and controlling your Azure environments to assist both the developers and administrators. By utilizing uncomplicated JSON files, you can ensure a uniform deployment of your environment. In this blog post, you will walk through Azure resource manager(ARM) in AZ-900 Certification, the benefits of ARM, how to [&hellip;]<\/p>\n","protected":false},"author":389,"featured_media":90670,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_uag_custom_page_level_css":"","site-sidebar-layout":"default","site-content-layout":"default","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"default","adv-header-id-meta":"","stick-header-meta":"default","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[15],"tags":[5041,1681],"class_list":["post-90653","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-microsoft-azure","tag-az-900","tag-az-900-exam"],"uagb_featured_image_src":{"full":["https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2023\/08\/fi-an-overview-of-azure-resources-manager-template__1-scaled.webp",2560,1440,false],"thumbnail":["https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2023\/08\/fi-an-overview-of-azure-resources-manager-template__1-150x150.webp",150,150,true],"medium":["https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2023\/08\/fi-an-overview-of-azure-resources-manager-template__1-300x169.webp",300,169,true],"medium_large":["https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2023\/08\/fi-an-overview-of-azure-resources-manager-template__1-768x432.webp",768,432,true],"large":["https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2023\/08\/fi-an-overview-of-azure-resources-manager-template__1-1024x576.webp",1024,576,true],"1536x1536":["https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2023\/08\/fi-an-overview-of-azure-resources-manager-template__1-1536x864.webp",1536,864,true],"2048x2048":["https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2023\/08\/fi-an-overview-of-azure-resources-manager-template__1-2048x1152.webp",2048,1152,true],"profile_24":["https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2023\/08\/fi-an-overview-of-azure-resources-manager-template__1-scaled.webp",24,14,false],"profile_48":["https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2023\/08\/fi-an-overview-of-azure-resources-manager-template__1-scaled.webp",48,27,false],"profile_96":["https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2023\/08\/fi-an-overview-of-azure-resources-manager-template__1-scaled.webp",96,54,false],"profile_150":["https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2023\/08\/fi-an-overview-of-azure-resources-manager-template__1-scaled.webp",150,84,false],"profile_300":["https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2023\/08\/fi-an-overview-of-azure-resources-manager-template__1-scaled.webp",300,169,false],"tptn_thumbnail":["https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2023\/08\/fi-an-overview-of-azure-resources-manager-template__1-250x250.webp",250,250,true],"web-stories-poster-portrait":["https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2023\/08\/fi-an-overview-of-azure-resources-manager-template__1-640x853.webp",640,853,true],"web-stories-publisher-logo":["https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2023\/08\/fi-an-overview-of-azure-resources-manager-template__1-96x96.webp",96,96,true],"web-stories-thumbnail":["https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2023\/08\/fi-an-overview-of-azure-resources-manager-template__1-150x84.webp",150,84,true]},"uagb_author_info":{"display_name":"Karthikeyani Velusamy","author_link":"https:\/\/www.whizlabs.com\/blog\/author\/karthikeyani-velusamy\/"},"uagb_comment_info":2,"uagb_excerpt":"To create a virtual machine within the Azure portal, you have to wait for a longer duration to successfully deploy a storage account. Recognizing this issue, Microsoft came up with a template called ARM Template to define resources and create the infrastructure. Azure Resource Manager Templates offer an integrated and straightforward approach to establishing and&hellip;","_links":{"self":[{"href":"https:\/\/www.whizlabs.com\/blog\/wp-json\/wp\/v2\/posts\/90653","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.whizlabs.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.whizlabs.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.whizlabs.com\/blog\/wp-json\/wp\/v2\/users\/389"}],"replies":[{"embeddable":true,"href":"https:\/\/www.whizlabs.com\/blog\/wp-json\/wp\/v2\/comments?post=90653"}],"version-history":[{"count":14,"href":"https:\/\/www.whizlabs.com\/blog\/wp-json\/wp\/v2\/posts\/90653\/revisions"}],"predecessor-version":[{"id":94262,"href":"https:\/\/www.whizlabs.com\/blog\/wp-json\/wp\/v2\/posts\/90653\/revisions\/94262"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.whizlabs.com\/blog\/wp-json\/wp\/v2\/media\/90670"}],"wp:attachment":[{"href":"https:\/\/www.whizlabs.com\/blog\/wp-json\/wp\/v2\/media?parent=90653"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.whizlabs.com\/blog\/wp-json\/wp\/v2\/categories?post=90653"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.whizlabs.com\/blog\/wp-json\/wp\/v2\/tags?post=90653"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}