When people talking about system availability, it reflects to an agreed downtime. The mapping is as following:
| Availability % | Downtime per year |
|---|---|
| 99% | 3.65 days |
| 99.5% | 1.83 days |
| 99.9% | 8.77 hours |
| 99.95% | 4.38 hours |
| 99.99% | 52.60 minutes |
| 99.995% | 26.30 minutes |
| 99.999% | 5.26 minutes |
For solution involves mulitple system with different availabilities, the maximum availability of the overall solution is the smallest availability. However, you can utilise Availability Zones to increase overall availability. For example, Azure VM provide 99.9% uptime on its own. When creating VM that also utilising Availabity Zones, that will raise the VM uptime to 99.99%. Avaliability Zones provides the highest possible uptime for your application with minimal cross-zone latency (for changes to be applied to the replica), if your application can support the minimal cross-zone latency.
Each Azure Region, if supported, will have 3 Availability Zones.
Availability Sets are duplicated in the same datacenter. If you create VM with Availability Sets, it can raise the availability of the VM from 99.9% to 99.95%. Only use Availability Sets if Availability Zones are unavailable or application can’t handle the small cross-zone latency.
SQL Server Always On Availability Group (AG) provides high availability and disaster recovery for the configured group of databases, not for the SQL instance. AG can be configured on two or more (up to nine) SQL Server instances in Azure VM or across on-premises data center and Azure. When require lowest latency or replicas are geographically separate apart, asynchronous availability mode is recommended. If recplicas are within the same Azure region and application can hanle the minimal laytency, synchronous commit mode can be considered.
SQL Server Failover Cluster instances (FCI) provides high availability for an entire instance, in a single region. FCI doesn’t provide disaster recovery without being combined with AG or log shipping. FCI requires shared storage that can be provided by Azure shared file storage or using Storage Spaces Direct on Windows Server.
For Azure workload, AG is preferred than FCI for new development. FCI may be required for migrations from on-premises solutions.
Azure Site Recovery perform block level replication of Azure VM. It’s best used for stateless environments (like, web server) versus transactional database VM. Even though Azure Site Recovery is supported for use with SQL server, you need to set a higher recovery point which means potential data loss. And your RTO would be same as your RPO in this case.