1.3.2稳定性
基础设施作为支持和运行业务的重要生产资料之一,其稳定性也极大地影响着业务的稳定性。
基础设施特别是硬件类设备一定会存在故障,云计算将基础设施的不稳定作为基本假设来设计系统——这一点也成为云计算区别于传统设备供应商的核心竞争力之一——因此会在业务层设计容灾措施,例如阿里巴巴电商类业务的同城双活、异地多活架构就降低了对基础设施的依赖。但是并非所有业务都拥有完善的架构来应对基础设施故障,因此基础设施的稳定性 SLA(ServiceLevelAgreement)/OLA(Operational LevelAgreement)仍然是一个长期的挑战。
同时,稳定性的 SLA/OLA并非越高越好,针对某些特定业务,我们适当降低
SLA/OLA的要求可以有效提高成本优势和效率,这将在后面各章节详细展开。
IDC
UptimeInstitute和 TIA都将数据中心分为四个等级,即 TierI~TierIV,直观来说,等级越高的数据中心稳定性越好。
中国质量认证中心(CQC)的标准 GB50174-2008将数据中心分为A、B、C三个等级,其中 A级为最高。
IDC作为底层的基础设施,出问题之后影响面也往往最大,同时稳定性的挑战也最大。一般来说,IDC触发的故障都是非常严重的故障,例如,2015年 6月 21日阿里云中国香港机房故障导致的业务中断超过12 小时的严重事件:
“6 月 21 日上午 9 点 37 分,阿里监控系统发现阿里云中国香港 IDC运营商名气通机房出现访问异常,名气通机房反馈的原因为供电系统故障导致数据中心大楼整体断电,并触发消防报警。根据当地的消防规定,必须彻底排查隐患并完全消除后,才能获准进场做电力抢修。21点 22分,机房正式恢复稳定供电,阿里立即执行既定预案逐项恢复服务,21点 32分,安全防护服务恢复正常,各项服务陆续恢复,截至 23
点 39分全部服务恢复。”
因此,IDC作为底层的基础设施,稳定性是重中之重。
网络
作为连通所有服务器、所有服务与用户的管道,网络稳定与否将第一时间影响业务及用户,因此也被提出非常高的稳定性要求,特别是要杜绝大规模故障。
网络稳定性的典型表征是故障多、影响大、排查难、恢复慢。
在影响业务的严重故障中,网络的原因也经常有,2015年 5月 27日支付宝故障就是非常典型的例子:
“杭州市萧山区某地光纤被挖断,造成目前少部分用户无法使用支付宝,运营商正在抢修,支付宝工程师正在紧急将用户请求切换至其他机房,受影响的用户正在逐步恢复。用户的资金安全并不会因此受到任何影响。如果出现交易信息不同步的情况,在修复后会恢复同步。”
传统网络作为一套封闭系统,涉及复杂的软硬件及多厂商设备、协议等兼容性问题,非常容易触发稳定性问题。小到一台接入交换机(ToRSwitch/ASW),大到核心交换机、路由器及运营商网络和光纤,都可能出现轻微或非常严重的问题。
对于网络稳定性,如何做到架构上冗余、出问题快速发现乃至自动恢复是未来网络的重点课题,这部分,我们将在第 5 章及第 10 章重点探讨。
服务器
成熟的互联网应用是基于硬件的不可靠性这一基本假设来设计的,对单一服务器的稳定性要求不高。但是对服务器稳定性的挑战有以下两个方面:
• 批次性问题:损失超出了业务设计的容忍范围或者多余的人力投入。
• 资源售卖型云计算服务对单机的可靠性依赖。
如何从服务器的设计、研发、生产、交付、运营各个环节系统化地避免服务器的批次性问题,是服务器研发的重要挑战,我们将在第 6 章做相关探讨。
1.3.3 TCO
任何有竞争力的产品对用户来说都应该是 TCO(TotalCostofOwnership)最优的。在基础设施领域,TCO也是稳定性之外最重要的衡量指标,或者极端地说,任何不能降低 TCO的创新都是假创新。
TCO的核算是一个非常复杂和困难的课题,比如阿里巴巴之前以单笔交易(或支付)成本作为衡量指标来评估基础设施水平。但是由于业务的不断发展、业务类型
不断丰富、用户体验提升、安全对抗加剧、市场容量饱和等因素,需要全局的成本建模,这会在第 2 章详细阐述。
1.3.4 稳定性、性能、成本的平衡
任何事情都有两面性,就像RFC1925的 12条中的第 7条说的一样,基础设施的特性决定了基础设施研发和创新的困难:
• 稳定性、性能、成本平衡困难(如图 1-11所示)。
• 复杂的系统工程,领域众多、依赖度高、牵一发而动全身。
• 硬件研发和迭代周期长,投入资源量巨大。
图 1-11稳定性、性能、成本
要应对这些困难和挑战,做到基础设施的宏观架构与微观架构统一,需要科学的方法论和实践,更需要 AI等技术的加持,才能求得基础设施的最优解,详见第9章和第 10 章的相关内容。
1.3.5追求效率、标准化、规范化
因为大规模系统在建设、采购、交付和运营各个环节都要保证效率最大化,所以对规范、标准方面的要求就成为提升效率的最有效抓手,且规范和标准也是提升稳定性的有效手段之一。
例如如何做到大规模情况下服务器交付效率的提升,已经成为当前阶段的重要课题。互联网行业的最佳实践是采用整机柜交付模式,这一交付模式本身就要求在机架层面的规范化和标准化,以实现以机柜为单位的可复制,来提升交付效率。
僵化的规范与标准可能会成为阻碍创新的绊脚石,我们要能够根据技术发展、业务变化快速地更新优化规范与标准。