本文介绍:

Azure 服务级别协议;

性能目标/停机时间/服务点数;

复合SLA计算;

通过Service Health 查看当前各服务的状态;

 

视频介绍:

 

 


图文介绍:

 

服务级别协议 Service level agreement:


Microsoft 坚持致力于通过遵守全面的运营政策、标准和实践为客户提供高质量的产品和服务。正式文件称为 服务水平协定 (SLA),用于捕获定义适用于 Azure 的性能标准的特定术语。
● SLA 描述了 Microsoft 为 Azure 客户提供某些性能标准的承诺。
● 有针对各个 Azure 产品和服务的 SLA。
● SLA 还指定如果服务或产品无法执行管理 SLA 规范时会发生什么。

 


对于每种相应的 Azure 产品或服务,典型 SLA 针对性能目标承诺范围从 99.9%(“三个九”)到 99.99%(“四个九”)不等。这些目标可适用于正常运行时间或服务响应时间等性能标准。

例如:

Azure Database for MySQL 服务的 SLA 可保证 99.99% 的正常运行时间。

Azure CosmosDB(数据库)服务 SLA 保证 99.99% 的正常运行时间,包括 DB 读取操作短于 10 毫秒和 DB 写入操作低于 15 毫秒的低延迟承诺。

 

SLA 停机时间估算:

下表列出不同持续时间内,各种 SLA 级别的潜在累积停机时间:

 

服务点数


SLA 还介绍在 Azure 产品或服务无法执行其管理 SLA 规范情况下 Microsoft 的响应方式。
例如,客户可对其 Azure 帐单使用折扣,作为对性能不佳的 Azure 产品或服务的补偿。下表详细介绍了这一示例。

下表中的第一列显示的是单个实例 Azure 虚拟机的每月正常运行时间百分比 SLA 目标。如果实际正常运行时间小于该月的指定 SLA 目标,则第二列显示的是你接受的相应服务点数额度。

注意:

下表数据可能出现更新,最新版请访问:https://azure.microsoft.com/zh-cn/support/legal/sla/virtual-machines/v1_9/

✔️ 对于免费或共享层级下的许多服务,Azure 并不提供 SLA。此外,Azure 顾问等免费产品通常不具备SLA。

 

 

复合 SLA:


在跨不同服务产品中组合 SLA 时,生成的 SLA 称为复合 SLA。生成的复合 SLA 可提供更高或更低的正常
运行时间值,具体取决于应用程序架构。
考虑写入 Azure SQL 数据库的应用服务 Web 应用。在撰写本文时,这些 Azure 服务具有以下 SLA:
● 应用服务 Web 应用为 99.95%。
● SQL 数据库为 99.99%。

 

             

 


此示例应用程序所需的最长停机时间:
在上述示例中,如果任一服务出现故障,则整个应用程序将不能使用。通常,每个服务的单个概率值是独立的。但此应用程序的复合 SLA 值为:
99.95 percent × 99.99 percent = approx 99.94 percent
这意味着组合故障概率值低于单个 SLA 值。这并不奇怪,因为依赖于多个服务的应用程序具有更多潜在故障点。
相反,可通过创建独立的回退路径改进复合 SLA。例如,如果 SQL 数据库不可用,则可将事务放入队列,以便稍后处理。

                     


通过上图所示的设计,即使无法连接至数据库,应用程序仍可用。但如果 SQL 数据库和队列同时出现故障,则应用程序无法使用。如果同时出现故障的预期时间百分比为

0.0001 × 0.001(即 (1.0 -0.9999) x (1.0 - 0.999)),则此组合路径的复合 SLA 将为:
Database *OR* Queue = 1.0 − (0.0001 × 0.001) = 99.99999 percent
因此,总复合 SLA 为:
Web app *AND* (Database *OR* Queue) = 99.95 percent × 99.99999 percent = ~99.95 percent
但使用这种方法存在权衡,例如,应用程序逻辑更为复杂,不仅需要为队列付费,而且可能需要考虑数据一致性问题。

 

通过Service Health 查看当前各服务的状态:

登录Azure portal 在所有服务中找到 service health,即可查看当前及历史的服务是否可用的记录: