六、可靠性能力Reliabilty
1. 基本概念
可靠性指在一定的时间和条件下,系统无故障运行的能力或可能性,一般用MTBF(平均无故障时间)来衡量。
可靠性常作为非功能性需求在系统设计之初被边缘化甚至忽略,当我们再次提起可靠性时,殊不知已经遭受了重大损失。云上的可靠性建设有着天然的优势:
首先,可靠性需要在架构上具备高可用性,包括应用的多可用区、多地域部署,甚至异地多活;数据靠考虑多副本容灾能力,通过集群或分片方式提高数据的可用性。这些作为云上的基础资源或组件,已被天然支持,唾手可得。
其次,为了进一步可靠性,云还提供了丰富的可观性能力以及自助服务。基于此,用户可用构建多层次的可观测性能力,并基于此实现服务的故障自动发现、自动诊断、以及自愈能力,同时通过混沌工程提前发现生产环境潜在风险。
对比于传统的IDC,云计算的超大规模的数据中心,以及多可用区支持,让用户可基于云以低成本、高扩展、高可靠性快速的构建同城容灾、异地容灾等服务(包括数据)高可用方案。云计算通过虚拟化等技术对客户屏蔽了底层物理硬件,与此同时云厂商通过虚拟化、热迁移等技术,来减少甚至规避物理硬件故障导致的服务受损,进一步提升了用户服务的连续性以及高可用。
在可靠性上投入的成本,远比不做可靠性在产生环境代理的损失小得多。一般情况下,高可靠性、低成本和低复杂度是一个不可能三角,更多的时候我们倾向选择提高可靠性的前提下,在成本和复杂度上适度投入。