APM研究院 2015/04/24 16:56

2013年,某权威机构提供一组数据显示:亚马逊每100毫秒延迟会使销售额下降1%;雅虎一秒钟服务器延迟导致收入下降2.8%;谷歌搜索结果页面放缓100毫秒到400毫秒,会使谷歌AdWords收入流失4500万到1.35亿美元。这些数据其实只说明了一个问题,应用性能管理(APM)对互联网公司来说,已经变得越来越重要,甚至关系到生死存亡。
  
  不久前,CDNetworks市场部负责人Sharon Bell分享了一篇文章,主题是“如何给公司的CEO解释APM是什么”。众多周知,想让保守且吝啬的公司老板关注和使用APM,并不是一件容易的事情。你需要在短时间里向老板解释清楚:APM是什么玩意?为什么我们需要APM?

APM是干啥的?

  简单来讲,APM就是使用一些特定的工具或者进程来监控应用软件的性能,帮助IT运维人员和应用开发人员完成对系统的监测,并帮助他们及时完成对性能的修复处理。
  比如,APM可以帮助监控网站的各项性能指标,包括页面加载时间、应用响应时间、页面流量、性能指数以及错误信息等等。

为什么需要APM?

  Gartner针对应用性能管理领域定义了五个功能维度,真实用户体验管理,应用拓扑的发现与可视化,用户自定义业务分析,应用组件深度监控,IT运营分析。从这些方面就可以看出APM对整个系统的价值,当然对这5个维度的实现,难度也是非常之高,目前,国内目前只有OneAPM一家公司,完全实现上述五项功能的应能性能管理软件。
  
  事实上,想说服CEO很简单,那就是让他充分意识到APM拥有不可或缺的价值。比如说APM解决方案可以帮助业务管理人员把握整个IT架构,完成对整个系统的可视化管理;同时它也能帮助公司节省运维成本的开支,保证业务的连续性,量化IT运维部门的业务价值;帮助应用开发人员,快速定位代码性能问题。APM可以全方位地提升应用性能表现,让应用变得更稳定更安全,给用户提供更好的产品体验,最终增加用户的转化率。
  
  对一家电商网站来说,它需要部署一套支付交易系统,如果它还想测试一下用户的转化率,公司IT人员还需要做一个A/B测试,除此之外,可能还需要部署一套CDN的解决方案来对网站进行加速,优化用户体验。但是这么多不同的应用集成在一个大系统之中,难免会出现各种各样的问题,一旦发生宕机或者访问延迟,对IT运维人员和开发人员来说,就很难对故障问题进行定位,是因为A/B测试软件影响到页面加载时间,还是因为那个“老掉牙”支付系统。
  
  此时,APM工具的重要性就显现出来了。以OneAPM为例,其能够从系统服务层、应用层、用户体验层、业务交易层提供全方位的性能监控,帮助公司快速定位到故障的所在,从而帮助开发人员迅速解决问题。目前电商行业竞争激烈,发展并留住用户的成本越来越高,这就需要APM来保障系统的流畅运行。
  
  时间就是金钱,对CEO来说,他基本不会考虑技术细节问题,不要跟他介绍Java、PHP这些探针技术是如何运行的,因为那些技术术语对他而言,可能没有说服力,直接告诉他APM的价值,那就是APM能帮助公司减少硬件资源的投入,能帮助开发人员节省时间投入成本,能够保证各种复杂情况下系统的稳定性。
  
  就像爱因斯坦说的那样:“你若是不能对它进行简明扼要的进行概括,就说明你对它的理解还不到位。”如果使用这种方式,相信你成功说服CEO认可并使用APM的概率就会大很多,最起码也能给他留下一个好印象。

本文系OneAPM工程师编译整理。OneAPM是中国基础软件领域的新兴领军企业,能帮助企业用户和开发者轻松实现:缓慢的程序代码和SQL语句的实时抓取。想阅读更多技术文章,请访问OneAPM官方技术博客

