天天看点

顶级APM软件大PK

管理应用性能说起来容易做起来难。在探索很多种方式,研究很多种趋势之后,应用性能管理能够快速地从简单进化到复杂。对于apm软件而言也是如此。市场上有很多种apm软件方案,所有这些方案都在不同的级别上提供了多种功能,使得很难分辨哪种方案问题最少,使用最多。

本文解开apm产品的神秘面纱,介绍了很多不同的apm工具,它们提供的功能以及在它们是如何适用于某些特定的业务场景的。

业务规模和关注点决定购买哪种apm工具

一些工具是为拥有多种环境的企业而构建的,而其他一些工具则是为拥有相对简单环境的小型或者新公司而构建的。如果你的环境简单,仅仅包括一些服务器和数据库,那么sensu这样的apm工具会工作地很好。和其他软件相比,这个开源工具缺少一些特性集,安全选择和可扩展性,但是非常适用于简单产品环境。

其他工具_appdynamics和bmc turesight,更适合大型和更加复杂的产品环境。这两个软件特别能够跨不同层次监控硬件和软件。比如,类似facebook这样的产品有很多虚拟化的服务器,数据库,需要持续复制和备份,并且有很多不同的服务支持其用户。带有大范围关注点的appdynamics/truesight和其他apm软件能够快速映射环境并且帮助恢复维持产品运行的所有部分。

在这两种类型软件之间,还有一些apm产品,比如foglight,apppulse和appneta,允许企业购买他们可能需要的产品的某些部分。这些模块化的产品可以基于当时需要的功能来付费。这样做有两大优势--一是企业仅仅得到他们需要的功能并为之付费,这样可以减少开支。第二个优势是他们可以得到为其环境特别定制的产品。比如,一家对事务数据非常感兴趣的公司所需要的产品,和一家仅仅有移动产品,或者另外一家用户仅仅能使用服务器的公司所需要的产品并不一样。

apm软件里数据收集和汇报核心特性

带有很多特性的巨无霸软件里的一些功能,用户可能永远也不会使用,这是巨大的浪费。学习并且购买某些实际不需要的东西会让人困惑。但是如果某个工具缺失某个企业真正需要的一两个功能,那这个软件实际就没有用处。不管其他供应商在其apm工具里提供什么功能,数据收集和汇报是每个apm软件都必须具备的功能,并且每个产品在这个领域的实现都有些差异。比如foglight和truesight擅长于通过收集每次事务的信息来提供终端用户体验的监控,这些信息包括这些事务发生时页面的延迟。dynatrace和appresponse,是riverbed的steelcentral套件的一部分,能够收集事务数据的所有细节。要展示这些数据,dynatrace和newrelic提供了单页仪表盘的方案,该方案里,从各方收集的数据展示在统一的仪表盘里。很多人觉得这两种apm工具提供的数据丰富的预配置仪表盘非常有用。

dynatrace应用监控带有单页仪表盘,展示应用健康的方方面面。

apm软件支持哪些平台?

十年前,软件驻留在一些服务器和一些数据库之上。现在情况大不相同;有虚拟机,云平台,移动以及平台即服务。对于apm工具而已,有两个问题需要回答:“它是否适用于你的软件所使用的语言?”以及“它是否能够运行在你的服务器上?”

有一些非常流行的编程语言——java, c#, ruby, javascript,但是还有很多其他语言。特别是在linux上的服务器软件更为多样化。大多数apm产品都仅仅适用于某个特定的技术集。企业选择适用于它们开发所使用的编程语言的apm软件,这非常重要。

windows和linux是最为流行的环境,因此大部分apm产品在其说明里都声明可以在这两种环境上工作。sensu适用的平台有限,包括debian,ubuntu,或者centos,而foglight几乎能再所有平台上运行,包括rhel、solaris、aix和hp-ux。

从编程技术看,java和.net几乎是标准。绝大多数apm软件都支持这两种语言。一些产品支持的更多 — dynatrace支持php、apppulse支持python。

价格因素

sensu是开源并且免费的。这意味着企业没有先期投入,但是也有其他方面需要考虑。开源通常意味着没有支持部门。当问题出现时,没法支持ticket,企业只能和社区论坛里的开发人员或者其他用户一起讨论来解决问题。另外,bug修复速度和新版本的发布时间都没有保障。

对于大多数apm工具而已,一些供应商提供免费试用版或者免费版本,但是所有工具都有订阅计划。这意味着公司可以为软件按月付费,而且还能从支持部门获益,并且知道apm软件会持续开发演进。

找到拥有正确功能集,价格合适,技术匹配的正确的apm工具,很具挑战。当一家公司真正理解其自身需求并且准备投资apm工具时,才能更容易地找到这个问题的答案。

本文转自d1net(转载)