作者:徐葛
大家好,我是阿里云云原生 ARMS 产品经理徐葛,今天给大家带来可观测系列课程的第三节课 -《业务&数字化体验管理场景解读》。本文主要分为三部分,第一部分是数字化体验的必要性,从数字化体验管理对业务的影响和数字化体验管理对企业的价值两个方面来介绍其必要性;第二部分,ARMS 在数字化体验管理上的产品能力介绍;第三部分,结合客户案例进行最佳实践分享。
数字化体验管理的必要性
为什么我们需要数字化体验管理呢?国外调研报告显示,70% 用户反馈网页打开速度会直接影响用户在线上网站进行购物的意愿。亚马逊也发现网站加载速度每增加 100 毫秒,整体销售额将减少 1%。 总的来看,用户体验将会直接影响到业务表现。那么数字化体验对于企业来说,会带来哪些价值?我们认为数字化体验的价值体现在三个方面:
第一个就是量化,相信大家都可能听过一句话 --「如果说你不能够量化它,你也没办法优化它」因此,把主观的用户体验量化成具体指标,同时提供可视化的分析能力,来帮助企业了解整体用户终端的体验水平与存在的问题。同时除了能够量化我们自身产品的用户体验指标,我们也可以获得所在行业的基准指标,甚至是竞品体验指标。有了量化数据,我们可以通过数字化体验工具实现对数据的洞察与利用。比如说,对可用性和页面性能的问题定位,对问题影响面的定界,去分析这个问题到底是地域问题、运营商问题,还是说设备问题造成的。最后,有了这些洞察结论以后,ARMS 用户体验交互工具也会对体验问题提供优化建议,帮助我们去针对性的修复问题。更快的发现问题,减少业务影响,同时降低整体故障修复时间。
由于数字化体验对企业来说是如此重要, ARMS 在数字化体验场景提供了比较全方位的工具,针对数字化体验一般有两种方式,一种叫合成观测,我们比较熟知的概念叫拨测。另外一种叫真实流量观测。针对于合成 ARMS 这边提供了云拨测产品,针对于真实流量,ARMS 这边提供了前端性能分析与 APP 性能分析两款产品。
简单来说,云拨测就是通过预先建设好的不同地区、不同运营商、不同设备和不同类型的检测点,对目标网址进行主动式模拟访问,获知可用性以及性能相关指标。同时,得益于云拨测的黑盒模式,还可以对竞品的体验指标进行采集和分析。在真实流量观测方面,ARMS 分为针对于 web 的前端性能分析和针对于 APP 的性能分析。针对 web 前端观测,ARMS 支持对网站、H5、小程序进行管理,第一是提供运营相关的分析能力,包括 PV/UV 等数据以及页面性能相关的分析,另外还可以针对于 API 请求结合 ARMS 应用性能分析提供端到端的链路关联分析能力。在移动端上,APP 性能分析可针对于 iOS 应用和 Android 应用实现崩溃分析、性能分析、远程日志拉取,以及不同设备、不同运营商、不同网络的多维分析能力。
那么这两者有什么区别,它们分别适合于哪些场景呢?这里简单总结一下:
首先,从流量角度来看,云拨测其实不是真实流量,它是模拟访问流量。前端性能分析和 APP 性能分析基于真实流量进行性能分析,所以,从这里可以看出云拨测不需要流量,也能实现对网站或 API 接口进行性能管理。前端性能分析与 APP 性能分析,需要有真实流量才能够实现数字化体验管理。
其次,从形式上看,云拨测是主动手段,它会主动对网站或者是 APP 的提供商进行访问,更快、更早的发现体验或其他相关问题,能够在用户之前去解决和修复这些问题。前端性能分析与 APP 性能分析更多的是被动式手段,有了用户访问流量以后,才能够获知相关指标,从而实现对应分析。
最后,从数据量来看,云拨测访问频率和访问次数都是能够设定好,事先可控的,数据量相对来说较少。而前端性能分析和 APP 性能分析,因为采集的是真实流量数据,所以网站及 APP 上的交互事件都会产生对应指标、日志,这都将产生大量数据。
总结来看,云拨测更多适用于获取基准体验指标,例如某地区如果没有用户流量的话,通过云拨测对网站进行拨测,获知这个地区整体性体验指标。同时,还可以对行业竞争对手网站进行拨测,获取到行业基准体验指标。而前端性能分析和 APP 性能分析由于基于真实流量,获取的都是网站或者 APP 的真实体验指标。比如针对某新版本发布以后,验证整体体验是否达到了预期效果。另外,云拨测适合诊断及短期关注的体验问题,前端性能分析和 APP 性能分析适合长期跟踪 APP 或网站性能,并识别出潜在问题。也就是说云拨测能够帮助我们回答的是已知问题的答案,比如说这个网站到底是可不可用?但是没办法回答潜在的问题,也就是说当你还不知道问题出在哪里的时候,这种场景比较适合真实流量性能分析。
所以,在数字化体验管理场景下,两者进行结合才能够为企业提供全方位数字化体验管理。
ARMS 数字化体验管理产品能力介绍
接下来,我们针对云拨测、前端性能分析、APP 性能分析分别讲解其核心能力。 概括来说,云拨测就是通过部署在全球各地的观测点去尽量模拟真实用户,从全球各地区访问目标网站或者 APP 掌握其可用性和性能。
云拨测具备以下优势:
- 分布于全球的海量检测点,既有 IDC 机房检测点,也有网民 LasMile 检测点。
- 相对于应用性能分析,既不需要专业技能,也不需要嵌码,是一种非侵入式的手段,对网站进行拨测时,不需要研发配合,三分钟就可以完成拨测配置。
- 作为主动式手段,7×24小时和分钟级别的测试,先于用户发现问题。
- 云拨测具备多种检测模型,包括可用性分析、网页性能分析、DNS劫持分析、CDN质量性能分析。
首先介绍一下可用性性能分析。对于数字化体验管理来说,可用性性能分析是首先需要解决的体验管理问题,有了可用性以后,才能讲后面的访问性能以及错误、异常相关分析。对于云拨测来说,可以选取不同地区、不同运营商的观测点,对网站进行主动式访问,把成功的访问标记为一次有效访问,通过有效访问除以总观测次数,可以得到网站的具体可用率。对于可用性,我们也提供长期趋势分析;另外也提供下钻能力,针对于某一次拨测,具体了解这一次拨测的访问详情,来帮助我们去定位到具体造成可行性问题的关键点。
第二个场景就是性能观测。云拨测性能观测可以分为三个方面,第一是针对网页性能,包括首屏用时、100K 耗时,以及网络层的 DNS 用时、TCP 用时、下载用时、SSL 握手用时以及阻塞用时;第二是针对网络性能,网络性能主要体现在时延和 DNS 查询用时上;最后,针对文件传输,云拨测可以掌握到文件平均传输速度以及首包用时等指标,对需要文件传输的场景进行性能观测。
第三个场景就是劫持分析场景,云拨测针对于常见劫持类型,包括 DNS 劫持、流量劫持和元素劫持进行劫持分析。另外,云拨测可以针对于 DNS 和 CDN 质量进行检测,包括对 DNS 解析策略及各个主机节点的性能状况进行实时分析,并根据分析结果来对 DNS 解析策略进行调整。
云拨测还能在进行 CDN 选型时对 CDN 提供商的服务质量进行评估,辅助进行选型决策。在采购 CDN 服务以后,也可通过云拨测持续对 CDN 进行检测,获取到 CDN 解析的检测数据,来对 CDN 调度策略进行调优。
最后,由于云拨测的主动式黑盒能力,还可以实现竞品分析。针对于行业里竞争对手的网站发起主动式拨测,获知体验性相关指标,指导自身网站优化,促使我们在竞争中处于相对比较有利的位置。
接下来我们讲一下 ARMS 在真实数字化体验管理上的产品能力,主要包括前端性能分析和 APP 性能分析。前端性能分析和 APP 性能分析都是基于真实流量的访问数据,面向不同终端的数字化体验管理工具,可以从页面性能、错误和异常分析、网络请求等多角度对数字化体验进行分析,同时提供地域、设备、网络运营商等多维的分析能力。
ARMS 的真实数字化体验管理产品具备以下几个特点:
一、兼容多平台,支持 web、H5、小程序。常见平台像微信、支付宝、钉钉还有小程序都支持。同时它在 APP 上支持 iOS 和安卓等多种用户终端。
二、结合ARMS应用性能分析和链路追踪,能够实现端到端的分析,可以将一个页面的API请求与后端的调用链进行关联,实现端到端的性能分析和问题定位。
三、接入简单,无需埋点,也支持多种接入方式。
四、除了分析能力,也提供在线诊断能力,来辅助定位到问题的根因。
前端性能分析第一个要讲到的能力就是 ARMS 端对端的性能分析,我们既可以在 ARMS 前端性能分析里面通过多个维度,比如说版本、操作系统、设备、浏览器、地域和网络等多种维度对 API 性能进行分析,还可以与应用性能分析进行联动,实现端到端的调用分析,帮助用户定位到造成 API 请求错慢的具体应用和代码。
第二个能力就是前端性能分析多维分析的能力。支持从地理维度、终端维度包括浏览器、设备、操作系统、分辨率、网络等维度对性能指标进行分析。能够在一些场景下定位到具体出现问题的维度,是设备问题、地域问题,还是网络问题,为业务决策提供数据支撑。
最后,就是前端性能分析的 JS 错误分析能力。ARMS 从不同维度去统计 JS 错误数、错误率,以及这个错误对业务的影响,辅助我们进行业务决策。
针对 APP 的数字化体验管理产品,这里也简单介绍一下。
首先是 APP 稳定性相关分析,ARMS APP 性能分析,针对于稳定性问题分为三个类型。第一是崩溃分析,包括 crash 和 aboard;第二是异常分析,我们会主动去发现你的异常,包括内存泄漏,主线程 IO 的这种异常;另外,在稳定性的这方面,我们也会支持多维的分析能力,包括具体是哪个版本,哪个设备,哪个运营商,哪个地域,哪个网络,统计出不同维度的占比,能够帮助我们去确定根因和影响面。同时,支持稳定性问题的明细下钻,帮助我们定位到具体的原因。
其次是 API 的性能分析能力,可以结合 ARMS 应用性能分析实现端到端的网络性能分析。除了统计出 APP 端的网络性能以外,还可以一键关联到后端的应用调用链路,实现快速定位到造成这种慢调用的具体是哪个微服务或组件,甚至是哪行代码。
最后讲一下 APP 性能分析远程日志拉取能力。针对于这种日志,ARMS 的 APP 性能分析相对轻量,无需进行埋点或采集,或接入全文的搜索系统,只要集成 APP 的 SDK,ARMS 会按需拉取崩溃日志,还原出错现场,快速定位复杂问题。也可以指定设备、版本、系统,去新建拉取任务,主动拉取用户 APP 设备的日志。同时,也会把当时日志运行时,机器内存、CPU 这种环境拉取出来辅助进行问题定位。除了主动式拉取以外,针对崩溃场景也可以实现智能拉取,检测到这种 crash 事件后,自动创建任务,智能选取设备,预先获取到问题设备的日志,保留现场,节省问题排查时间。
数字化体验管理最佳实践
以上是 ARMS 在数字化体验管理上的产品能力介绍,最后我们结合几个客户案例分享一些最佳实践。
第一个案例是节卡机器人,节卡机器人是国内智能机器人制造服务提供商,与全球超过了 300 家自动化的航空公司紧密合作服务全球客户。节卡机器人为了更好地服务全球客户,将线上营销作为重要的市场营销手段之一,在谷歌上进行了大量海外广告投放。为了保证在线营销效果,节卡机器人首先要确保官网落地页能够正常访问。如果页面或官网出现可用性或性能问题,不但会影响转化率还可能会造成谷歌停止对他们提供服务。经过与可观测团队沟通,节卡机器人决定采用 ARMS 云拨测对海外官网进行持续性检测,选取了主要客户所在地域,包括北美、欧洲、南美洲以及东南亚等地区的网民检测点,基于浏览器的拨测任务,对官网进行持续性能检测,最后发现两个问题:
第一,部分地区 CDN 调度不太准确,主要是集中在美东和东南亚地区。CDN 调度并没有实现最优化调度方案。第二,官网存在一些体积较大的图片文件,影响网站加载速度。基于这两个判断及定位以后,节卡机器人与 CDN 供应商沟通后,全面优化美东、东南亚的 CDN 调动逻辑,同时也推动研发团队对页面图片进行压缩,整体问题修复上线以后,通过云拨测检测到网站打开速度提升了 50%,全面保证了在线营销效果。
第二个案例是 ARMS 的前端性能分析案例。核桃编程作为国内少儿编程教育行业的领导者,整体业务量发展非常快。随着业务发展,系统架构也变得越来越复杂,后端采用的是微服务分布式架构,如何提升分布式系统可观测性是当时面临的大问题。
对于在线教育行业来说,用户体验是非常重要的。因为用户体验会直接决定着品牌形象和转化率。但由于采用了微服务架构,在一个教学场景下,一个用户的简单教学可能会涉及到不同的应用与应用之间的调用,甚至还有一些第三方服务接口。所以任何环节出现故障或者线路瓶颈,都可能会影响到用户体验。核桃编程经过考察了开源方法和企业级方案后,最终决定采用 ARMS 的前端性能分析,同时结合应用性能分析来实现对教学终端的数字化体验管理。当时打动他们的第一点是前端性能分析的快速接入能力,不需要进行埋点,只需要在客户前端代码中引入一段脚本,就能够实现检测数据上报。第二是结合应用性能分析的端到端性能洞察能力,去快速地定位到问题根因。第三就是多维分析的能力,ARMS 的前端性能分析能够从地理位置、操作系统、分辨率、网络运营商等多个维度对性能进行聚合分析,具体定位到造成性能瓶颈的原因。最后就是 ARMS 的告警能力,在遇到体验问题时,能够第一时间让运维团队感知。真正实现 5 分钟内发现问题,10 分钟内隔离和 30 分钟内解决。对于核桃编程来说,ARMS 的可观测体系帮助他们减少 30% 以上的运维工作量,同时也缩短了 60% 的故障定位平均耗时,极大的提升了用户体验,为业务持续发展打下了坚实的基础。
以上是针对数字化体验管理不同产品的用户案例分享。
点击此处,前往 ARMS 官网查看更多详情!