阿里云于大概两月前商业化了一款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 来为您的云上应用构建监控能力吧。

本文作者:中间件小哥

本文为云栖社区原创内容,未经允许不得转载。

论云时代最经济的APM工具的姿势的更多相关文章

  1. 做一个能对标阿里云的前端APM工具(下)

    上篇请访问这里做一个能对标阿里云的前端APM工具(上) 样本多样性问题 上一小节中的实施方案是微观的,即单次性的.具体的.但是从宏观上看,我需要保证性能测试是公允的,符合大众预期的.为了达到这种效果, ...

  2. ZeroMQ:云时代极速消息通信库

    ZeroMQ:云时代极速消息通信库(大规模|可扩展|低成本|高效率解决之道,大规模分布式|多线程应用程序|消息传递架构构建利器) [美]Pieter Hintjens(皮特.亨特金斯)著   卢涛 李 ...

  3. 云时代基础设置自动化管理利器: Chef

    云时代的到来势不可挡.尤其作为程序员,我们每天或多或少的直接或间接的使用者各种云服务.云平台有很多种,如云软件(SaaS, Software as a service).云平台(PaaS, Platf ...

  4. OneAPM:打造云时代的应用性能管控平台

    在2015年大连市CIO信息化年会的现场,记者与OneAPM东北区总经理佟维针对云时代的企业系统应用性能的管理控制进行了简短交流.北京蓝海讯通科技股份有限公司,即OneAPM是中国基础软件领域的新兴领 ...

  5. ibm云时代的转型

    好几个月了,有两个说法很流行. 第一个说法,是老有人嚷嚷思科快被SDN整趴下了:第二个说法,是老有人嚷嚷IBM在云计算时代完全落后了,要倒下了. 刚开始我还跟有些人辩论: 1.裁员是西方企业常用的战略 ...

  6. SAP 2019 TechEd Key Note解读:云时代下SAP从业人员如何做二次开发?

    刚刚过去的在巴塞罗那举行的2019 SAP TechEd,SAP照例向全球广大的SAP生态圈从业者们传达了一些重要的信息,其中一条为:Building Extensions for the Intel ...

  7. 云时代IDC自动化运维的几大神器

    云时代IDC自动化运维的几大神器 2016年09月18日 10:27:41 天府云创 阅读数:1715   版权声明:本文为EnweiTech原创文章,未经博主允许不得转载. https://blog ...

  8. 云时代的.NET

    编程语言从最初的0101机器码到汇编语言再到面向对象的编程,不断的发展,整个发展趋势呈现高内聚.低耦合.可重用.可理解的特点.最早编程是用机器码,人的大脑不像电脑,无法处理0101:后来汇编语言还是太 ...

  9. 西安活动 | 4月20日「拥抱开源,又见.NET :云时代 • 新契机」

    云计算日渐兴起,成为提升企业效率和生产力的最终解决方案,而云时代也为软件开发模式带来了翻天覆地的变化.可以说 .NET Core就是这个时代催生的产物.自2016年 .NET Core 1.0 发布以 ...

随机推荐

  1. tjuthesis 图标题左对齐修改办法

    图标题格式默认是居中的. 将 format 文件里定义图表标题样式部分的 \centering 删去,可变为左对齐. 如下: %% 定制浮动图形和表格标题样式\makeatletter\long\de ...

  2. 带有ir的单词

    hire thirty thirteen third sir birthday shirt stir circle dirty skirt affirm affirmation affirmable ...

  3. 几种 MyBatis 增强插件

    1. mybatis-generator/mybatis-generator-gui 2. 通用mapper 3. mybatis-plus 4. fastmybatis 5. mybatis-enh ...

  4. 阶段1 语言基础+高级_1-3-Java语言高级_1-常用API_1_第1节 Scanner类_2-概述及其API文档

    键盘输入的类 Scanner首字母是大写的S.说明这是一个类,并不是关键字.关键字都是小写的.这个类是jdk中已经提供好的 1.看包 2.构造方法. 3.方法 只要不是引用类型,就是基本类型

  5. 阶段1 语言基础+高级_1-3-Java语言高级_1-常用API_1_第3节 Random类_10-练习一_生成1-n之间

    生成随即数的时候,总是会短一个,因为它是从0开始的 这是左闭右闭区间. 循环100次输出的结果

  6. unittest框架扩展(基于代码驱动)自动化-下

    一.数据驱动/代码驱动优缺点: 使用数据驱动的好处:- 代码复用率高.同一测试逻辑编写一次,可以被多条测试数据复用,提高了测试代码的复用率,同时可以提高测试脚本的编写效率.- 异常排查效率高.测试框架 ...

  7. char数组初始化

    初始化 char str[10]="Hello"; char str[10]={'H','e','l','l','o','\0'}; char str[10]={'H'}; cha ...

  8. 在Keras中用Bert进行情感分析

    之前在BERT实战——基于Keras一文中介绍了两个库 keras_bert 和 bert4keras 但是由于 bert4keras 处于开发阶段,有些函数名称和位置等等发生了变化,那篇文章只用了 ...

  9. Nginx环境下设置zblog伪静态方法

    Apache的环境非常简单.可以点击创建 .htaccess就可以了 Nginx环境下设置伪静态,并没有那个一键创建的按钮.只看到了这样的一个提示. 别的环境未测试.宝塔面板中 反正我是没找到. 宝塔 ...

  10. linux7 配置mysql5.7字符集编码

    linux 安装后 mysql5.7 字符集默认是拉丁,不能存储中文,修改步骤如下: 在 vim /etc/mysql/my.cnf   修改配置文件 在[mysqld] 下添加如下配置 charac ...