When deploying outsystems in a cloud service with a automatic scaling mechanism when a new VM is automatically created there is no way to associate it to a specific deployment zone automatically. If an API to add a VM to a deployment zone existed this process could be fully automated.
Another set of useful APIs would be: to disable job processing and also to query jobs running in the server. With this, on a scale down event, we could stop new jobs from starting and monitor if current jobs have finished to then shutdown the VM.
Without these changes the current approach to support automatic scaling is not actually valid when there are multiple deployment zones, the current documentation only supports deployments to the global zone despite no reference to that limitation:
GitHub - OutSystems/AzureARMTemplates: Azure ARM templates for deploying OutSystems on Azure
Additional Configurations for OutSystems on Microsoft Azure - OutSystems 11 Documentation