为什么APM对DevOps成功至关重要

想象一下您在开车,但是没有挡风玻璃。在你面前看不见。最重要的是,您的车上到处都是朋友,看着窗外的玻璃窗,对您大喊大叫:“我们应该左转”“不,我们应该右转”“我很确定下一弯两英里。”

在这种情况下,您到达目的地的可能性有多大,而不是最终落入沟渠或从桥上溜走?

DevOps是一个很好的心态,可以使您的团队加速发展。但这带来了许多困难。应用程序性能监控或APM就像汽车的挡风玻璃一样。使用它,您可以浏览此类障碍。没有它,您可能会陷入困境。

在本文中,您将了解这些障碍,以及DevOps APM如何帮助您解决这些障碍。

DevOps的道路和障碍

DevOps的定义可能会令人费解,但这实际上意味着您的团队现在拥有您的软件。您不仅要负责制作它,而且还要负责维护,部署和修复它。您可以在软件所在的所有环境中执行此操作。这种所有权应该给您很大的自由,可以根据需要调整系统,而无需经过另一个团队。

但是,所有权要付出代价:团队的责任不大。如果您被困在沟里,没有人会来救您。没有独立的运营团队可以减轻生产支持的负担。因此,如果您盲目进入DevOps,您可能会遇到许多尚未准备好的障碍。

与DevOps相关的主要障碍有哪些?

白色和红色金属条上的橙色灯障碍1:架构可能会伤害您的客户。

作为软件开发人员,您可能非常信任自己。就像前面提到的朋友大喊大叫的指示一样,您对如何设计代码有强烈的意见。但是,如果您没有数据来支持您的直觉,那么危害可能大于好处。

所有架构都需要权衡。如果您加快应用程序的一部分的速度,那么很可能会减慢其他部分的速度。如果您无法监控真正的性能瓶颈在哪里,那么您可能会设计错误的模式。在用户可能需要快速处理某些东西的地方,您可能会使其变得更慢。如果您的用户不关心速度,那么您可能会设计过度。

障碍2:生产支持可能会破坏您的吞吐量。

如果DevOps处理不当,则两个团队的工作可能会落在一个团队的肩膀上。过去,您可能有整个团队专门致力于在生产中支持该应用程序,但这就是您的工作。即使您的团队正确处理了这种情况,新负担也会使您措手不及。对事件进行分类和故障排除以及与客户沟通所需的时间很容易堆积。如果管理不善,这项新工作不仅会减慢您的工作速度,而且还会使您筋疲力尽。这个路障让我想起了《我爱露西》节目中的精彩片段,当露西和埃赛尔试图继续点评流水线中的所有糖果时。

障碍3:客户可能会先意识到问题。

当您不知道应用程序有什么问题直到客户告诉您时,这可能会很尴尬。我什至看到过直到客户向他们发送电子邮件之前,他们都不知道系统完全崩盘的团队。知道存在问题的速度越快,您的反应就越快。而且,您反应越快,客户生气的时间就越少。如果您对应用程序存在的问题视而不见,则需要花费更长的时间才能解决这些问题。这意味着客户会生气。

黄金时段树木附近的公路

使用APM作为导航

借助强大的应用程序性能管理,您可以灵活应对这些障碍。 APM将为您提供适当的可视性,以适当地指导您的团队。

性能指标

人们在考虑APM时,通常会将其视为查看绩效指标的一种方式。性能在这里可能意味着几件事。

  • 这可能意味着系统端点的速度有多快。
  • 这可能意味着您对用户请求的响应程度。
  • 您甚至可以使用它通过查看正常运行时间和错误率来了解您的应用程序的运行状况。

性能指标可为您提供做出明智的体系结构决策所需的数据。您可以通过查看整个系统的延迟来找到真正的瓶颈所在。然后,您可以调整应用程序的正确区域,为用户提供适当的性能。

您还可以使用性能指标来找出可能出问题的地方。例如,如果您注意到自周四以来错误率猛增了30%,则可能是您从周三部署中引入了一个错误。您甚至可以在客户发现之前就迅速对此做出反应。诸如Retrace之类的高级APM工具甚至可以主动指出系统中可能存在的问题,从而防止这些问题成为大问题。

错误追踪

通过错误跟踪,您可以深入了解系统定期产生的错误响应。效果指标可以给您一个大概的信号,但是您需要深入研究并找出问题所在。您越早执行此操作,遇到这些错误的客户就越少。它还可以减轻您的生产支持负担,因为您可以获得快速解决客户问题所需的信息。

具有错误跟踪的APM可以使您清楚发生什么类型的错误以及何时发生。它使您可以查看导致错误的事件。它还为您提供与错误相关的各种诊断数据。

中心化记录

系统比以往更加复杂,并且分布在更多的进程中。您可以在许多或更多服务器上运行许多协调服务,而不是在一台服务器上运行一个整体应用程序。您不能再简单地查看这些日志文件中的每一个,并在头脑中将发生的事件类型捆绑在一起。这就像读一本书,其中每个段落都需要您跳到不同的成交量,翻阅它们直到完成一章。

您需要一个中心化的位置来收集这些日志事件并进行内聚地查看。 APM通常为这些日志提供存储。它还使您可以索引此数据,以便轻松搜索所需的信息。这使您可以快速处理客户事件,从而减轻生产支持负担。

代码分析

代码分析也称为跟踪。从头到尾都可以跟踪请求。与中心化日志记录类似,您可以看到一个连贯的故事。有效的APM工具可以分析单个请求,从客户发送请求到服务器发送响应(包括数据库调用)。中心化日志记录和监视可以向您显示系统的整体性能,但是代码配置文件可让您查明特定问题的原因。

借助性能指标,中心化日志记录和代码概要分析,您可以快速响应生产事件。

带领您的团队到达目的地

在DevOps的道路上行驶虽然很轻松,但却很危险。重大障碍可能会阻碍您前进。但是,借助强大的应用程序性能管理,您可以清除碎片,并拥有基于速度和质量的团队。

资讯来源:由0x资讯编译自STACKIFY,版权归作者Mark Henke所有,未经许可,不得转载
你可能还喜欢