-
极端的可靠性会带来成本的大幅提升:
过分追求稳定性限制了新功能的开发速度和将产品交付给用户的速度,并且很大程度地增加了成本,这反过来又减少了一个团队可以提供的新功能的数量
-
可靠性进一步提升的成本主要存在于以下两个维度
(a)冗余物理服务器/计算资源的成本
(b)机会成本 -
基于时间的可用性
可用性=系统正常运行时间/(系统正常运行时间+停机时间) -
通过请求成功率来定义服务可用性
可用性=成功请求数/总的请求数 -
在一个正式的环境或安全关键的系统中,服务的风险容忍度通常是直接根据基本产品或服务的定义建立的
-
评价服务风险容忍度时,有许多需要考虑的因素
(a)需要的可用性水平是什么?
(b)不同类型的失败对服务有不同的影响吗?
(c)我们如何使用服务成本来帮助在风险曲线上定位这个服务?
(d)有哪些其他重要的服务指标需要考虑? -
可用性目标
(a)用户期望的服务水平是什么?
(b)这项服务是否直接关系到收入(我们的收入或我们的客户的收入)?
(c)这是一个有偿服务,还是免费服务?
(d)如果市场上有竞争对手,那些竞争对手提供的服务水平如何?
(e)这项服务是针对消费者还是企业的? -
故障的类型
(a)业务对于服务的停机时间的容忍程度有多高?
(b)持续的低故障率或者偶尔发生的全网中断哪一个会更糟糕? -
成本
(a)构建和运维可用性再多一个“9”的系统,收益会增加多少?
(b)额外的收入是否能够抵消为了达到这一可靠性水平所付出的成本?
为了使这个权衡等式更精确,假设一项业务中每一个请求的价值是一样的,考虑如下的成本与收益:
可用性目标:99.9%→99.99%
增加的可用性:0.09%
服务收入:100