快递袋厂家
免费服务热线

Free service

hotline

010-00000000
快递袋厂家
热门搜索:
技术资讯
当前位置:首页 > 技术资讯

CTO讲堂听云CTOWoodAPM实现原理及对IT和产品运营的价值万芳

发布时间:2020-02-14 11:30:08 阅读: 来源:快递袋厂家

【CTO讲堂】听云CTO Wood:APM实现原理及对IT和产品运营的价值-CSDN.NET

摘要:在应用性能监测方面,APM的作用越来越大。CTO线上讲堂第五期邀请到听云联合创始人、CTO Wood,请他讲讲APM实现原理是什么?它对IT及产品运营能带来哪些价值?关于APM领域,国内国外的发展情况对比是怎样?

为了帮助IT从业者职业之路拥有更多收获,在诸多C粉的殷切期待下,由CTO俱乐部打造的CTO线上讲堂自登场以来获得大家好评。本期邀请听云联合创始人、CTOWood带来“APM实现原理及对IT及产品运营的价值 ”的主题分享。第一期:APICloud联合创始人兼CTO邹达:以API为核心的移动应用云大发展时代;第二期:UPYUN CTO黄慧攀:云加速和技术成长那些事儿;第三期:亿方云科技创始人兼CEO程远:Box首位华人核心工程师的回国创业之路;第四期:UCloud联合创始人兼CTO莫显峰:如何成长为技术合伙人?想与业界大咖零距离沟通,欢迎加入C粉之家微信群(6月26日,讲堂嘉宾为吆喝科技CEO 王晔,活动报名方式请拖至文末查看)。主讲嘉宾:Wood 听云联合创始人、CTO嘉宾简介:Wood,听云CTO,北京基调网络股份有限公司联合创始人之一。拥有超过15年互联网及软件行业服务经验,专注于应用性能管理及优化研究,具有丰富的互联网应用性能管理和优化经验。目前负责听云平台的产品开发、技术研发和运维工作。公司简介:听云是国内领先的应用性能管理(APM)解决方案提供商,拥有听云App、听云Network、听云Server、听云CDN、听云Sys五条重要产品线。从PC端、移动端到服务端,从网络、设备、服务直至代码层面,全方位帮助客户实时监控各类应用的性能表现,快速定位性能瓶颈,优化应用性能,提升用户体验和满意度。听云是北京基调网络股份有限公司全新的APM服务平台。北京基调网络系统有限公司成立于2007年,是国内首家从事应用性能管理和用户体验优化的第三方监测服务提供商。2012年,基调网络入选“德勤中国高科技、高成长50强”,“德勤亚太中国高科技、高成长500强”,“最佳SaaS软件服务创新奖”、“优秀云计算第三方监测服务提供商”等多项荣誉。基调网络首创”首屏时间“性能指标被工信部采用为衡量应用系统性能的重要标准。以下是6月18日CTO讲堂现场完整速记:Wood:大家好,我是听云CTO Wood,目前在听云负责产品、研发和运维方面的工作。在此之前在海虹控股下的一家小软件公司做电子政务系统,2006年底和几位合伙人一起成立了基调网络,也就是现在的听云。非常高兴今天能在CTO讲堂中与大家分享APM技术和听云的产品及服务,希望能对大家日后的工作提供帮助。听云成立于2006年底,一直致力于为用户提供应用性能和用户体验的监测服务。8年多来,听云拥有2千多家企业客户和2万多家小微版用户。其中包括了中国Alexa排名前100中的81家网站,以及诸如Google,Microsoft,Amazon等著名的国外客户。目前听云团队一共180多人,其中三分之二都是技术人员。提问:您个人是在什么样的契机下和您的合伙人成立了听云?Wood:2006年的时候,通过一家销售负载均衡设备的厂商我们了解到国内各大互联网网站有一个比较特殊的需求是最终用户的用户体验和用户感知的监测。但当时国内还没有任何一家公司能够提供性能和用户体验监测服务。同时一些国外厂商在国内提供的服务由于监测节点少和分布不合理的原因也导致了完全无法满足国内用户需求的情况。当时几位合伙人特别是陈麒麟(现在听云的董事长),非常看好这一块市场未来的发展。于是就成立了基调网络来做用户体验和性能监控服务,我也是2006年底作为技术合伙人加入现在的团队的。当时的研发团队也是在一起做了几年的电子政务系统,感觉没有太大的发展空间,评估下来这个方向还是比较新的,应该有好的发展机会,所以就整个团队5,6个人一起过来这边了。提问:什么是APM?请给大家介绍一下APM技术及其实现的原理。Wood:APM(Application

Performance Management),中文译为应用性能管理。即对软件应用的性能和可用性进行监控和管理,致力于发现和定位性能瓶颈和故障,以保证应用达到预期的服务水平及最终用户体验。实现APM所用的技术有很多种,我们分别来介绍一下,为了方便说明,请大家先看这张图。

