diff --git a/1-CONTRIBUTION-GUIDE/README.md b/1-CONTRIBUTION-GUIDE/README.md index a62287892bcc..756c60b36a73 100644 --- a/1-CONTRIBUTION-GUIDE/README.md +++ b/1-CONTRIBUTION-GUIDE/README.md @@ -11,7 +11,7 @@ The following information is relevant to get started with contributing to this r You can deploy these samples directly through the Azure Portal or by using the scripts supplied in the root of the repo. -To deploy a sammple using the Azure Portal, click the **Deploy to Azure** button found in the README.md of each sample. +To deploy a sample using the Azure Portal, click the **Deploy to Azure** button found in the README.md of each sample. To deploy the sample via the command line (using [Azure PowerShell or the Azure CLI](https://azure.microsoft.com/en-us/downloads/)) you can use the scripts. @@ -65,7 +65,7 @@ The README.md describes your deployment. A good description helps other communit + Deploy to Azure button + Visualize button + Description of what the template will deploy -+ Tags, that can be used for seach. Specify the tags comma seperated and enclosed between two back-ticks (e.g Tags: `cluster, ha, sql`) ++ Tags, that can be used for search. Specify the tags comma separated and enclosed between two back-ticks (e.g Tags: `cluster, ha, sql`) + *Optional: Prerequisites + *Optional: Description on how to use the application + *Optional: Notes diff --git a/1-CONTRIBUTION-GUIDE/best-practices.md b/1-CONTRIBUTION-GUIDE/best-practices.md index 11052ea6da7a..0a80ea3b6eef 100644 --- a/1-CONTRIBUTION-GUIDE/best-practices.md +++ b/1-CONTRIBUTION-GUIDE/best-practices.md @@ -211,7 +211,7 @@ The following guidelines are relevant to the main deployment template and nested It is obvious to create a single deployment template for deploying a single resource. Nested templates are common for more advanced scenarios. The following section is by no means a hard requirement, but more of a guidance to help you decide between a single template or a decomposed nested template design. * Create a single template for a single tier application -* Create a nested templates deployment for a multitier application +* Create a nested templates deployment for a multi-tier application * Use nested templates for conditional deployment ### Samples that contain extra artifacts (Custom Scripts, nested templates, etc) @@ -221,7 +221,7 @@ When samples contain scripts, templates or other artifacts that need to be made First, define two standard parameters: * _artifactsLocation - this is the base URI where all artifacts for the deployment will be staged. The default value should be the samples folder so that the sample can be easily deployed in scenarios where a private location is not required. -* _artifactsocationSasToken - this is the sasToken required to access _artifactsLocation. The default value should be "" for scenarios where the _artifactsLocation is not secured, for example, the raw GitHub URI. +* _artifactsLocationSasToken - this is the sasToken required to access _artifactsLocation. The default value should be "" for scenarios where the _artifactsLocation is not secured, for example, the raw GitHub URI. ``` "parameters": { @@ -310,7 +310,7 @@ When authoring a template that references another sample, define a complex objec _**Note:** Using this approach will still require pulling the dependent artifact from the raw GitHub location. The sample scripts do not privately stage artifacts from adjacent solutions. In practice, it is expected that this technique would be rarely used because the main template being deployed has a dependency on a shared template that may have a different lifecycle, resulting in unexpected changes in the configuration. In a real-world scenario, all the templates that make up the deployment should be under the same span of control and could be staged together. Simply put share the same parent. This will work for a shared environment of the repository, but a best practice would be to refactor these samples to ensure a proper configuration is maintained._ -It is possible to deploy a nested template based on parameter input. The parameter input is used to concatenate the relative path to a nested template. Based on the user input a different template is deployed. This enables a conditional nested template deployment. The paramater is used to define the name of the template. Ensure the allowedValues of the input parameter match the names of the nested templates. +It is possible to deploy a nested template based on parameter input. The parameter input is used to concatenate the relative path to a nested template. Based on the user input a different template is deployed. This enables a conditional nested template deployment. The parameter is used to define the name of the template. Ensure the allowedValues of the input parameter match the names of the nested templates. ### Nested templates design for more advanced scenarios @@ -318,7 +318,7 @@ When you decide to decompose your template design into multiple nested templates For this guidance a deployment of a SharePoint farm is used as an example. The SharePoint farm consists of multiple tiers. Each tier can be created with high availability. The recommended design consists of the following templates. + **Main template** (azuredeploy.json). Used for the input parameters. -+ **Shared resouces template**. Deploys the shared resources that all other resources use (e.g. virtual network, availability sets). The expression dependsOn enforces that this template is deployed before the other templates. ++ **Shared resources template**. Deploys the shared resources that all other resources use (e.g. virtual network, availability sets). The expression dependsOn enforces that this template is deployed before the other templates. + **Optional resources template**. Conditionally deploys resources based on a parameter (e.g. a jumpbox) + **Member resources templates**. Each within an application tier within has its own configuration. Within a tier different instance types can be defined. (e.g. first instance creates a new cluster, additional instances are added to the existing cluster). Each instance type will have its own deployment template. + **Scripts**. Widely reusable scripts are applicable for each instance type (e.g. initialize and format additional disks). Custom scripts are created for specific customization purpose are different per instance type.