自2006年发布了第一款云服务以来,亚马逊云科技提供了超过 240 种功能全面的服务。据了解,仅去年,亚马逊云科技每天稳定启动的Amazon EC2实例超过1亿个,每秒 API请求数高达100万亿次。
那么,亚马逊云科技如何构建如此可靠且强大的云服务?答案是“韧性”。在充满变数的商业环境中,韧性成为企业保持稳定、有效抵御各类风险与挑战的重要基石。
亚马逊CEO Andy Jassy曾讲过,“经验没有压缩算法”。在过去的18年里,亚马逊云科技在基础设施构建、系统架构设计和运营机制优化三大核心领域,持续不断地积累和迭代,形成了一套行之有效的经验与方法体系。这些宝贵的经验不仅显著提升了亚马逊云科技自身的韧性,同时也为众多企业用户提供了强有力的赋能与支持。
近日,亚马逊云科技大中华区解决方案架构总经理代闻分享了亚马逊云科技的云端韧性之道。
如何提高基础设施的韧性?
在基础设施构建上,亚马逊云科技设计了区域(Region)与可用区(AZ)的架构,以确保数据中心的可用性和业务连续性。
区域是亚马逊云科技在全球范围内设立的多个数据中心集群的物理位置。而可用区作为区域的下一层级单位,是由逻辑数据中心组组成,每个区域都至少包含三个或更多的可用区。
特别的是,为了确保高可用性,同一区域内的可用区之间保持了足够的物理距离。这样,即便某个可用区遭遇电力中断或自然灾害,其他可用区也能免受影响,继续正常运行。这种安全距离的设计,不仅有效防止了相关故障的发生,还实现了数据在可用区之间以单位毫秒级的延迟进行同步复制。通常情况下,亚马逊云科技的可用区间距离控制在约100公里以内。
此外,无论是在可用区内部、可用区之间,还是区域与区域之间,亚马逊云科技都铺设了光纤线路,实现两两互联。这种设计确保了高速数据传输的同时,也保证了任一连接的冗余性,从而提高了整个网络的可靠性。
代闻以中国的北京和宁夏两个区域为例,详细解释了这一架构。在可用区内部,无论是宁夏还是北京,每个可用区内都设有多个数据中心,它们之间通过多条冗余链路互联,实现了数据的直达传输。在可用区之间,宁夏或北京的每个可用区都至少通过两个传输中心进行互联,确保任一可用区的任一数据中心都能通过多条冗余链路与传输中心相连,从而实现跨可用区的数据互通。此外,在宁夏和北京两个区域分别实现多层级互联韧性保障后,它们之间还通过冗余的连接中心站点和分布的冗余链路进行互联,进一步增强了整个网络的稳定性和可靠性。这些连接中心站点之间的大带宽冗余链路,共同构成了亚马逊云科技坚实的基建骨干网络。
如何提高技术架构韧性?
在技术架构的韧性提升上,亚马逊云科技总结出云服务韧性的四大核心要素:区域隔离,多可用区;控制面和数据面独立;单元架构;随机分片。
首先,区域隔离,多可用区方面,亚马逊云科技依据故障隔离的边界,将服务细分为可用区级、区域级及全球级三类,从而精准控制故障对客户的影响范围,确保服务的连续性。
其次,在控制面和数据面独立方面,亚马逊云科技将服务拆分为控制平面和数据平面,确保数据平面能够独立于控制平面的状态持续稳定运行,同时又可以实现独立扩展互不影响。代闻形象地比喻道,“控制面和数据面的隔离,类似于叫车软件和打车,两者其实是相对独立的。当你坐上车以后,如果一段时间叫车软件没有信号无法响应了,也不影响司机将你送到预定的目的地。很多故障失效的情况关键在于没有把数据面和控制面做到很好的隔离。”
再者,单元架构设计方面,亚马逊云科技将整个系统拆解为更小的独立单元。当发生故障时,仅有故障单元会受到影响,避免了整个系统的崩溃,从而提升了系统的整体稳定性。
最后,在随机分片上进一步增强了应用和系统的可用性,为亚马逊云科技的服务提供了额外的韧性保障。
如何建立卓越的运营机制?
为了确保云服务的韧性,卓越的运营和机制至关重要,这也是亚马逊云科技的差异化优势之一。亚马逊云科技将运营机制精炼为四大模块:服务责任模型、运营就绪审查、持续安全部署,以及纠错流程。
亚马逊云科技采用服务所有权模型,激励团队不断改进运营。工程和产品管理工作由小型、多学科团队领导,并对其提供的服务拥有强大的所有权。这种所有权不仅要负责设计和启动服务,还要在生产期间运营它,并在出现问题时随叫随到。
在发布和更新亚马逊云科技服务之前,还需要使用运营就绪性审查(ORR)流程对所有新服务进行审查。发布团队需要回答一系列关于复原力以及其他已知最佳实践的问题,并遵循标准化的运行手册,来确保服务符合标准。服务部署后,每周还会举行运营会议,检查系统的运营性能以及任何悬而未决的问题。
此外,亚马逊云科技在服务更新或推出新服务时,采用了安全、持续部署管道。通过实施广泛的生产前测试、自动回滚和交错生产部署,将自动化部署安全性构建到发布过程中,从而最大限度地减少错误部署对生产造成的潜在影响。
最后,亚马逊云科技利用纠错(CoE)流程等事件管理机制,帮助团队了解问题的根本原因。在问题得到缓解后推动全公司的工程冲刺,确保该问题在所有服务中得到解决,从而降低了未来类似事件影响其他服务的可能性。这些学习被记录下来,并融入ORR过程,确保同类问题不再重复发生。
赋能客户构建端到端的韧性
在与客户及内部团队多年的紧密合作中,亚马逊云科技精炼出韧性构建工程的四大宝贵经验。代闻指出,首先,系统韧性的提升是一个持续不断的过程,而非一蹴而就;其次,企业需在业务需求、可靠性、成本控制与系统复杂度之间找到最佳平衡点;第三,借鉴标准的软件开发生命周期,可以轻松地将韧性构建融入企业的现有流程;最后,从业务战略、技术实施到持续运营,多维度助力企业全面提升系统韧性。
基于这些经验,亚马逊云科技开发了韧性系统建设生命周期框架,该框架由五个关键阶段组成,并配套提供了一系列服务和工具,帮助企业打造更具韧性的应用。代闻强调,韧性建设是一个循环往复的生命周期过程,需要不断重复这五个阶段,以适应不断变化的环境和业务需求。
在设定目标阶段,企业需要明确定义韧性的目标和要求,评估现有系统的韧性水平,并制定改进计划。此时,可以利用Amazon Resilience Analysis Framework来获取指导方案。
进入设计和实施阶段,企业可以基于韧性最佳实践,构建具有适当韧性控制措施的工作负载和系统。亚马逊云科技提供了多种增强韧性的服务和功能,如自动扩展、负载均衡、备份等。
在验证和测试阶段,企业需要通过常规的测试以及混沌工程,验证已知风险,积极探索未知风险。
在持续运营阶段,企业应采纳自动化、监控、变更管理等最佳实践,持续提高系统的可观测性和自动化性。
最后,在响应和改进阶段,企业需要定期回顾韧性策略和措施的有效性,深入分析事故根因,避免问题再次发生,并持续进行调整和优化。
在数字化转型的大潮中,云计算已成为企业提升业务韧性与运营效率的关键力量。亚马逊云科技凭借多年实践经验以及先进的工具方法,助力不同行业的企业提升韧性,实现业务的平稳升级与卓越运营。例如,奇瑞捷豹路虎将SAP系统迁移至亚马逊云科技,利用其独有的一个区域三个可用区特性增强集群稳定性,故障切换提速至3分钟;紫讯科技通过亚马逊云科技构建多区域容灾架构,核心业务高可用改造,SLA提升至99.995%;FreeWheel依托亚马逊云实现多区域多活应用,轻松应对百倍流量激增,为全球顶级赛事提供稳定广告技术支持。