Architecting for High Availability on Azure