With the introduction of Azure Resource Manager at Build in 2014, Microsoft defined the next generation foundation for its public cloud platform. One of the core capabilities of Azure Resource Manager is template orchestration for all resources types in the platform. Enabling you to deploy any type of application (IaaS, PaaS or a combination) from a single template.
To provide you with a range of sample templates, Microsoft started a community initiative for creating, maintaining and contributing templates in a public repository on GitHub. While this repository started with a modest set of templates, over time it grew to the most used reference and starting point for Azure Resource Manager Templates, containing over 330 templates.
With more people contributing to the repository new guidelines were added. The contributing process (Pull Requests) was integrated with Travis CI to improve the Pull Requests. Common issues with deployments of the templates were identified and guidelines to prevent these issues were also added to the README. Technical Preview 1 of Microsoft Azure Stack was introduced. The majority of the templates use hardcoded endpoint, requiring minor adjustments to the template before deploying them to Microsoft Azure Stack.
Guidelines and best practices
Together with a lot of passionate people from Microsoft that are involved with this topic, we were able to settle on an updated set of guidelines. These guidelines address the challenges we have learned so for. Improving the standardization and reusability of contributions to the repository. But more importantly it contains guidelines that help you create and maintain any ARM template, whether you prefer to store them on GitHub or not.
The guidelines are split into three documents.
- Contribution guide. Describes the minimal guidelines for contributing.
- Best practices. Best practices for improving the quality of your template design.
- Git tutorial. Step by step to get you started with Git.
I can’t stress this enough. You will gain benefit from creating templates that are compliant to these guidelines and best practices. The guidelines and best practices are based on the learnings from all the community members that contributed over 330 templates to the repository and from the results of the deployments of these templates on the Microsoft Azure platform.