You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This article gives recommendations about how to construct your Resource Manager template. These recommendations help you avoid common problems when using a template to deploy a solution.
9
+
This article gives recommendations about how to construct your Azure Resource Manager (ARM) template. These recommendations help you avoid common problems when using an ARM template to deploy a solution.
10
10
11
11
For recommendations about how to govern your Azure subscriptions, see [Azure enterprise scaffold: Prescriptive subscription governance](/azure/architecture/cloud-adoption/appendix/azure-scaffold?toc=%2Fen-us%2Fazure%2Fazure-resource-manager%2Ftoc.json&bc=%2Fen-us%2Fazure%2Fbread%2Ftoc.json).
12
12
@@ -273,5 +273,5 @@ The following information can be helpful when you work with [resources](template
273
273
274
274
## Next steps
275
275
276
-
* For information about the structure of the Resource Manager template file, see [Understand the structure and syntax of Azure Resource Manager Templates](template-syntax.md).
277
-
* For recommendations about how to build templates that work in all Azure cloud environments, see [Develop Azure Resource Manager templates for cloud consistency](templates-cloud-consistency.md).
276
+
* For information about the structure of the template file, see [Understand the structure and syntax of ARM templates](template-syntax.md).
277
+
* For recommendations about how to build templates that work in all Azure cloud environments, see [Develop ARM templates for cloud consistency](templates-cloud-consistency.md).
A key benefit of Azure is consistency. Development investments for one location are reusable in another. A template makes your deployments consistent and repeatable across environments, including the global Azure, Azure sovereign clouds, and Azure Stack. To reuse templates across clouds, however, you need to consider cloud-specific dependencies as this guide explains.
15
+
A key benefit of Azure is consistency. Development investments for one location are reusable in another. An Azure Resource Manager (ARM) template makes your deployments consistent and repeatable across environments, including the global Azure, Azure sovereign clouds, and Azure Stack. To reuse templates across clouds, however, you need to consider cloud-specific dependencies as this guide explains.
16
16
17
17
Microsoft offers intelligent, enterprise-ready cloud services in many locations, including:
18
18
@@ -28,19 +28,19 @@ The consistency of global Azure, the sovereign clouds, hosted clouds, and a clou
28
28
29
29
However, even though the global, sovereign, hosted, and hybrid clouds provide consistent services, not all clouds are identical. As a result, you can create a template with dependencies on features available only in a specific cloud.
30
30
31
-
The rest of this guide describes the areas to consider when planning to develop new or updating existing Azure Resource Manager templates for Azure Stack. In general, your checklist should include the following items:
31
+
The rest of this guide describes the areas to consider when planning to develop new or updating existing ARM templates for Azure Stack. In general, your checklist should include the following items:
32
32
33
33
* Verify that the functions, endpoints, services, and other resources in your template are available in the target deployment locations.
34
34
* Store nested templates and configuration artifacts in accessible locations, ensuring access across clouds.
35
35
* Use dynamic references instead of hard-coding links and elements.
36
36
* Ensure the template parameters you use work in the target clouds.
37
37
* Verify that resource-specific properties are available the target clouds.
38
38
39
-
For an introduction to Azure Resource Manger templates, see [Template deployment](overview.md).
39
+
For an introduction to ARM templates, see [Template deployment](overview.md).
40
40
41
41
## Ensure template functions work
42
42
43
-
The basic syntax of a Resource Manager template is JSON. Templates use a superset of JSON, extending the syntax with expressions and functions. The template language processor is frequently updated to support additional template functions. For a detailed explanation of the available template functions, see [Azure Resource Manager template functions](template-functions.md).
43
+
The basic syntax of an ARM template is JSON. Templates use a superset of JSON, extending the syntax with expressions and functions. The template language processor is frequently updated to support additional template functions. For a detailed explanation of the available template functions, see [ARM template functions](template-functions.md).
44
44
45
45
New template functions that are introduced to Azure Resource Manager aren't immediately available in the sovereign clouds or Azure Stack. To deploy a template successfully, all functions referenced in the template must be available in the target cloud.
46
46
@@ -492,7 +492,7 @@ This command takes a couple of minutes to return all the available images in the
492
492
493
493
If you made these VM images available to Azure Stack, all the available storage would be consumed. To accommodate even the smallest scale unit, Azure Stack allows you to select the images you want to add to an environment.
494
494
495
-
The following code sample shows a consistent approach to refer to the publisher, offer, and SKU parameters in your Azure Resource Manager templates:
495
+
The following code sample shows a consistent approach to refer to the publisher, offer, and SKU parameters in your ARM templates:
496
496
497
497
```json
498
498
"storageProfile": {
@@ -646,7 +646,7 @@ To get a list of publishers, use the [Get-AzureRmVmImagePublisher](/powershell/m
646
646
647
647
## Tips for testing and automation
648
648
649
-
It's a challenge to keep track of all related settings, capabilities, and limitations while authoring a template. The common approach is to develop and test templates against a single cloud before other locations are targeted. However, the earlier that tests are performed in the authoring process, the less troubleshooting and code rewriting your development team will have to do. Deployments that fail because of location dependencies can be time-consuming to troubleshoot. That’s why we recommend automated testing as early as possible in the authoring cycle. Ultimately, you'll need less development time and fewer resources, and your cloud-consistent artifacts will become even more valuable.
649
+
It's a challenge to keep track of all related settings, capabilities, and limitations while authoring a template. The common approach is to develop and test templates against a single cloud before other locations are targeted. However, the earlier that tests are performed in the authoring process, the less troubleshooting and code rewriting your development team will have to do. Deployments that fail because of location dependencies can be time-consuming to troubleshoot. That's why we recommend automated testing as early as possible in the authoring cycle. Ultimately, you'll need less development time and fewer resources, and your cloud-consistent artifacts will become even more valuable.
650
650
651
651
The following image shows a typical example of a development process for a team using an integrated development environment (IDE). At different stages in the timeline, different test types are executed. Here, two developers are working on the same solution, but this scenario applies equally to a single developer or a large team. Each developer typically creates a local copy of a central repository, enabling each one to work on the local copy without impacting the others who may be working on the same files.
652
652
@@ -663,4 +663,4 @@ Consider the following tips for testing and automation:
0 commit comments