Instead of maintaining lots of separate files for Azure Policy you can put all the artifacts in an ARM template. Moreover, you can do the same for policy initiatives.
Recently, I was working on creating custom Azure Policies and felt puzzled about how to create an efficient deployment process for them. All official examples referenced using separate files for policy parameters and rules plus additional input parameters to Azure PowerShell cmdlets.
Many teams that host applications in Azure App Service setup the availability monitoring for their apps using Application Insights web tests. Also, it is a common practice to put an application into the maintenance mode before applying any changes, so as not to be wakened up at 2 am in the morning.
The installation of tools and libraries on build servers is generally performed by developers manually and only during the initial server setup. Some time later, you can find yourself with a bunch of build servers that have different versions of software installed on them.
How do you understand uptime / SLA?
Do you know what it means for your system?
How much are you willing to pay?
How much money will you lose each hour your system is down?
What is a reasonable uptime?
Let's try to answer these questions.