前端开发入门到精通的在线学习网站

网站首页 > 资源文章 正文

如何为一组服务做复合SLA设计?(怎么为客户定制一对一服务)

qiguaw 2024-09-23 12:47:56 资源文章 20 ℃ 0 评论

我从微软Learning网站上看到了一个比较好的为一组服务设计复合SLA的例子,这里分享出来。首先了解一组概念:什么是SLA的百分比、什么是SLA的故障时间、如何计算故障时间,请看下表:

这些数量是累计的,这意味着多个不同服务中断的持续时间会合并或加在一起。

那什么是SLA的服务额度呢?服务额度是根据理赔审批流程返还给你的你所支付的费用的百分比。额度通常会随着运行时间的减少而增加。 下图是一个Azure Database for MySQL 应用额度的例子:

接下来就是本文要说的重点了,如何计算复合SLA?还是举一个Azure服务的例子。

在确定了Azure 应用程序中各个工作负载的 SLA 后,你可能会注意到,这些 SLA 并不完全相同。 这会对 99.9% 的总体应用程序 SLA 要求造成一定影响。如果想知道答案,你需要进行一些数学计算。

合并 SLA 的过程可帮助你计算一组服务的复合 SLA。 计算复合 SLA 需要将各个服务的 SLA 相乘。

从服务级别协议中,你将发现所需的每个 Azure 服务的 SLA。 它们是:

对于上述的Azure应用程序,复合 SLA 是:

99.9%×99.9%×99.99%×99.99%

=0.999×0.999×0.9999×0.9999

=0.9978

=99.78%

你会发现,99.78% 的复合 SLA 不满足所需的 99.9% 的 SLA 要求。

因此,为了满足SLA 99.9的要求,我们需要将可用性构建到组件的设计中。为了提高应用程序的可用性,应避免出现任何单一故障点。比如可以将同一虚拟机的一个或多个额外实例部署在同一 Azure 区域中的不同可用性区域,而不是添加更多虚拟机。

可用性区域是 Azure 区域中的唯一物理位置。 每个区域由一个或多个数据中心组成,这些数据中心配置了独立电源、冷却和网络。 这些区域使用不同的维护计划,因此,如果一个区域受到影响,其他区域中的虚拟机实例不会受到影响。

在两个或更多可用性区域之间部署一个 Azure 虚拟机的两个或更多实例会将虚拟机 SLA 提高到 99.99%。 解决可用性问题后,重新计算上述复合 SLA,将得到以下应用程序 SLA:

99.99%×99.99%×99.99%×99.99%

=99.96%

此修改后的 SLA (99.96%) 超出了目标 99.9%。

特别后记(这个很重要,特别是针对不懂技术,对SLA没什么概念的老板们)

超过 99.99% 的性能目标非常难以实现。 99.99% 的 SLA 表示每周 1 分钟的故障时间。 人们很难通过快速响应故障来满足超过 99.99% 的 SLA 性能目标。 相反,应用程序必须能够在中断期间进行自我诊断和自我修复。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表