Following are High Availability strategies while developing Azure Applications.
Ensure the application components, services have multiple instances.
In case of Transient failures that should not last long, the application should implement a Retry pattern to repeat the invoke and get through the service.
Circuit Breaker Pattern
For prolonged failures, the application should implement Circuit Breaker pattern so that subsequent failures will not hang the application. Once the failure is resolved, the Circuit Breaker should open the gates back.
Implement a Message Broker for high critical tasks to ensure the tasks in the Queue is definitely processed.
Consider using Automated Deployments including for Updates too.
Usage of Deployment Slots enable switching between Production & Staging deployments.
Geo-Replicate the database for higher availability.
Implement proper monitoring systems to track failures, notify on errors, long duration tasks etc.
Create a multi-site recovery plan for mission critical applications.