Following are High Availability strategies while developing Azure Applications.
Multiple Instances
Ensure the application components, services have multiple instances.
Retry Pattern
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.
Message Broker
Implement a Message Broker for high critical tasks to ensure the tasks in the Queue is definitely processed.
Automate Deployments
Consider using Automated Deployments including for Updates too.
Deployment Slots
Usage of Deployment Slots enable switching between Production & Staging deployments.
Geo-replicate Database
Geo-Replicate the database for higher availability.
Monitoring Systems
Implement proper monitoring systems to track failures, notify on errors, long duration tasks etc.
Disaster Recovery
Create a multi-site recovery plan for mission critical applications.