论云时代最经济的APM工具的姿势
阿里云于大概两月前商业化了一款APM产品 ARMS ,正式填补了 APM 上的云上监控的空白。那么作为阿里云官方 APM 工具,ARMS 和其他传统厂商的 APM 服务相比有什么特点呢? 通过和国内其他 APM 类产品对比,结合其自身各类功能,一个显著的特点是能非常明显地帮助用户降低云上的应用监控使用成本,从而间接提高用户在阿里云上的体验和粘性。
以下从五个方面来为大家详细解说。
随需而动的按量付费定价策略
传统的APM厂商基本上是按照规模的峰值数来一次性收取一年的费用。相比之下,ARMS 无论是应用监控还是前端监控,基本付费策略是按量付费,在这一点上都比其他APM厂商灵活不少。其中,应用监控功能是按照 Agent*Hour 来收费,前端监控是按照数据上报量来收费(或PV数)来收费。这样的收费模型对于云上应用来讲尤其适合。
这样讲的理由有两方面:
- IT上云对用户最大的好处之一就是收费灵活。在当今互联网时代,市场变化瞬息万变,产品是否有爆发增长,是否能成为爆款,都很难预测,与此带来的前后端服务容量评估和相应的IT预算就更加困难。云上用户最大好处就是很大程度上不需要精准预判容量,可以通过按量付费的方式最大化地提供资源使用率。这方面的情况对监控来讲也同样适用。国内目前APM厂商的计价模型本质上还是要让用户需要提前预估容量:如果超过容量限制则需要另外议价,而全年没有达到容量评估的使用量则又显浪费。而ARMS无论是应用监控还是前端监控,其按量付费模型从监控上讲都可以让用户最大效率化地利用资源,也显著降低了议价沟通成本,节约了人力。
- 在云上的另外一个场景是动态弹性扩缩容。由于业务需求,各类运营活动,如大促,不定期发生。这也对计算资源的规划提出挑战。而在云上,计算资源的动态弹性扩容天生的适合这一类场景。大促发生的时候临时按照流量弹性增加比如两倍 ECS 资源,活动结束后再收回计算资源,用户仅为峰值买单,这种方式大大地增加了资源的有效使用率。同样对于监控,大促发生时用户只对峰值时间端的大流量价格进行买单,而大促结束后监控价格自动恢复到正常水位,在云上时代也应是标准玩法。ARMS 的按量付费方式让这些都成为了可能。
值得一提的是,从网上公布的价格来看,ARMS的按量付费价格,其定价不仅灵活,而且也显著低于国内的APM厂商,从公布的数字来看,价格是国内的其他厂商公布价平均10%不到,简直可以称为APM SaaS领域的"价格屠夫"。据悉,这应该和 ARMS 定位于不做盈利,主做增加阿里云 ECS 用户粘性有关。
更加优惠的资源包模式
ARMS 的资源包一看有点像是和按量付费方式并列的一种预付费方式。但是经过详细研究,发现其实又略有不同。ARMS 的资源包是基于按量付费的基础上增加的一种用户套餐。购买资源包的前提条件是先开通按量付费服务:当用户有资源包的时候,ARMS计费会优先使用资源包;当资源包使用完以后,剩余使用资源记入按量付费。
这种玩法其实在通信运营商来讲不是首创。小编有类似经历,在购买电信手机套餐时,觉得可能流量不够用,但是3毛/MB的后付费价格又嫌贵,因此又单独购买了流量包,可以把流量单价降低到比如0.5毛/MB。只不过ARMS把这种计价玩法带到了APM领域,还是相当有创意的。
目前看来 ARMS 这种计量方法至少有两个优点:
- 对于短期内有大致容量评估的用户来讲,可以通过购买资源包的方式显著降低使用成本。前面章节提到,要精确地做全年IT预算是很困难的,但是短期来预测1-3个月的大致使用量对于大多数用户来讲还是具备可操作性的。对于资源包,用户可以完全基于一个短期评估量,先购买一个试用。目前ARMS的资源包经过调整以后,有限期长达6个月到1年,基本上买了不用担心过期。同时从价格上看,资源包确实还是能有效大幅降低价格。通过观察,高级资源包相比按量付费,最高可降低60%+以上的费用。
- 资源包推出的另外一个好处,对于一些内部有比较严格的发票财务制度的公司来讲,不管是年初还是年中,提前通过购买资源包并能看到一整年预算的发票,满足公司内部财务合规要求,也成为可能。
因此ARMS在按量付费基础上推出的资源包,既解决了一些公司的财务合规问题,又降低用户使用成本,这一点可谓一举两得。
灵活的监控启停功能
APM监控的有限预算更多是希望用在刀刃上。例如除了对关键应用需要7x24 小时监控意外,对于其他其他二、三类(或非重要)应用,用户可能更期望在以下关键时刻对应用进行监控:
- 在应用压测时,对应用开启监控,观察应用瓶颈在哪里。压测完成时,关闭应用监控。
- 应用版本发布前后。对于新版本发布前几天开启监控进行基线观察,新版本发布后观察在线应用的性能和异常情况。
- 对于大促活动,开始的头一段时间开启监控观察大促的实际性能影响和异常情况。
- 而对于其他大多数时候的平稳阶段,这类应用监控其实可以默认关闭不开启,对于用户影响其实也不大。
这类场景其实对于多数云上普通用户来讲,并不鲜见。不过对于这类"屌丝"需求,小编看到的更多的APM厂商的应对态度基本上可以说是缺乏动力。因为满足这类需求从某种程度上讲是在降低厂商自己的潜在营收。但是笔者惊喜地发现,在ARMS上,无论是应用监控,和前端监控,ARMS都提供了一键启停功能,付费用户可以在任意情况下随时停止ARMS应用或前端监控,从而停止产生相关费用。
在最近刚上线的版本中,ARMS还提供了应用级别的监控启停功能,用户可以在应用粒度级别灵活的开启和关闭ARMS的监控状态。这无疑对于IT预算有限的用户来讲,又是一大福音。
应用监控公网带宽消耗0成本
对于传统的APM SaaS厂商来说,应用监控的数据上报方式最常用的是通过网络上报监控数据。而一般SaaS服务和部署的应用不在一个私网内,因此数据上报将对用户造成公网带宽消耗。对于应用监控一般的类似JVM堆内存、调用量耗时、SQL耗时等的指标类监控,针对公网的传输成本来说,并不算大。但是对于其他一些明细类监控数据如调用链,甚至本地调用堆栈收集来讲,网络传输带宽消耗就会显得会比较高。毕竟,试想应用每产生一次调用,就要发送近好几KB的调用数据,对于单节点高达好几百qps的应用来说,这些都是不小的公网带宽开销成本。
而ARMS针对阿里云上的应用监控数据传输在成本上具有天然优势。因为天然和应用一道长在阿里云网络内,所以应用的监控数据上报ARMS服务可以绕开公网而改用阿里内网。这种方式除了极大节省用户带宽成本以外,其也是ARMS宣传能支持100%分布式链路和本地堆栈采样的一大原因。
对于应用链路采集这块,ARMS的100%分布式链路和本地堆栈采样功能全开情况下,性能影响约5%左右;而且,具体采样率ARMS是可以在应用中可配置的,如果用户觉得性能影响太大,可以降低采样率来提供性能。除了其他高压缩技术意外,也正式因为有效利用内网,ARMS本身才不担心云上用户的应用监控采集链路明细所带来的用户和产品自身的网络传输带宽成本。这也是ARMS能做到100%链路收集而国内竞品缺做不到的一大原因之一。
据悉,除了链路采集以外,后续ARMS还将推出一系列如CoreDump分析等对带宽要求很高的功能,而这些功能都将借助云上的阿里云内网传输架构,也天然地帮助用户在费用方面显著降低使用门槛。
和阿里云产品集成使用更加经济优惠
从ARMS公开的资料上看,目前ARMS除了支持云上RDS, MQ, Redis等服务调用监控以外,针对其他PaaS类产品也有很好的集成。这边举其中一例,和阿里云 EDAS的整合。关于EDAS,官方资料介绍如下:
小编通俗理解:产品形态上,EDAS是一款类似于Spring Cloud + Kubernetes的阿里中间件自研的中间件旗舰产品;对用户而言,EDAS是一种类托管模式模式的中间件容器管理平台,用户只需要上传自己的应用程序,EDAS能帮用户解决应用生命周期管理,配置注册中心和远程调用,以及应用诊断等一系列问题。由于采用托管模式,在EDAS上,常规APM的应用监控探针部署方式用户是没有办法实施的。针对这个问题,ARMS针对EDAS监控做了一系列特殊处理,用户只需要通过简单授权操作就可以直接授权EDAS启用ARMS对应的应用监控探针,这样就能做到EDAS和ARMS无缝集成。
不仅如此,小编通过使用发现,针对同时使用EDAS的APM用户,ARMS居然还推出在各类折扣之上的进一步五折优惠。这在本身产品价格足够优惠的前提下,通过进一步折扣为阿里云云上其他产品增加粘性,这种手段也成为ARMS价格方面的一大杀器。
产品长期免费
最后补充一点,得益于ARMS的免费产品模式。从目前来看,ARMS将长期提供旗下三大子产品应用监控,前端监控,和自定义监控的免费套餐。其中,已商业化的两块子产品:
- 应用监控的免费套餐为48 Agent*Hour;
- 前端监控的免费套餐为5000 PV。
以上两个套餐,一方面对使用来讲完全足够;另一方面对阿里云上的小用户而言基本上也够用。如果临时流量用超的话,ARMS只是会在资源超标时关闭服务,而在次日凌晨贴心地为你悄悄打开,这样用户第二天就又能使用了。
以上是小编从价格模型结合相关功能为读者总结的 为什么ARMS是云时代最经济的APM工具产品。您如果敢兴趣的话,欢迎登录阿里云 ARMS 来为您的云上应用构建监控能力吧。
本文作者:中间件小哥
本文为云栖社区原创内容,未经允许不得转载。