这是一个典型的互联网应用的拓扑示意图,图中每个炸弹的位置都可能是应用性能瓶颈和故障的出现点。因此为了全面监控应用的性能,我们需要在多个位置来采集性能数据,一般来说可以分为从客户端采集和从服务端采集两大类技术,这就是所谓的端(客户端)到端(服务端)的应用性能监控。从客户端上来采集性能数据的技术又可以分为主动式探测和被动式监测两种监测类型。主动式探测使用的是部署到各地的分布式主动拨测引擎,类似于LoadRunner,可根据需要和预先录制的脚本对特定的应用进行主动的拨测访问,在访问的过程中来采集各种性能数据,包括网络层面的数据和用户体验层面的数据。其优点是自由度和可控性比较高,可以得到详细的网络层面的性能数据和用户体验数据,可以提供竞品对比、服务选型以及真实环境下的压力测试等服务;缺点是存在样本偏差,但是通过数据处理,这个误差还是可以控制的。被动式监测则是从应用本身用户的访问中来采集数据的,我们称之为真实用户体验监测(RUM: Real User Monitoring)。被动式监测需要将探针部署到最终真实用户访问应用的环境中。目前针对纯Web App通常使用的是JS探针的方式,在页面中加入性能探测脚本,利用诸如Navigation Timing的标准浏览器性能API接口来采集应用的性能数据。而针对移动设备上的Native App一般采用的是在应用代码内打点的方式来采集性能数据的,目前比较流行的方式是利用字节码注入或类似的技术自动将监控代码加到用户的代码中,而不需要用户自己手动去改动代码进行打点。被动式监测的优点在于可以做到全样本的采集,不存在样本偏差,并且能够做到深入到代码的应用性能问题定位。再来看看另外一端的技术。在服务器上采集性能数据就没有主动和被动的说法的,都是被动方式的,也就是利用最终真实用户对服务端应用的访问来采集性能数据。目前的比较流行的技术实现主要有两大类。第一类技术是利用NPM(Network Performance Monitoring网络性能管理)产品来实现的。通过旁路监听的方式从应用交换机上抓取应用的访问流量数据来分析应用的性能。此类技术的优点是非侵入式的,基本不会对应用的性能产生影响,其缺点是无法提供代码级的问题定位。第二类技术是应用探针技术,通过安装在应用服务器上的应用探针来采集应用的性能数据。这里的技术实现原理和刚才说的Native App自动嵌码的原理基本上类似,都是通过修改字节码或类似的技术在应用加载的过程中对用户的代码进行动态修改。在可能会产生性能瓶颈的函数或方法(例如JDBC访问数据库的方法,HTTP请求和响应的方法等等)上加上监控代码来采集应用乃至方法的执行时间来评估应用的性能。此类技术的优点在于可以对应用性能做非常完整的、分层次的监控和剖析,提供代码级的问题定位;缺点是采用的是侵入式的方式,可能对应用性能和稳定性产生影响,要减少或消除这种影响就需要在探针监测技术的研究和优化上有较多的成本投入。下面这个图总结了刚才介绍的几种APM技术各自的特点,大家可以对比着看一下。

提问:能否从实际的案例角度向大家介绍一下听云提供的产品服务特点?与同类型产品服务相比,听云的技术与产品优势体现在哪些方面?Wood:首先来看一下听云的完整产品线的示意图:

听云目前提供3条大的产品线,分别是:听云Network, 听云App和听云Server。这三条产品线分别从客户端到服务器端,从主动到被动,从模拟到真实实现了对应用性能管理的全面覆盖。听云Network是基于主动式模拟拨测的客户端用户性能监测产品。从技术实现上来说就是利用听云部署在全球各地的监测客户端软件主动地对各类网络应用发起模拟访问来获取性能数据。主要用来评估网络、Web App、流媒体、事务流程等各类网络相关应用的客户侧的用户体验和应用性能。例如:通过听云Network用户可以了解自己网站服务在全国各地首屏打开时间是什么样的。

听云Network除了可以对自身的应用服务进行监测之外,还可以对竞品以及第三方服务例如CDN,云服务等进行监控。听云CDN就是听云Network下衍生出来的一款行业垂直型的数据分析产品,为CDN厂商和客户提供CDN选型、服务质量监控、调度切换和性能优化等专业的CDN性能数据服务。

