I am conducting a research whether we can ensure that application instances run in different availability zones (AZs) to guarantee their high availability.
Generally, how do you guarantee HA for your applications and the apps of customers? According to the description of the Diego Auction (https://docs.cloudfoundry.org/concepts/diego/diego-auction.html), first priority is to choose Diego cells with correct software stack and sufficient resources; distribution over different AZs is a second priority. Therefore an app might be running in only one AZ.
Also, how can we detect in which AZs the applications are running? We checked the output of CC REST APIs v2 and v3 and of cf tool but didn’t find anything useful there.
Going one step further, can we do more than only detect such cases in our CF installations and warn users? Is there tooling or APIs to rebalance the instances without restarting or pausing the apps?