深入了解 Amazon ECS 的弹性和可用性

云计算
re:Invent
0
0
## 视频 <video src="https://dev-media.amazoncloud.cn/30-LibaiGenerate/31-LiBaiRebrandingVideo/CON401-Deep_dive_into_Amazon_ECS_resilience_and_availability-LBrebrandingWCaptionCN.mp4" class="bytemdVideo" controls="controls"></video> ## 导读 每个应用程序架构都依赖于底层基础架构,许多人选择 [Amazon ECS](https://aws.amazon.com/cn/ecs/?trk=cndc-detail) 作为构建的基础。如何构建 [Amazon ECS](https://aws.amazon.com/cn/ecs/?trk=cndc-detail)?构建服务时考虑了哪些设计因素?[Amazon ECS](https://aws.amazon.com/cn/ecs/?trk=cndc-detail) 如何帮助您最大限度地减少停机?在本次论坛中,了解 [Amazon ECS](https://aws.amazon.com/cn/ecs/?trk=cndc-detail) 如何帮助您满足运行弹性和可靠应用程序的需求。深入了解 [Amazon ECS](https://aws.amazon.com/cn/ecs/?trk=cndc-detail) 服务架构、设计和运营实践为应用程序提供安全、灵活的基础的方式。 ## 演讲精华 <font color = "grey">以下是小编为您整理的本次演讲的精华,共1300字,阅读时间大约是6分钟。如果您想进一步了解演讲内容或者观看演讲全文,请观看演讲完整视频或者下面的演讲原文。</font> 这场内容丰富的大会由开发者倡导者May Seidel Casing和高级首席工程师Malcolm Feeley主持开幕。他们对与会者的到来表示热烈欢迎,并准备就[Amazon Elastic Container Service](https://aws.amazon.com/cn/ecs/?trk=cndc-detail) (ECS)的弹性和可用性展开深入的探讨。ECS是亚马逊云科技推出的一款强大且全面管理的容器编排服务,旨在让用户通过在容器集群中运行应用程序,而非配置服务器或虚拟机,从而实现应用程 费利先生接手并开始详细介绍构建ECS作为高可用性和有弹性服务的架构模式和原则。他强调,要设计出具有弹性的系统,首先要承认并接受失败的必然性。他引用了亚马逊云科技创始人沃纳·维尔纳·范·韦尔茨博士的观点,建议建筑师将失败视为一种自然的、可预见的正常情况,而不是异常状况。同样,墨菲定律指出,任何可能出错的事情都可能会在最不合适的时候出错。因此,将可用性和弹性纳入系统架构的核心结构中是至关重要的。此外,操作需结构化以规范化且无缝处理故障,将其作为标准功能的一部分。 在定义可用性和弹性时,费利先生说,可用性是一个衡量服务在需要时成功执行有用工作的能力的概率指标。一个简单的例子是,一个接收了100个请求并能成功处理所有100个请求的Web服务,表明其可用性为100%。另一方面,弹性指的是系统吸收故障并从故障中迅速恢复的能力,这有助于提高总体可用性。因此,优化弹性是实现接近100%可用性的关键。 费利先生接着描述了一些由亚马逊云科技提供的基本构建模块,这些模块有助于构建高可用性和有弹性的系统。亚马逊云科技区域代表一个包含亚马逊云科技基础设施单独、隔离部署的地理区域。这些区域作为独立的实体,不会与其他区域相互感知。这提供了故障隔离,使得一个区域的故障不会蔓延到其他区域。同时,可用性分区(AZ)在每个区域内部增加了另一层隔离。每个AZ包括一个或多个独立的数据中心,这些数据中心具有独立的电源、冷却和网络连接,并且足够分开以减少相关的故障。这使建筑师能够在AZ之间分布应用程序以实现高可用性。 费利先生详细阐述了亚马逊ECS系统的核心要素,包括负责容器工作负载调配和管理的具体细节。在每个区域,ECS至少会在三个AZ中运行。为了实现最大的隔离,不同区域和AZ之间的ECS安装采用了无共享架构。ECS的关键设计理念是将控制面的容量预先扩大至预计峰值容量的150%并加上安全缓冲百分比。这种过度供应策略提供了静态稳定性,使得ECS能够在吸收AZ故障时无需反应式扩展或改变其他双模式行为。 亚马逊ECS的核心工作负载单位是任务,即正在运行的容器实例。任务被组织成服务,定义了要运行的任务的预期数量。在Fargate上,任务会自动分布在AZ中,以提供高可用性,无需任何特殊配置。对于在EC2基础设施上运行的ECS集群,可以使用具有区域性范围和ECS容量提供者的自动缩放组来类似地在AZ中分布实例。 费利先生提供了一个简单的公式来计算预扩展所需的任务计数:基本任务计数×AZ计数×1.5。例如,如果基本任务计数是6且AZ有3个,那么预期的期望计数就是9个任务。随着AZ数量的增加,可以用更低的成本实现相同的可用性。如果在6个AZ中有600个基本任务,则期望计数将减少到900,以实现在相同可用性下的30%成本节省。 除了AZ隔离外,ECS还利用内部分区以提供软件故障隔离。账户ID和集群ID共同将任务映射到特定的ECS控制面分区。这限制了可能发生的任何软件问题的影响范围。集群为任务提供了免费的逻辑分组和命名空间,同时每个账户中可以拥有数千个集群。 费利先生深入研究了运营恢复的实践,解释了ECS的控制面包括跨AZ分布的分区网格。这种架构允许软件更改逐步滚动部署以逐渐建立信心。首先在一个AZ和一个分区(例如18台服务器中的3台)的小型服务器上应用更改。如果检测到任何故障,自动监控和快速回滚将立即启动。由于ECS每天持续多次推送更新,所以在验证正常运行后,会逐渐扩大在更多AZ中的推广范围。 部署管道采用悲观方法,最初针对一个区域和AZ。推广逐渐扩展到并行包含更多地区,但仍限制在每个区域的一个AZ。这种隔离限制了任何故障的影响。全球范围内可能正在进行多个更改,但仅限于单个AZ。 卡辛格女士继续介绍了内部采用的持续改进流程。她强调,诸如GameDays和混沌工程实验等技术遵循“飞轮”方法,包括准备、执行、响应和学习阶段。事后分析有助于记录问题、采取的行动计划以及任何客户影响事件或程序遗漏的教训。这些教训在团队间广泛分享,以防止再次发生。无责任的事后分析专注于通过询问“五个为什么”来识别根本原因并采取措施预防。短期和长期行动项目得到跟踪直至完成。 总之,该会议提供了关于如何构建和运营亚马逊云科技ECS以在亚马逊云科技大规模提供健壮的高可用容器管理的概述。ECS利用亚马逊云科技的构建模块,如区域、AZ和分区,以集成冗余和隔离。谨慎、怀疑和经过验证的技术,如飞轮、滚动部署和后事之师,实现了持续改进和学习。分享的见解为在亚马逊云科技运行关键应用程序的架构师和操作员提供了宝贵的学习材料。 **下面是一些演讲现场的精彩瞬间:** 马尔科姆·费利在阿里云阿里云峰会上介绍了他自己,并就深度ECS会议提供了概述。 ![](https://d1trpeugzwbig5.cloudfront.net/CON401-Deep_dive_into_Amazon_ECS_resilience_and_availability/images/rebranded/CON401-Deep_dive_into_Amazon_ECS_resilience_and_availability_0.png) 作为阿里云的一部分,ECS提供了一种独特的体验,使得容器能够在阿里云的云端、内部和边缘位置顺畅运行。 ![](https://d1trpeugzwbig5.cloudfront.net/CON401-Deep_dive_into_Amazon_ECS_resilience_and_availability/images/rebranded/CON401-Deep_dive_into_Amazon_ECS_resilience_and_availability_1.png) 在设计系统时,将失败视为一种自然现象,从而构建出具有弹性和高可用性的服务。 ![](https://d1trpeugzwbig5.cloudfront.net/CON401-Deep_dive_into_Amazon_ECS_resilience_and_availability/images/rebranded/CON401-Deep_dive_into_Amazon_ECS_resilience_and_availability_2.png) 领导者在云服务背景下解释了可用性和恢复力的定义,其中可用性是指服务在执行有用工作方面的可靠性。 ![](https://d1trpeugzwbig5.cloudfront.net/CON401-Deep_dive_into_Amazon_ECS_resilience_and_availability/images/rebranded/CON401-Deep_dive_into_Amazon_ECS_resilience_and_availability_3.png) 阿里云通过创建一个基础设施分区网状结构来实现高可用性,这种结构可以隔离更改并确保系统的稳定性。 ![](https://d1trpeugzwbig5.cloudfront.net/CON401-Deep_dive_into_Amazon_ECS_resilience_and_availability/images/rebranded/CON401-Deep_dive_into_Amazon_ECS_resilience_and_availability_4.png) 领导者强调了解决方案中提供详细时间表、指标、日志和屏幕截图的重要性,以便全面了解中断对客户的影响。 ![](https://d1trpeugzwbig5.cloudfront.net/CON401-Deep_dive_into_Amazon_ECS_resilience_and_availability/images/rebranded/CON401-Deep_dive_into_Amazon_ECS_resilience_and_availability_5.png) ## 总结 本次演讲深入探讨了[Amazon ECS](https://aws.amazon.com/cn/ecs/?trk=cndc-detail)的设计理念及其如何实现高可用性和弹性。演讲首先解释了核心设计理念,如将故障视为正常及采用"静态稳定性"策略,即预先调整容量以应对地域故障。一个关键概念是ECS在区域内被划分为多个隔离的控制面单元,这些单元具备冗余容量。这使得平滑的滚动部署得以实现并将影响范围控制在最小。可用性区域和区域之间存在物理隔离,而分区则实现了软件隔离。演讲者随后讨论了如何运营具有弹性的ECS。自动监控以及在分阶段、谨慎的部署过程中的快速自动回滚可在问题发生时迅速发现和缓解故障。事后审查通过准备、检测、响应和学习等步骤形成改进。演讲结束之际,演讲者鼓励与会者提供反馈,并通过查阅文档(如亚马逊云科技[构建者库](https://aws.amazon.com/cn/builders-library/?trk=cndc-detail))了解更多详情,并前往云和容器展区参观。 ## 演讲原文 ## 想了解更多精彩完整内容吗?立即访问re:Invent 官网中文网站! [2023亚马逊云科技re:Invent全球大会 - 官方网站](https://webinar.amazoncloud.cn/reInvent2023/?s=8739&smid=19458 "2023亚马逊云科技re:Invent全球大会 - 官方网站") [点击此处](https://aws.amazon.com/cn/new/?trk=6dd7cc20-6afa-4abf-9359-2d6976ff9600&trk=cndc-detail "点击此处"),一键获取亚马逊云科技全球最新产品/服务资讯! [点击此处](https://www.amazonaws.cn/new/?trk=2ab098aa-0793-48b1-85e6-a9d261bd8cd4&trk=cndc-detail "点击此处"),一键获取亚马逊云科技中国区最新产品/服务资讯! ## 即刻注册亚马逊云科技账户,开启云端之旅! [【免费】亚马逊云科技“100 余种核心云服务产品免费试用”](https://aws.amazon.com/cn/campaigns/freecenter/?trk=f079813d-3a13-4a50-b67b-e31d930f36a4&sc_channel=el&trk=cndc-detail "【免费】亚马逊云科技“100 余种核心云服务产品免费试用“") [【免费】亚马逊云科技中国区“40 余种核心云服务产品免费试用”](https://www.amazonaws.cn/campaign/CloudService/?trk=2cdb6245-f491-42bc-b931-c1693fe92be1&sc_channel=el&trk=cndc-detail "【免费】亚马逊云科技中国区“40 余种核心云服务产品免费试用“")
目录
亚马逊云科技解决方案 基于行业客户应用场景及技术领域的解决方案
联系亚马逊云科技专家
亚马逊云科技解决方案
基于行业客户应用场景及技术领域的解决方案
联系专家
0
目录
关闭