Search code examples
azureazure-resource-managerazure-resource-group

Azure ARM Templates


I have created 5 x ARM templates that combined deploys my application. Currently I have separate Templates/parameter files for the various assets (1 x servicebus, 1 x sql server, 1 x eventhub, etc)

Is this OK or should I merge them into 1 x template, 1 x parameter file that deploys everything?

Pro & cons? What is best practice here?


Solution

  • You should approach this from the deployment view.

    First answer yourself few question:

    1. How separate resources such as ASB, SqlServer, Event hub are impacting your app? can your app run independently while all above are unavailable?
    2. How often do you plan to deploy? I assume you are going to implement some sort of Continuous deployment.
    3. How often will you provision a new environment.

    so long story short. Anything that will have minimum (0) downtime on your app during deployment/disaster recovery, should be considered along with the fact anyone from the street can take you scripts and have your app running in reasonable time, say 30 min max.