01亚马逊云科技构筑云端韧性
产品:RG-CCP云计算平台 锐捷网络 虚拟化软件近日,国产3A游戏《黑神话:悟空》火遍全球,由于游戏中的很多场景都取材于现实中的中国古建筑,让无数玩家都留下了深刻印象,例如位于山西朔州的应县木塔,该木塔始建于辽代,塔高67.31米,底部直径30.27米,至今已有962年,是世界上现存最高大、最古老的纯木结构楼阁式建筑,最令人啧啧称奇的是,木塔扛过数次地震,历经千载沧桑却岿然不动,正如匾额所书:中立不倚,永镇金城。
“应县木塔之所以能够历经近千年而屹立不倒,除了地质和环境选择之外,还有精巧的设计和维护,这与亚马逊云科技构建云端韧性的思路不谋而合。”亚马逊云科技大中华区解决方案架构总经理代闻表示。
亚马逊云科技大中华区解决方案架构总经理代闻
事实上,在企业IT架构愈发复杂,业务愈发繁多的当下,如何确保自身业务能够7x24不间断运行,提升IT韧性已然成为了一个十分紧迫的问题。
从概念上讲,韧性是应用程序抵御中断或从中恢复的能力,包括与基础设施、依赖服务、错误配置、网络问题和负载激增相关的中断。但对亚马逊云科技而言,构建云韧性已然成为基础工作。在云计算的韧性技术实现中,亚马逊云科技持续关注基础设施、架构设计和运营机制。从2006年发布第一款云服务到现在,亚马逊云科技共计提供了超过240种功能全面的服务,并且在去年,亚马逊云科技平均每天会稳定启动1亿个新的Amazon EC2,平均每秒稳定响应100万亿次的控制平面API请求。如此稳定可靠的表现也使得亚马逊云科技受到了全球数百万客户的选择和信赖,并连续13年蝉联Gartner云基础设施和平台服务魔力象限领导者。
代闻在接受采访时表示,系统故障一般主要由三方面引起,包括基础设施层的数据中心、主机、机架、网络故障或自然灾害导致的损坏,或者架构设计层的数据状态、应用程序状态异常或依赖项失效,以及运营机制层的由运维操作、代码部署或配置错误引起的故障。
基于此,亚马逊云科技从一开始就将基础设施、服务设计与部署、运营模式的韧性考虑其中。具体来看,在基础设施韧性方面,亚马逊云科技的基础设施遍及34个地理区域的108个可用区,具体到中国大陆,则包括北京和宁夏两个区域。可用区(AZ)则是区域的下一级,所谓可用区就是每个逻辑数据中心组,每个区域由3个或以上可用区组成。以宁夏区域为例,该区域就有3个可用区,可用区又由多个或单个超大数据中心连接组成。每个可用区的数据中心都有独立的电力、制冷和物理安全设施。
为了减小自然灾害等意外的影响,即便是同一区域的可用区距离也比较远(100公里内),这使得单个可用区发生电力中断等意外时,区域内其他可用区也不受影响,既能防止如供电、冷却等常见故障点,也能避免同时受到如地震、洪水等大规模灾害的影响。
在基础设施的网络设计方面,无论是可用区内部,还是可用区之间或者区域和区域之间,都铺设了光纤线路进行两两互联,通过冗余的超低延迟网络连接,可实现可用区间单位毫秒级延迟的数据同步复制。
技术架构方面,亚马逊云科技通过四大要素:区域隔离与多可用区布局、控制面与数据面的独立设计、单元化架构策略以及随机分片技术,来确保云服务的高度稳定性和可用性。其中,区域隔离与多可用区策略依据故障隔离边界将服务划分为三种类别,包括可用区级、区域级和全球级,以控制故障发生时对客户的影响范围。
控制面和数据面独立设计则让云服务在控制平面发生故障时仍能保持数据平面的稳定运行,并且二者支持独立扩展,互不影响。“控制面和数据面的隔离,类似于叫车软件和打车,两者其实是相对独立的。当你坐上车以后,如果一段时间叫车软件没有信号无法响应了,也不影响司机将你送到预定的目的地。很多故障失效的情况关键在于没有把数据面和控制面做到很好的隔离。”代闻补充道。
单元架构理念则将系统分解为更小的独立单元,以数据库为例,亚马逊云科技为常规数据库添加了分片分区层,实现了影响的最小化。最后,随机分片技术则进一步提高了整个系统和应用的可用性。
在运营机制方面,亚马逊云科技通过服务责任模型、运营就绪性审查、安全/持续部署和纠错流程来确保运营机制的韧性,其中,服务责任模型是指工程和产品管理工作由小型、多学科团队领导,他们不仅负责设计和发布服务,还负责在生产过程中运营服务,并在出现问题时随时待命。运营就绪性审查则是发布和更新亚马逊云科技服务的必经流程,以确保服务符合标准。安全/持续部署则通过广泛的生产前测试、自动回滚和交错生产部署,最大限度减少错粗部署对生产造成的潜在影响。最后,一旦出现任何问题,都可以通过纠错流程等时间管理机制帮助团队了解根本原因,以确保类似问题不会再次发生。
除了确保自身云服务安全可靠外,亚马逊云科技还根据自身经验开发了韧性系统生命周期框架,该框架共包含设定目标、设计和实施、验证和测试、持续运营、响应和改进五个阶段,可以有效帮助客户在不断变化的外部环境中保持自身系统的韧性。
除此之外,围绕上述五个阶段,亚马逊云科技还提供了多种服务和工具来为客户提高服务可用性,例如在设定目标阶段,Amazon Resilience Analysis Framework可提供指导方案;在设计和实施阶段,AmazonAurora和Amazon DynamoDB都提供了多可用区多AZ的同步功能,Amazon Aurora Global Database则能实现快速本地读取和快速灾难恢复;在验证和测试阶段,客户可以通过Amazon Fault Injection Simulator(FIS)创建并运行故障注入服务(Amazon FIS)实验,以更好地了解依赖关系并发现潜在弱点;此外,Amazon Resilience Hub、Amazon DevOps Guru、Amazon Application Recovery Controller(ARC)、Amazon Route 53 Application Recovery Controller (Route 53 ARC)等服务亦能帮助客户快速响应和从中断中恢复,贯穿全生命周期的Well-Architected Framework则能量化企业构建系统时的问题列表和评估机制,Amazon Health Dashboard则可以让用户目前应用状态的健康程度进行评估和监测。
在亚马逊云科技的助力之下,包括奇瑞捷豹路虎、紫讯科技、FreeWheel在内的一众客户都成功构建了高韧性系统,其中,奇瑞捷豹路虎将SAP系统所有模块瓶以上云,实现了业务敏捷性、工作人员效率的大幅提升;紫讯科技则在亚马逊云科技的帮助下构建了多区域容灾架构,对包括Amazon Aurora数据库在内的核心组件进行了高可用改造,实现了主备设置与故障转移,在保证业务增长的同时实现了成本控制;FreeWheel则在亚马逊云科技的助力下完成了多区域多活应用构建,可轻松应对2s内激增百倍的超大流量,确保全球用户都能享受到低延、高体验的广告服务。