Q. Are there any good guidelines regarding designing resilient architectures using the public cloud?
A. There are some key guidelines when designing highly available solutions in the public cloud and Azure specifically. For example:
- Always have multiple instances of a service and place them in an Availability Set to provide protection from hardware failures and planned maintenance shutdowns
- For the VMs in the Availability Set use different storage accounts for the VMs. This helps protect additionally against a storage cluster/stamp failure
- For the highest level of resiliency deploy instances in multiple regions and use services such as Azure Traffic Manager to distribute traffic between them
Microsoft has a great article, which I recommend reading. It goes into more detail about designing a resilient cloud architecture.