## 视频
<video src="https://dev-media.amazoncloud.cn/30-LibaiGenerate/31-LiBaiRebrandingVideo/COP343-R-Building_observability_to_increase_resiliency__REPEAT_-LBrebrandingWCaptionCN.mp4" class="bytemdVideo" controls="controls"></video>
## 导读
有效利用可观测性对于证明弹性系统按计划运行至关重要。应用良好的可观测性可以帮助您在问题影响客户之前发现问题的早期迹象,并迅速做出反应以减轻影响。在本讲座中,您将了解如何使用可观测性最佳实践来改善亚马逊云科技的弹性态势。深入了解现实世界中的故障模式,并了解如何使用仪表和可观测性工具的正确组合来快速解决这些问题。本讲座包括使用 [Amazon CloudWatch](https://aws.amazon.com/cn/cloudwatch/?trk=cndc-detail) 和 Amazon X-Ray 等亚马逊云科技服务演示这些技术和实践。
## 演讲精华
<font color = "grey">以下是小编为您整理的本次演讲的精华,共700字,阅读时间大约是4分钟。如果您想进一步了解演讲内容或者观看演讲全文,请观看演讲完整视频或者下面的演讲原文。</font>
演讲者首先强调了运用可观察性实践构建弹性系统的重要性。他指出,尽管架构师可以设计出极具弹性的基础设施,但只有当操作员采用弹性实践时,客户才能真正体验到这种弹性。为了阐述这一观点,演讲者在整场演讲中都运用了航海类比。他将观众比作乘坐在一艘驶过狂风巨浪和风暴中的船上的人,他们利用可观察性工具来诊断问题,发现潜在隐患,防范未来危机,最终顺利抵达目的地。
在诊断问题上,演讲者强调了运用多维度(如按每个实例或每个可用性区域划分指标)来迅速定位问题的能力。例如,当一个缓存节点在一个可用性区域发生故障时,会导致该区域内的所有实例出现错误。通过按区域查看相关指标,问题便一目了然。此外,演讲者还强调了针对可能单独出问题的地方进行监测的重要性。
接着,演讲者谈到了追踪。他描述了来自各个服务组件的跟踪数据如何如同拼图一般,组合在一起以可视化整个系统架构。诸如X-Ray和CloudWatch ServiceLens之类的工具汇集了跟踪数据,自动生成了服务地图,并通过红色/绿色/黄色健康状况指示器来识别问题。演讲者强调了在所有服务间传播追踪上下文的重要性,这样绘图器才能理解相互间的互动。通过追踪生成的服务地图有助于在事件过程中确定出故障的依赖关系。
演讲者举了一个例子来说明这一问题。一个拥有9个服务器且分布在不同可用性区域的Web服务器群,其中一个服务器上的进程崩溃导致了它无法处理11%的请求,因为其占据了总容量的1/9。得益于具备正确健康检查功能的负载均衡器,它将停止向故障服务器发送请求,从而避免了持续的11%的错误。
最后,演讲者谈论了揭示潜在问题的方法,这就像是没有任何明显预警信号的风暴。他还列举了一些可观察性工具可能揭示的外部问题的例子,如CDN或客户端端的错误。真实的用户监控来自于客户浏览器提供了关于可用性和性能的可视化信息。合成监控则在无真实用户在积极使用功能的情况下,通过持续运行的集成测试来报告问题。
另一种技术涉及到以更具有客户为中心的方式来汇总服务器端指标。例如,比较出错客户的百分比与出错所有请求的百分比,从而更突出地显示影响众多用户的问题。建议采用Contributor Insights来追踪高基数指标,比如每个客户的流量。这有助于发现传统每请求指标可能忽略的小数量用户的用量高峰。
预防未来问题
接下来,演讲者探讨了预防措施,包括自动扩展所有资源以保持余地,而不仅仅只是计算。他还强调了对所有容量受限的资源(如CPU、线程池和配额)的使用情况进行监控,通过创建警报和容量仪表板来实现。例如,在使用自动扩展组时,他建议在接近最大大小时监控配置的限制和当前实例计数,以触发警报。建议设置一个警报,当达到最大实例数的已配置容量的利用率达到某个百分比时触发,例如80%的最大实例数,以便在组大小发生变化时提供一个稳定的信号。
最后,演讲者讨论了受控实验,将其比作船上的紧急演练。他推荐使用诸如亚马逊云科技故障注入模拟器之类的工具在临时环境中运行真实的受控实验。关键的是,他在测试期间建议在临时环境中复制生产观测性配置以验证其按预期工作。这种观测性即代码的方法将警报和仪表板等功能视为代码而非手动设置。
关键实践
总的来说,演讲者强调了用于弹性的关键观测性实践:
- 使用维度切割和切片指标以查找特定问题。按照区域或实例等不同维度进行分析。
- 在所有服务之间启用分布式追踪并聚合追踪以自动构建服务图。在组件之间传播追踪上下文。
- 以客户需求为导向设定指标,而不仅仅是针对每请求指标设立警报,以体现用户体验。
- 对所有资源(而不仅仅是计算资源)实施自动扩展以适应需求变化。
- 监控所有容量受限的资源,如CPU、线程数和配额。
- 在受控实验期间验证观测工具和实践的有效性。将观测配置视为代码的一部分。
在演讲的最后阶段,演讲者再次强调,弹性的实现需要兼具强大的架构和灵活的操作实践,例如自动扩展和回滚功能。通过可观察性工具的使用,团队得以灵活地进行运作。
**下面是一些演讲现场的精彩瞬间:**
在亚马逊任职长达17年的这位专家对创新云计算服务充满热情。
![](https://d1trpeugzwbig5.cloudfront.net/COP343-R-Building_observability_to_increase_resiliency__REPEAT_/images/rebranded/COP343-R-Building_observability_to_increase_resiliency__REPEAT__0.png)
他强调了分布式系统中传播跟踪ID对于实现端到端可观察性的重要性。
![](https://d1trpeugzwbig5.cloudfront.net/COP343-R-Building_observability_to_increase_resiliency__REPEAT_/images/rebranded/COP343-R-Building_observability_to_increase_resiliency__REPEAT__1.png)
据专家介绍,健康状况检查在检测和预防级联故障方面的局限性在于其无法覆盖所有故障模式。
![](https://d1trpeugzwbig5.cloudfront.net/COP343-R-Building_observability_to_increase_resiliency__REPEAT_/images/rebranded/COP343-R-Building_observability_to_increase_resiliency__REPEAT__2.png)
数据显示,当大部分失败的EC2实例在2分钟内错误率达到1%以上时,可以启动一个警报。
![](https://d1trpeugzwbig5.cloudfront.net/COP343-R-Building_observability_to_increase_resiliency__REPEAT_/images/rebranded/COP343-R-Building_observability_to_increase_resiliency__REPEAT__3.png)
通过使用维度获取精确的信号并迅速发现问题,可以快速解决并恢复正常运行。
![](https://d1trpeugzwbig5.cloudfront.net/COP343-R-Building_observability_to_increase_resiliency__REPEAT_/images/rebranded/COP343-R-Building_observability_to_increase_resiliency__REPEAT__4.png)
专家分享了如何借助指标和仪表板找到延迟问题的根本原因以进行诊断的方法。
![](https://d1trpeugzwbig5.cloudfront.net/COP343-R-Building_observability_to_increase_resiliency__REPEAT_/images/rebranded/COP343-R-Building_observability_to_increase_resiliency__REPEAT__5.png)
领导总结道,亚马逊云科技通过运用可观察性、维度、聚合和实验等手段成功地处理复杂数据并揭示潜在问题。
![](https://d1trpeugzwbig5.cloudfront.net/COP343-R-Building_observability_to_increase_resiliency__REPEAT_/images/rebranded/COP343-R-Building_observability_to_increase_resiliency__REPEAT__6.png)
## 总结
演讲的核心主题在于建立可观察性以增强系统弹性。演讲者将航行在暴风雨海洋中的船作为比喻,强调了监控并应对问题对具备弹性的系统的重要性。
关于如何运用可观察性构建弹性的演讲,提出了三个关键观点。首先,利用维度切割和多维度分析是至关重要的,这样可以迅速找到问题的根源并进行诊断。其次,从不同角度(如合成工作负载和真实用户数据)审视指标有助于发现系统盲区的问题。最后,通过控制实验和混沌测试来验证系统在故障期间的预期行为,同时可观察性工具为我们提供了正确的信号。
总的来说,演讲者强调,尽管为系统构建弹性非常重要,但同时也必须以同样有弹性的方式运营整个系统。这需要对所有系统和依赖组件进行全面的观察,并利用观察到的数据来快速检测和解决问题。演讲者还提供了实用策略,展示了如何通过改进监控和响应能力,利用指标、轨迹、日志以及其他观察数据来构建系统的弹性。
## 演讲原文
## 想了解更多精彩完整内容吗?立即访问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 余种核心云服务产品免费试用“")