如何说服你的老板必须使用APM?的更多相关文章

  1. 精通Web Analytics 2.0 (7) 第五章:荣耀之钥:度量成功

    精通Web Analytics 2.0 : 用户中心科学与在线统计艺术 第五章:荣耀之钥:度量成功 我们的分析师常常得不到我们应得的喜欢,尊重和资金,因为我们没有充分地衡量一个黄金概念:成果.因为我们 ...

  2. 精通Web Analytics 2.0 (5) 第三章:点击流分析的奇妙世界:指标

    精通Web Analytics 2.0 : 用户中心科学与在线统计艺术 第三章:点击流分析的奇妙世界:指标 新的Web Analytics 2.0心态:搞定它.新的闪亮系列工具:是的.准备好了吗?当然 ...

  3. WPF 异步加载高清大图

    不管什么东西,但凡太大了,总是让人又爱又恨啊!(很有道理的样子,大家鼓掌└( ̄  ̄└)(┘ ̄  ̄)┘) 猿:老板,现在这社会啊,真是浮躁啊,之前还是什么1080P,然后就到了2K,现在又到了4K……他 ...

  4. 一名IT从业者的英语口语能力成长路径

    一名IT从业者的英语口语能力成长路径 来源: 微信公众号  发布时间: 2014-03-12 22:53  阅读: 6134 次  推荐: 24   原文链接   [收藏]   这篇文章是我最近十天口 ...

  5. 100个linux站点

    (一) 文件下载 (二) 幽默娱乐 (三) 相关新闻 (四) 通用硬体 (五) 专用硬体 (六) 新手站点 (七) 图形/多媒体 (八) 游戏站点 (九) 网路杂志 (十) 入口(教育.链结) (十一 ...

  6. JavaScript之父谈JavaScript

    本文翻译自popularity,为了更好的阅读我把部分内容进行了增删改,如果你英语比较好,建议直接阅读原文,因为这篇文章是我通过google翻译再进行修改的. 貌似(根据一位精神导师的说法)JavaS ...

  7. 如何从头开始确定虚拟SharePoint服务器场的配置(compute resource, network和storage)

    让我们来设想一下, 假设你被上级要求设计一个SharePoint场, 用于满足自己公司的需求. 那么, 你会怎么做呢?   首先, 摆在你面前的是一系列的问题: 1. 用实体机搭建还是选用虚拟机平台? ...

  8. 自动化测试ROI实践

    自动化测试是一项"一旦开始,就需要持续投入"的工作,所以它一直是测试领域的一块鸡肋.不做吧,好像手工测试重复得让人有些厌倦,而且手工测试时间也缩短不了.做吧,害怕投入的比回报要多. ...

  9. Blazor 准备好为企业服务了吗?

    如果您正在编写 .NET Web 应用程序,您很可能已经意识最近一年在.NET Web开发领域的热点都是 Blazor 的.如果你还没有了解Blazor,它允许您使用 C# 来编写 Web UIs,传 ...

随机推荐

  1. openstack的控制节点部署

    openstack的控制节点部署 主要是使用了本地安装的那个镜像. 会出现几个问题, 1.重启服务无法启动. 2.环境变量无法正确配置可以自己配置

  2. Python os模块常用部分功能

    os.sep 可以取代操作系统特定的路径分割符. os.name字符串指示你正在使用的平台.比如对于Windows,它是'nt',而对于Linux/Unix用户,它是'posix'. os.getcw ...

  3. java 中 java.lang.ArrayIndexOutOfBoundsException: 0 异常

    package test; public class Test { public static void main(String[] args) { final int num2 = Integer. ...

  4. 自学Python一 迷茫中的开端!

    有心学习一下Python,多门技术多条路啊.经历了找教程,看代码,写demo,这东西入门容易精通难啊!又因为请了两周婚假彻底忘光光.想了想自己还是边复习边写点什么东西吧.很多技术,新东西都是看了n多, ...

  5. 【原创】StickHeaderListView的简单实现,解决footerView问题

    1.前言: 前几天用了GitHub上se.emilsjolander.stickylistheaders这个组件,然后发现这个组件的listview不能添加footerView,加了footer后,滑 ...

  6. 老工程升级到VS2010或以上时会出现 libc.lib 解决方法

    有些网上的工程都比较老,比如用2003之类.一般会有个静态libc.lib.在新版本里已经没有这个库,被微软无情的抛弃. 编译时会出现动态库找不到: 1>LINK : fatal error L ...

  7. .NET开源工作流RoadFlow-流程设计-流程步骤设置-策略设置

    策略设置包括当前步骤的流转方式,处理人员,退回策略等设置. 流转类型:当前步骤后面有多个步骤时,此类型选择可以决定后续步骤的发送方式. 1.系统控制:由系统根据您在线上设置的流转条件来判断该发送到哪一 ...

  8. 【转载】MongoDB参数

    我们可以通过mongod --help查看mongod的所有参数说明,以下是各参数的中文解释. 基本配置–quiet# 安静输出 –port arg# 指定服务端口号,默认端口27017 –bind_ ...

  9. Javascript是一个事件驱动语言

    面向原型这种说法我没在网上找到

  10. python小算法(一)

    1.长度为m的字符串a,长度为n的字符串b,(m>n) 判断b中的字母是否全在a中? O(n)最小. class Num(object): def getNum(self, m): numLis ...