听云App是针对Native App的真实用户性能监测产品。用户只需要修改2行代码,就可以将一个非常轻量级的探针:听云App SDK集成到自己的App内部。通过真实用户在使用App过程中产生的网络请求,方法调用等动作来采集性能数据。通过真实用户在使用App过程中产生的网络请求,方法调用等动作来采集性能数据。听云App用来帮助App的产品、开发和运维团队了解App的用户体验、应用接口性能、应用代码性能和质量(例如:崩溃率)等等,从而来优化用户体验,提高活跃和留存率。这里是一个非常典型的App在推广时发生用户流失的案例:

用户如果只看移动数据分析平台的数据,都不知道用户为什么流失。而从听云App的监测数据来看就非常清楚了,两个接口(特别是第一个用户注册接口)的性能恶化直接导致了大量的用户流失。除了服务器端的接口响应慢之外,听云App还可以监控App本地代码质量导致的崩溃或者卡顿等现象。例如下面这个慢交互追踪,展示的是应用交互出现卡顿时设备上非常详细的信息,包括硬件资源信息、网络请求和线程中代码的执行效率。

这是目前听云在客户端侧的两个产品的介绍。再来看看服务器端的。听云Server目前提供Java, .NET, PHP, Node.js和Python(内测阶段)应用探针。无需任何代码的改动即可部署。除了监控应用的访问量、响应性能和异常错误之外,还可以监控应用所访问的其他后端服务(例如SQL数据库、NoSQL以及远程调用)的性能。将应用性能分解到多种服务层面,并实现详细到代码级别的的性能问题定位。听云Sever对用户最大的帮助在于当发生应用性能瓶颈的时候可以快速准确地定位问题。下面这个案例展示了一次慢的应用访问的性能问题定位过程,首先我们可以看到完整的一次请求的代码执行过程,看看在什么代码段执行效率比较差:

然后可以向下钻取到详细到代码行的代码调用堆栈:

这里可以看到出现性能问题的代码段和行数。同时还还可以显示当时调用的SQL语句及其执行的次数和耗时:

