自诞生以来,互联网在技术进步和市场力量的推动下以越来越快的周期发展,改进了应用交付流程并提高了交互性。 企业和政府必须努力满足用户期望和竞争压力。 阻碍用户体验的旧技术(例如 Adobe Flash、HTTP/1.x)已被淘汰,而更注重用户体验的新技术(例如 HTML5)已取而代之。
在本文中,我们将量化一些影响用户体验的近期变化,IT 团队应该了解这些变化,以便在 2017 年及以后进行运营和规划:
CDN 供应商迅速扩大了其运营的接入点 (PoP) 的数量,大部分位于人口中心附近,以减少向用户提供内容的延迟(在许多情况下约为 30 毫秒)。 以下是最受欢迎的 CDN 列表,这些 CDN 已在世界各地建立基础设施以确保快速交付内容。1
随着 CDN 增加其运营的 PoP 数量及其与用户的距离,以及应用的用户群走向全球,网站对 CDN 的依赖也随之增加。 2015 年 3 月,互联网上 11% 的可用 HTML 内容托管在 CDN 上。2 2016 年,这一数字上升至 17%,截至 2017 年 3 月,CDN 托管的 HTML 内容比例高达 20%。 在不到两年的时间里,CDN 上托管的 HTML 内容数量几乎翻了一番,这一趋势大大降低了向用户交付内容的延迟。
10G/40G/100G 以太网端口(以及相应的更高容量交换机和路由器)的实施极大地提高了企业网络、WAN 连接和远程端点的互联网性能。 未来四年内,企业和服务提供商网络将继续升级到25G和100G连接,升级带宽容量将比2015年增加近5倍。3
对升级数据中心和边缘基础设施的投资缓解了服务提供商网络和企业数据中心成为流向客户端的应用流量瓶颈的问题。
由于竞争加剧,全球的互联网服务提供商 (ISP) 和移动运营商都提高了“最后一英里”(向客户提供连接的电信网络的最后一段)和移动用户的下载速度。 下面的图表显示了 2015 年美国、亚洲和欧洲 ISP 的下载性能。4
在全球范围内,互联网连接的“最后一英里”比以前快得多,当今可用的带宽有助于增强用户的网络应用体验。
HTTP/2 规范的开发主要受到 HTTP1.x 的性能问题推动。 2012年,Google开发并推广了SPDY ,以优化Web内容的传递,并试图消除早期HTTP 1.1协议设计的低效率。 HTTP/2 以 SPDY 为基础,主要致力于减少延迟和 TCP 连接数量,同时保持与 HTTP/1.1 的兼容性。
在性能提升目标的驱动下,HTTP/2 协议包括以下变化:
在 2015 年中期 IETF 批准该协议规范后,各大网络浏览器供应商均公布了纳入 HTTP/2 支持的时间表(见下表)。
端点 Web 浏览器向 Web 服务器发出的 HTTP/2 请求于 2016 年初开始,并随着支持新规范的 Web 浏览器的发布和采用而不断增长。 更新后的 Web 浏览器对 Web 服务器的请求首先采用 HTTP/2 进行,然后再协商回 HTTP/1.x。 在下图中,我们详细描述了全球网站的 HTTP/2 交互(服务器和端点之间)的增长情况。5
HTTP/2 规范的增强使其性能比基于 HTTP/1.x 的基础设施快 80% 到 1000%。 为了了解规范的变化如何影响实际性能,请运行这个简单的 HTTP 与。 Anthum 的 HTTPS 测试展示了两个协议版本之间的差异。
除了这些基础设施和协议的改进之外,应用的实际组成也在发生变化。 虽然“前端”加速曾经是必要的,因为旧的应用将所有内容“推送”到客户端,但现代应用程序分布在两个主要组件(客户端和服务器)上,以至于 90% 的应用交换(通过 API 或从浏览器)都涉及小块数据。
第一次加载之后只传送很少的“内容”;大多数表示层(UI)可以通过客户端上的 JavaScript 库(JQuery、Angular 等)进行操作。 这意味着响应中的数据量和类型(前端加速技术的主要目标)已大幅减少,现在主要是 JSON 或 XML,而不是 HTML。
由于这种架构上的转变,如今应用程序的 HTML 百分比正在减少,而其他组合类型的百分比正在增加(见下图)。6
由于大量 JavaScript(和 HTML)是通过 CDN 传送的(因为开发人员从互联网而不是本地包含脚本),这使得针对这些内容的前端加速技术对现代应用来说不那么重要。
随着移动设备的兴起以及从早期技术(例如 Adobe Flash)迁移到 HTML5,IT应用团队开始开发单页 Web应用以交付到浏览器。 这些单页 Web应用通常不需要在用户浏览应用的不同部分时重新加载页面。 其结果是导航速度更快、网络传输更高效、最终用户体验更好。7 如今,大多数网络应用程序都是以“一页”设计为基础开发。
为了为 IT 运营控制范围内的基于 Web 的应用创建和维护理想的最终用户体验,应该采用以下技术和实践。
基于 HTTP/2 协议的 Web 服务器标准化。
将 Web 基础设施升级到 HTTP/2 标准将解决困扰 HTTP/1 和 HTTP/1.1 的服务器端性能问题。 除了更好的连接管理之外,HTTP/2 还使 Web应用设计人员能够确定优先级,以确保优化内容交付并在端点 Web 浏览器内构建。
为网络浏览器设置最低标准,以确保只发出基于 HTTP/2 的请求。
推动内部(例如,员工和/或承包商)或外部(例如,客户和合作伙伴)将其浏览器升级到支持 HTTP/2 请求的版本将消除自动协商回到 HTTP/1.1 或 1.0 以及效率较低的数据传输。
验证 SaaS 供应商是否已在所有 Web应用中实施 HTTP/2。
再次,避免自动协商回到 HTTP/1.1 和 1.0 将有助于提高性能并改善用户体验。
确保您的 CDN 供应商的 PoP 在地理上与您的用户和客户所在的位置一致。
利用拥有与员工、承包商和客户在地理上一致的 PoP 网络的 CDN 供应商将减少 Web 浏览器和 CDN PoP 之间交互的延迟。
考虑基于网络的设备上缓存技术。
利用应用前端的板载缓存技术网络设备将有助于提高网页所需静态内容的性能。
评估低成本的开源网络缓存。
如果需要缓存,请考虑使用带有 SSD 的低成本高性能开源 Web 缓存,例如Varnish 。
业务需求以及向移动和云计算的转变给 IT 团队带来了越来越大的压力,要求他们在提供关键应用的同时优化用户体验。 目前,有三个因素改变用户体验网页内容的方式。 CDN 的容量大大扩展,并且 POP 与核心用户群的接近有助于减少延迟。 其次,互联网协议已经更新,以提高整体网络服务器到客户端的性能。 第三,互联网服务器与客户端之间的关系发生了变化,它们之间的交易不再像以前那样是单向的,传递的数据更加动态,并且针对用户。 鉴于这些变化,5-7年前为优化前端应用交付以增强用户体验而创建的策略正在因市场力量和网络技术的自然发展而迅速贬值。
企业 Web应用基础设施必须随着市场的变化而发展,否则会导致性能和 IT 投资回报率下降。 IT 部门的关键是确保提供用户体验的基础设施(例如,Web 服务器、负载均衡器、CDN 和 SaaS)升级到 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/