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