优化最终用户的应用体验:不断变化的格局

简介

自诞生以来,在技术进步和市场力量的推动下,互联网的演进周期不断加快,应用交付流程持续改进,交互性也日益增强。企业和政府必须努力跟上用户期望的变化,并应对竞争压力。妨碍用户体验的旧技术(例如Adobe Flash、HTTP/1.x)已逐渐被淘汰,而更注重用户体验的新技术(例如HTML5)已取而代之。

本文将量化分析近期影响用户体验的一些变化。为做好2017年及以后的运营和规划工作,IT团队应了解这些变化:

  • 内容分发网络(CDN)的普及
  • 数据中心和服务提供商网络升级
  • 更快的“最后一公里”和移动接入
  • 专为提升性能而更新的HTTP协议
  • 客户端与服务器关系的演变

无处不在的CDN

为降低向用户交付内容时的延迟(许多情况下约为30 ms),CDN供应商迅速增加了其运营的接入点(PoP)数量,这些接入点大多位于人口中心附近。以下列出了一些广受欢迎的CDN,它们已在全球部署基础设施,以确保快速交付内容。1

图1:主要CDN供应商及其节点位置

随着CDN运营的PoP数量不断增加、PoP与用户的距离不断缩短,以及应用的用户群体遍布全球,网站对CDN的依赖程度也随之提高。2015年3月,互联网上11%的可用HTML内容托管在CDN上。2  到2016年,这一比例已升至17%;截至2017年3月,CDN托管的HTML内容比例达到20%。不到两年,CDN托管的HTML内容量几乎翻了一番,这一趋势大幅降低了向用户交付内容的延迟。

升级后的数据中心和服务提供商网络

部署10G/40G/100G以太网端口(以及相应的更高容量交换机和路由器)显著提升了企业网络、WAN连接和远程端点的互联网性能。未来4年,随着企业和服务提供商网络继续升级至25G和100G连接,带宽容量将提升至接近2015年的5倍。3

图2:10GE仍是主流端口

对数据中心和边缘基础设施进行升级的投资,缓解了服务提供商网络和企业数据中心成为面向客户端的应用流量瓶颈这一问题。

更快的“最后一公里”和移动接入

随着竞争加剧,全球互联网服务提供商(ISP)和移动运营商提高了“最后一公里”(电信网络中为客户提供连接的最后一段)及移动用户的下载速度。下图展示了2015年美国、亚洲和欧洲ISP的下载性能。4

美国

图3:各州平均连接速度
图4:各州平均峰值连接速度

亚洲

图5:亚太地区各国家/地区的平均连接速度
图6:亚太地区各国家/地区的平均峰值连接速度

欧洲

图7:EMEA各国家/地区的平均连接速度
图 8:欧洲、中东和非洲各国家/地区的平均峰值连接速度

在全球范围内,互联网连接的“最后一公里”速度已显著提升,当前可用的带宽有助于改善Web应用的用户体验。

专为提升性能而更新的HTTP协议(HTTP/2)

推动制定HTTP/2规范的主要原因是HTTP 1.x存在性能问题。2012年,Google开发并推广了SPDY,旨在优化Web内容交付,并尽量消除早期HTTP 1.1协议设计效率低下的问题。HTTP/2以SPDY为基础,重点减少延迟和TCP连接数量,同时保持与HTTP/1.1的兼容性。

为提升性能,HTTP/2协议包含以下变更:

  • 多路复用:支持在单个TCP连接中进行多次交互(类似于SPDY提供的功能)。
  • 标头压缩:减少重复发送相同标头(例如请求 URL、User-Agent 和 Cookie)所造成的冗余。
  • 服务器推送:服务器可根据请求的内容及其源依赖项(例如JS和CSS文件),主动将内容推送到端点。
  • 资源优先级:根据资源类型和内容,利用权重及依赖关系确定交付优先级,从而优化交付和渲染。

2015年年中,IETF批准该协议规范后,主要Web浏览器厂商公布了支持HTTP/2的时间表(见下表)。

图9:浏览器厂商对HTTP/2的支持

2016年初,端点Web浏览器开始通过HTTP/2向Web服务器发送请求。随着支持这一新规范的Web浏览器陆续发布并得到采用,此类请求不断增加。更新后的Web浏览器会先通过HTTP/2向Web服务器发送请求,并可通过协商回退到HTTP/1.x。下图详细展示了全球网站中HTTP/2交互(服务器与端点之间)的增长情况。5

图10:向Web服务器发送的HTTP/2请求增长趋势

HTTP/2规范中的增强功能使性能比基于HTTP/1.x的基础设施提升80%至1000%。要了解规范变更对实际性能的影响,请运行这项Anthum提供的简单HTTP与HTTPS测试,直观比较这两个协议版本之间的差异。

