搭建 APM 平台的方案选择:自建还是上云?

前言

随着微服务架构的流行,一次请求通常涉及到多个组件及应用,往往需要根据整个请求的链路信息进行问题排查。

因此,企业通常会引入可帮助其了解系统行为、用于分析性能问题工具- APM (应用性能监控)。以便在发生故障时,进行调用链路追踪,快速定位和解决问题。

目前 APM 开源及商业化产品已经比较成熟,但搭建 APM 平台是自建还是上云呢?本文通过成本和产品功能的角度,给大家提供 APM 选型方案的建议。教您如何实时了解并追踪应用性能情况,低成本打造最佳用户体验。

自建成本分析

在成本问题上,小编粗略的计算了一下,使用开源协议自建需要:构建 APM 系统所需的机器及资源成本+运维成本,均显著高于直接使用腾讯云应用性能观测 APM 的 SaaS 服务。

举个例子:假设三种不同规模的用户,链路明细存储为3天,指标存储为30天,每个 Span 大小约1K,实际每日上报的 Span 约为:

[点击查看大图]

自建用户需要花费机器成本(按照腾讯云上机器成本估计计算)和人力成本预估(人力成本预估参照:预计每个月1人天;据统计2021年 IT人员平均工资:14915,按工作人天21天/月,约710元/人天):

[点击查看大图]

与开源自建相比,腾讯云 APM 成本仅为 45.62%。腾讯云 APM 还为用户准备了 15天的试用期,和每天100万上报的免费额度。

如下表腾讯云 APM 的总体使用成本与使用开源协议相比,腾讯云 APM 仅占使用开源协议的45%~81%,大大节约了用户成本。

[点击查看大图]

*以上数据根据我们特定场景进行评估和计算的,若估算结果有任何错误欢迎来函指正(文末有联系方式)

腾讯云 APM 支持哪些功能?

1. 腾讯云 APM 提供了更为丰富、开箱即用的报表和指标功能

[点击查看大图]

腾讯云应用性能观测 APM 基于腾讯云云监控 Dashboard 的能力,结合全链路可观测性的诉求,提供了下列两种可观测能力:

  • 链路全局拓扑图,为用户提供全局视角下观测整体架构的健康情况。
  • 客户端和服务端不同视角的丰富指标和图表。

其中,指标除了常规的应用请求量,响应时长,错误率以外,还提供了下列指标:

  • 数据库相关指标(慢 SQL,数据库调用相关指标等),与云上的数据库基础监控打通。
  • JVM 指标(Full GC,Heap 空间,CPU 利用率,线程池等相关 JVM 指标)和当前实例的健康情况。

2. 腾讯云 APM 与云上组件打通

使用开源协议自建的用户,无法关联腾讯云上其他云产品组件的相关监控信息。

  • 与腾讯云日志服务(CLS) 联动,实现链路-日志打通

往期文章【腾讯云应用性能观测x日志服务】:链路日志关联,加速故障定位中,详细介绍了腾讯云 APM 与腾讯云 CLS 的打通,实现了链路到日志的可观测。

[点击查看大图] 

如图所示,在通过指标定位到问题发生的链路后,呈现了该链路整体的调用关系列表,提供具体每一条调用的具体信息(健康状态,耗时,异常信息等),并且可同步查看该条链路相关的所有日志信息,丰富详细的日志将更好地帮助判断问题所在。

  • 支持链路经过的上下游云产品组件监控

用户定位问题时,往往需要在问题节点的上下游组件中排查调用问题,使用腾讯 APM 后,即可在控制台上直接观测到腾讯云上下游组件的相关情况。

以腾讯云云函数 (SCF) 为举例,用户在调用函数执行问题时,需要查看到函数调用情况,腾讯云 APM 提供了拓扑图和链路追踪:

A. 单击系统看板右上角的拓扑,可查看该业务系统下应用之间的调用关系拓扑图。下图标记样式即表示函数节点。

[点击查看大图] 

B. 查看链路瀑布图及函数执行日志,关注函数健康情况。

[点击查看大图]

3. 腾讯云 APM 提供了对海量数据存储和消费的稳定处理能力

用户在自建中,往往会面临稳定性和性能问题的挑战,即对海量数据存储和消费的处理能力缺失,这导致在即时监控场景下,无法做到秒级监控,更容易出现数据准确率低,监控延迟大等多种问题。

腾讯云应用性能观测 APM 基于云监控团队多年打磨监控经验,拥有丰富的数据处理和消费经验,在腾讯内部支撑了腾讯会议、车联网腾讯教育等众多业务,在可用性方面,为用户提供稳定性和及时性的双重保障,支持跨 AZ 高可用部署,成熟的故障恢复方案,保证用户在稳定秒级监控环境下又快又准的定位问题。

若您对海量监控数据如何处理感兴趣,可以阅览海量监控数据处理之道(一):APM指标计算优化。我们会持续更新数据处理系列文章,敬请关注~

如何迁移至腾讯云 APM?

相信看到这里,已经有小伙伴心动,想使用腾讯云应用性能观测(APM)。心存疑问,如果已经自建了并且正在使用,那么再迁移到腾讯云 APM 是不是需要耗费很大的精力呢?

Don't worry,腾讯云应用性能观测(APM)支持多种开源协议(OpenTelemetry、Jaeger、Skywalking 等),用户无需改造,支持平滑迁移,即可直接切换到腾讯云 APM 上,享受成本低且产品功能丰富的应用链路监控。

迁移步骤:

1. 创建应用性能观测业务系统,参考文档:

https://cloud.tencent.com/document/product/1463/63511

2. 获取 Token 和接入地址,并替换 Token 和接入地址即可。参考文档:https://mc.tencent.com/yJUQ76py

总结

根据上文介绍相信大家已经对腾讯云应用性能观测(APM)有了一定的了解,对比开源协议自建的优势了,从成本、功能、稳定性及性能的多种方面考虑来说,腾讯云 APM 的优势十分明显。相比自建来说,提供了价格低廉、省事省心、稳定易用的应用链路监控,并且支持已经使用开源协议自建的用户们平滑迁移,腾讯云应用性能观测 APM 还为用户准备了15天的试用期,赶紧点击「阅读原文」开启腾讯云 APM 体验之旅吧~

作者简介

顾自然

腾讯云监控产品经理,硕士毕业于墨尔本大学。目前主要负责腾讯云业务层监控相关产品策划工作。

联系我们

如有任何疑问

欢迎扫码进入官方交流群~

应用性能监控相关文章:


欢迎关注腾讯云监控,了解最新动态

👇点击阅读原文了解更腾讯云应用性能观测 APM