例如这个SQL语句被调用了12次,耗时55.771秒,从这个案例里可以看到,通过简单的钻取,在1-2分钟之内,就把以前需要耗费几个小时、需要DBA、研发、运维等多个角色去查询的定位的问题快速定位了。这是目前听云3大产品的介绍,与国内甚至国外同类型的产品和服务对比的话,听云的技术和产品具有如下的优势:听云的产品线最为全面,覆盖了从客户端到服务端、从主动到被动,从模拟到真实用户,提供全方位的APM产品和服务。听云拥有完全自主知识产权的技术和产品,听云所有产品线的监测技术都是听云团队自主研发并实现的,并且拥有多项APM相关的知识产权。从应用性能监测技术上来说,听云团队目前拥有相当专业、高效的研发团队,并且在8年专注的应用性能管理产品研发过程中,我们的团队积累了大量的相关产品研发经验,并成为了国内性能管理领域标准的制定者。例如,由听云团队在2007年首次提出并完成技术实现的“首屏时间”于2012年的时候被工信部采纳,成为宽带速率测试标准中一项重要的指标(YDB 118-2012)。所有这些技术上的优势,都是其他的国内厂商所不具备的。团队在长期服务国内各大互联网公司客户的过程中积累了多年丰富的服务经验,拥有国内顶尖的应用性能管理服务和咨询团队。是最了解国内互联网特别是移动互联网用户的需求的服务团队。提问:介绍下APM技术对于IT及产品运营会带来哪些可见的价值?Wood:刚才案例里也提到了APM对IT运营特别是应用运维工作的价值主要体现在可以对应用的各种性能问题、瓶颈和异常做到快速准确定位,减少系统故障时间,提高应用的可用性和性能表现。原来可能需要几个小时到几天才能定位的性能问题,使用APM后只需要几分钟就可以准确定位了。由于APM是以最终用户的角度的评估用户体验和应用表现的,因此对产品的运营来说,可以非常真实地了解最终用户的真实用户体验是什么样的。在用户反馈和抱怨之前就可迅速发现并对性能问题进行优化,加速产品的优化迭代。改善产品的用户满意度,提高用户活跃度和留存率,最终提高业务的转化率和收入。举一个比较通俗的例子:现在很多电商都会做促销活动,虽然推广费用花出去,用户也来了,但是在促销的时候由于没有对应用的性能进行合理的监控和管理,大量的用户无法正常下单或支付。最终导致用户的大量流失和收入的剧减。而APM就可以在这种场景下提供非常好的保障。包括促销前的线上压力测试,促销时候的实时监控、快速问题定位和优化调整。都可以为推广转化率的最大化提供有效的保障。提问:对于企业来说呢,隐私、数据安全是至关重要的,因为服务往往需要部署在用户的应用中,这方面听云是怎么保障安全并打消用户顾虑的呢?Wood:听云目前通过SaaS和私有化部署两种方式在提供APM服务,这个行业将来总体的趋势还是往越来越多的SaaS服务方向发展。因此,如何在SaaS的APM服务中保障用户的隐私和数据安全确实是至关重要的。目前听云从以下四个方面来提供数据隐私和安全性的保障:首先我们从法律上进行数据安全和隐私的保护,在我们的服务合同中会向客户承诺,除非得到用户的允许,所有用户帐号下的数据都不允许透露给任何第三方的个人和组织机构。其次,我们运行用户对采集的数据进行保护和混淆,例如我们为App开发者提供API接口,对想隐藏真实日活/月活用户数的App进行不透明的采样。在听云Server上,探针可以对采集到的服务器端的 SQL语句,用户提交的表单参数进行数据混淆,这种混淆是无法还原的,保证了一些敏感的用户数据(例如:用户名,密码等)不会被采集和提交。我们的探针还有一个安全审计模式,当运行在该模式下的时候,所有探针采集和提交的数据都会被记录到本地的安全审计日志中。用户的安全审计人员可以对采集的数据进行安全审计,来决定是否有不能对外提交的数据,然后通过设置混淆的方式将这些数据过滤或者混淆掉。第三,我们使用加密的传输协议来保证采集的数据在互联网上传输的安全,使用强证书的校验来防止中间人攻击,防止数据在传输的过程中被截取和窃听。最后,在Saas平台上,我们与云服务提供商以及安全厂商一起合作,在网站平台安全上,在数据加密和存储上做了很多的工作,来保证用户数据的安全。实际上,从目前整个行业发展以及我们服务于广大互联网客户的过程中来看,目前客户对SaaS形态的APM服务接受度还是非常高的。提问:结合现今行业趋势,请谈谈下一步听云的产品研发方向以及重点发力点会在哪些方面呢?Wood:从目前整个互联网行业的发展的趋势来看主要是应用的移动化和云服务的普及。因此听云的APM产品也会着重在这两个方向进行研发。在移动应用的支持方面目前听云App已经做到非常不错,同时我们会加大混合应用性能监测的研发投入。在云服务方面,目前听云是国内APM厂商中与云服务厂商合作最广最深的。我们还在继续加大同各家云服务商的更深层次合作,既以第三方的中立身份提供云服务的性能评测,又为云厂商的客户提供应用性能管理的增值服务。提问:您怎么看目前IT及APM领域的发展?Wood: 这个问题需要借用一下Gartner的数据,听云刚刚受邀参加Gartner全球IT&O技术峰会,获得了关于全球APM最新的发展趋势,在这里可以分享给大家:从前两年的发展以及对未来的预测来看,在企业IT与运维投入上,APM技术,以及可用性与性能投入,都是非常重要的组成部分,且增长很快,年增长率超过15%。而中小企业的应用性能监控需求促使基于SaaS交付模式的APM产品更加流行和繁荣。据统计,在那些营业额超过20亿美元的传统大企业中,有70%都在一定程度上使用APM。提问:关于APM领域,国内国外的发展情况对比是怎样的呢?Wood:APM在全球处在觉醒期,在这个时期理论研究已经基本成熟。但是技术在产业上的应用还尚未成熟,在走向成熟过程中,还要5年以上。而大家熟悉的比如DevOps,在更早的市场认知阶段。与国外对比,去年来看,在中国市场可能还会延迟一点。但今年开始,随着互联网特别是移动互联网进程的大跨步迈进,越来越多的企业会先把自己的营销体系搬到互联网上,以保障、提升用户体验为中心的性能管理得到越来越多的重视。再加上双模式运维转型(传统运维模式+以业务为导向敏捷模式运维) APM反而在中国市场得到了更大的关注与爆发。提问:对比其他IT互联网公司的职场氛围,请介绍一下听云的技术团队是什么样的氛围?Wood:听云的研发团队的工作氛围还是相对比较宽松的。不需要打卡考勤,工作时间也相对比较自由,家里有事也可以随时请假,毕竟家庭是最重要的。不过有紧急任务的时候,也可能需要加加班。团队的组织架构和管理都相对比较扁平化,没有那么多上下级的关系,沟通上也是,非常开放。公司隔天提供的下午水果和平时的各种点心还是让小伙伴们很滋润的,好多人来了以后都体重渐长啊,所以现在正逼着大家做运动呢,每周篮球足球各一场:)提问:从工程师到CTO,这一路您也有很多积累和感悟,直到现在也会在招人过程中接触各种各样的职场新人,哪些特点是您比较看重的呢?Wood:我们对技术人员最看中的特质是学习习惯和学习能力。技术上是否有经验真的不是太重要,我们现在在做的很多事情自己都没有任何的经验。而是否有好的学习习惯,有足够的学习热情和较强的学习能力将决定技术人员在未来的工作中能否迅速和持续提升自己的技术能力,满足公司业务发展的需要。另外就是换位思考的能力。我们希望研发人员可以更多站在产品角度和产品用户角度来发现和思考问题。提问:对于还未有太多职场经验的技术人,该如何快速成长,您有什么好的建议呢?Wood:首先还是学习吧,学习的能力可能会因人而异。但是制定合理的学习计划,养成良好的学习习惯,保持持续的学习热情对技术人员的学习能力和技术能力的持续提高绝对是有帮助的。其次就是提高自己的主动性。互动环节:如果想用听云的服务,都有什么样的合作或者付费方式呢?Wood:目前听云提供三种Saas服务套餐。免费,小微和企业版本。用户可以根据自己的需要选择合适的服务。您可以从这里了解。对个人开发者,一般会提供免费的基础版本。互动环节:浏览器是如何获取到移动设备运营商数据和首屏性能资源监控的呢?Wood:移动设备上浏览器一般是通过Native代码部分的接口来获取移动网络的运营商数据,还有可以通过外部的IP地址,从IP地址数据库得到。目前首屏性能只有PC平台的浏览器可以提供,对手机设备上目前还没有非常好的首屏时间探测技术,一般用First Paint(首次渲染)时间来代替。互动环节:如何看待未来性能测试工程师这个职业?会削弱or消失吗?Wood:不会,应该说随着移动互联网的发展,大量高并发,大数据的业务的普及,性能测试工程师的需求会越来越高,我现在也非常缺好的性能测试工程师。互动环节:您现在是CTO,平时您个人在工作时间上分配和安排是怎样的?还会深入一线技术工作么?Wood:目前我除了技术上的工作,更主要的是负责产品工作,管理和技术、产品的时间分配大概是60%,40%吧。还是会做很多一线的技术研究的。互动环节:目前重心都在APM上原先基调检测那套会没有了吗,很多年没见更新了。Wood:目前基调的老产品已经更名为听云Network,这个产品还是一直在更新维护的,作为APM产品中不可缺少的一部分,这个产品很快会与我们的其他几个产品进行融合和打通,同时继续为原有的 Network客户提供服务。想与业界大咖零距离沟通,欢迎加入C粉之家微信群,参与CTO讲堂!【CTO讲堂第六期预告】分享主题:美国互联网公司A/B测试经验分享及企业技术选型探讨演讲嘉宾:吆喝科技CEO 王晔嘉宾简介:王晔,北京吆喝科技有限公司CEO,清华和耶鲁校友,曾在Google美国总部负责广告产品的创新和研发,对A/B测试系统、大规模复杂系统、数据挖掘和分析、互联网基础架构有深入研究,曾发表过多篇计算机科学论文,拥有多项国际专利。公司简介:吆喝科技是致力于发掘移动产品真正潜力的创业公司,核心团队来自 Google 等世界500强公司,已获得国际顶尖投资机构融资。AppAdhoc 是吆喝科技独立开发的一套以 A/B 测试为基础的数据优化平台。“顶级的 PM 也只能跑赢一半的 A/B 测试”,我们希望通过引入 Google 全数据驱动产品优化的理念,用数据帮助开发者做产品决策,避免无数据决策的产品风险,提升产品潜力。同时 AppAdhoc 优化平台也可以帮助开发者用数据优化移动广告,让流量的变现价值更大。分享时间地点:6月26日下午16:00,CTO讲堂微信群加入方式:扫描二维码加“C粉儿小助手”好友,申请入群。还不是CTO俱乐部成员的各公司技术负责人,欢迎立即加入俱乐部:cto.csdn.net。更多俱乐部动态,欢迎扫码关注微信号:

本文为CSDN原创文章,未经允许不得转载,如需转载请联系market#csdn.net(#换成@)

旗袍美女

名言大全

美女旗袍图片

美女写真