客户端与服务器关系的演变

除了这些基础设施和协议方面的改进,应用的实际构成也在发生变化。旧式应用会将所有内容“推送”到客户端,因此过去需要进行“前端”加速;而现代应用则分布在客户端和服务器这两个主要组件上,以至于与应用的交互中,有90%(无论是通过API还是浏览器)仅涉及小数据块。

首次加载后,几乎不会再传送“内容”;大部分表示层(UI)都可以通过客户端的JavaScript库(JQuery、Angular等)进行操作。这意味着响应中的数据量已大幅减少,数据类型也发生了显著变化。响应数据是前端加速技术的主要处理对象,如今主要采用JSON或XML,而非HTML。

图11:应用架构的演变及其对客户端与服务器职责的影响

由于这种架构转变,如今应用中HTML所占的比例正在下降,而其他组成类型所占的比例正在上升(见下图)。6

图12:按内容类型划分的页面组成(单位:KB)

由于开发人员从互联网而非本地引入脚本,大量JavaScript(以及HTML)通过CDN交付,因此,针对这类内容的前端加速技术对现代应用的影响有所减弱。

随着移动设备的兴起,以及早期技术(如Adobe Flash)向HTML5迁移,IT应用团队开始开发交付至浏览器的单页Web应用。用户浏览应用的不同部分时,这些单页Web应用通常无需重新加载页面,从而加快导航速度、提高网络传输效率,并改善最终用户体验。7如今,大多数Web应用在开发时都采用“单页”设计。

打造面向2017年及未来的理想终端用户应用体验

为打造并持续提供理想的最终用户体验,IT运维部门应针对其管理的Web应用采用以下技术和实践。

统一采用HTTP/2协议作为Web服务器标准。

将Web基础设施升级到HTTP/2标准,可解决HTTP/1和HTTP/1.1长期存在的服务器端性能问题。除了改进连接管理外,HTTP/2还支持Web应用设计人员设置优先级,以优化内容交付,并在端点Web浏览器中进行构建。

为Web浏览器设置最低标准,确保仅发出基于HTTP/2的请求。

推动内部人员(例如员工和承包商)或外部人员(例如客户和合作伙伴)将浏览器升级到支持HTTP/2请求的版本,可避免自动协商回退到HTTP/1.1或1.0以及由此导致的低效数据传输。

确认SaaS供应商已在所有Web应用中实施HTTP/2。

同样,避免自动协商回退到HTTP/1.1和HTTP/1.0,有助于提升性能并改善用户体验。

确保CDN供应商的PoP在地理位置上与用户和客户所在地区相匹配。

选择PoP网络在地理位置上与员工、承包商和客户所在地相匹配的CDN供应商,可降低Web浏览器与CDN PoP之间的交互延迟。

考虑在网络设备上采用缓存技术。

在应用前端部署采用板载缓存技术的网络设备,有助于提升网页所需静态内容的交付性能。

评估低成本的开源Web缓存。

如果需要缓存,可考虑使用配备SSD、成本较低且性能较高的开源Web缓存,例如Varnish。

结论

业务需求以及向移动计算和云计算的转型,给IT团队带来了日益增大的压力,要求其在交付关键应用的同时优化用户体验。目前,有三个因素正在改变用户体验Web内容的方式。CDN的容量已大幅扩展,而POP更接近核心用户群,有助于降低延迟。其次,互联网协议已经更新,可提升Web服务器与客户端之间的整体性能。第三,互联网服务器与客户端之间的关系已经发生变化,双方的事务交互不再像过去那样单向,所交付的数据也更具动态性和用户针对性。鉴于这些变化,5–7年前为优化前端应用交付和提升用户体验而制定的策略,正因市场力量和Web技术的自然演进而迅速失去价值。

企业Web应用基础设施必须顺应市场变化不断演进,否则性能和IT投资回报将会下降。IT部门的关键任务是确保承载用户体验的基础设施(例如Web服务器、负载均衡器、CDN和SaaS)升级到HTTP/2。HTTP/2旨在提升Web性能。


1 http://www.cdnplanet.com/cdns
2 http://httparchive.org
3 https://technology.ihs.com/589721/data-center-network-equipment-market-tracker-regional-q2-2017
4 https://www.stateoftheinternet.com/resources-connectivity-2015-q1-state-of-the-internet-report.html
5 https://w3techs.com/technologies/details/ce-HTTP/2/all/all
6 http://httparchive.org
7 https://techcrunch.com/2012/11/30/why-enterprise-apps-are-moving-to-single-page-design

发布于2017年8月29日