让我们来设计吧!大规模监控生产系统 架构

构建可扩展的监控系统

关键要点

在软件和分布式系统中,故障不可避免,因此必须设计监控系统以提供可见性和快速响应。了解如何有效监控系统是成功的关键,包括查看团队如何进行系统健康评估以及采取最佳实践。

“一切都会失败,永远如此。” 这是亚马逊首席技术官韦尔纳·沃格尔斯(Werner Vogels)的一句名言。这意味着软件和分布式系统必定会因为某些原因而失败,因此我们必须接受这一现实,并相应地设计系统、测试软件和服务,考虑所有可能的边缘情况。

在一个生产环境中,当系统正在提供流量服务时,我们需进行有效监控以确保其按预期行为运行,各个组件均健康。那么我们应该考虑以下问题:

  • 我们如何监控一个系统?
  • 什么是监控?
  • 设计有效监控策略时有哪些架构和工程方案可以应用?

以上问题的解答复杂多变,虽然无法在一篇博客文章中详尽阐述,但我们可以开始探索这个话题,并分享资源来指引你在这一领域的发展。

在本期的《构建架构!》中,我们分享了一些亚马逊和AWS所采用的监控实践,以及更多资源以帮助您了解如何为在AWS上运行的工作负载构建监控解决方案。

可观察性与监控是工程任务,同时也需要适当的文化心态。在亚马逊,如果某项服务未按预期运行,团队会撰写纠错文档(CoE),分析问题并回答相关问题以从中学习。此外,每周还有运营会议,分析每个服务的操作和性能仪表板。

这个环节涵盖了亚马逊监控的全貌,从团队如何高层次评估系统健康,到如何了解单个请求的细节。利用此资源了解关于指标、日志和追踪的最佳实践,并利用这些信号实现卓越的运营。

![Observability Best Practices删除)

可观察性是一个迭代过程,需要我们建立反馈循环,并基于系统传出的信号进行改进。

在分布式系统中,了解发生了什么是实现大规模工作负载操作的关键。 是可观察性的标准,AWS服务也与其完美集成。本部分介绍的博客文章展示了 (ADOT) 的工作原理,以及如何将其与Kubernetes集群结合使用。但请记住,这只是AWS计算服务和OpenTelemetry众多实现中的一种——即使您现在不使用Kubernetes,我们仍有相应的解决方案可供使用!

想了解更多?观看,了解如何思考AWS服务中的日志、追踪、指标和监控,以及提供分布式系统所需的可观察性的可能性。这是一个很好的学习资源,包含许多演示和示例。

![Observability Solution删除)

从应用服务到可观察性平台的指标和追踪流。

我们在之前的资源中探讨了监控的思维模型和策略。现在,让我们看看如何在运行大规模批处理和机器学习计算作业的场景中应用这些原则。本部分介绍的博客文章显示了如何使用运行时指标来理解基于 的设计架构,该架构便于运行批处理计算作业。AWSBatch是一项完全托管的服务,能够让您在不需要管理底层计算资源的情况下以任何规模运行作业。该博客详细解释了AWSBatch的工作原理,并指导您设计监控框架的过程。

由于该解决方案是开源的,您可以自由添加您认为有用的其他自定义指标。要开始使用AWS Batch开源可观察性解决方案,请访问 。许多客户已经使用这个监控工具优化他们的工作负载规模,通过重新设计他们的作业、改进实例选择和调整AWS Batch架构。

![AWS Batch Architecture删除)

AWS Batch资源和交互的高层结构。该图描绘了用户根据作业定义模板提交作业到作业队列,然后向计算环境请求所需资源的流程。

此资源为您提供了在AWS上设置监控和可观察性的多种工具集的实践体验。无论您的工作负载是在本地还是AWS上——或您的应用程序是巨大的单体还是基于现代微服务架构——可观察性工具都能够深入分析应用性能和健康状态。

该研讨会所涵盖的监控工具具备强大的功能,能够让您识别瓶颈、问题和缺陷,而无需手动查看各种日志、指标和追踪数据。

![Observability Workshop删除)

该图展示了PetAdoptions 架构的各个组件。在研讨会上,您将学习如何监控这个应用程序。

下次见!

感谢您与我们一起探索架构工具和资源!

下次我们将讨论在AWS上的容器。

要查看该系列的所有帖子,请访问页。

标签: , , ,

关于作者

![LucaMezzalira](https://d2908q01vomqb2.cloudfront.net/fc074d501302eb2b93e2554793fcaf50b3bf7291/2021/12/22/luca- 删除) Luca Mezzalira :Luca是一位在伦敦的首席解决方案架构师。他是几本书的作者,也是国际演讲者,在解决方案架构领域有丰富的经验,因其在微前端的可扩展性方面的创新而受到赞誉。

![Federica删除) Federica Ciuffo :Federica是AWS的高级容器解决方案架构师,热衷于网络和容器管理,闲暇时喜欢阅读、绘画与朋友聚会,尤其是在餐厅尝试不同菜式。

![LauraHyatt](https://d2908q01vomqb2.cloudfront.net/fc074d501302eb2b93e2554793fcaf50b3bf7291/2021/12/22/Laura- 删除) Laura Hyatt :Laura是AWS公共部门的解决方案架构师,帮助英国的教育客户,不仅架构和开发可扩展解决方案,还为当今教育领域的创新提供创新思维。她的专长是物联网(IoT),同时也是EMEA教育领域的Alexa专家。

![VittorioDenti](https://d2908q01vomqb2.cloudfront.net/fc074d501302eb2b93e2554793fcaf50b3bf7291/2021/12/22/Vittorio- 删除) Vittorio Denti :Vittorio是一名在伦敦工作的亚马逊机器学习工程师。他在米兰理工大学和KTH皇家理工学院完成计算机科学与工程硕士后加入AWS,背景涉及分布式系统和机器学习,尤其热衷于软件工程及最新的机器学习科学发展。

![Zamira删除) Zamira Jaupaj :Zamira是位于荷兰的企业解决方案架构师,拥有超过10年的多国经验,专注于为小型和大型企业设计和实施关键复杂解决方案,包括容器、无服务器架构和数据分析。

Leave a Reply

Required fields are marked *