re:Invent 2023 | 使用 Amazon CloudFront 改进 Web 应用程序交付

关键字: [Amazon Web Services re:Invent 2023, CloudFront, Content Delivery Network, Edge Locations, Dynamic Content, Edge Functions, Application Security]

本文字数: 2600, 阅读完需: 13 分钟

视频

如视频不能正常播放,请前往bilibili观看本视频。>> https://www.bilibili.com/video/BV1sG411q71A

导读

随着互联网的不断发展,跟上最新的网络交付功能对于改善最终用户体验和推动产品采用至关重要。在本论坛中,了解 Amazon CloudFront 专家关于 Web 交付进展和当前趋势的见解。了解如何使用最新的 CloudFront 功能、协议和架构改进,改进 Web 应用程序。此外,亚马逊云科技客户还分享了他们如何使用最新的 CloudFront 计算功能,转变和发展其汽车金融服务业务。

演讲精华

以下是小编为您整理的本次演讲的精华,共2300字,阅读时间大约是12分钟。如果您想进一步了解演讲内容或者观看演讲全文,请观看演讲完整视频或者下面的演讲原文。

在今年,亚马逊云科技的内容分发网络服务CloudFront迎来了其具有纪念意义的15周年。在过去的十五年里,CloudFront经历了显著的变化,致力于帮助客户加速并在公共互联网上传输网页内容并提供保护。自2008年首次推出以来,CloudFront在全球范围内仅有14个边缘位置。然而,为了满足迅速扩张的客户群体的需求,该服务的规模已经得到了大幅增长。如今,CloudFront在全球50个国家的100多个城市和都市圈部署了超过600个边缘位置。这个庞大的网络现在还包括13个区域边缘缓存,它们在整个架构中作为中级缓存使用。

为了将所有这些边缘位置和亚马逊云科技区域相互连接,CloudFront依赖于亚马逊云科技的全球网络。这是一张由亚马逊云科技完全拥有和管理的专业网络,用于优化全球范围内的流量路由性能和可靠性。CloudFront网络的巨大增长直接与通过该服务运行关键业务应用的客户数量的大幅增长相关。如今,CloudFront已经成为来自不同行业的领先公司的服务提供商,从媒体巨头如Netflix到游戏领导者如Epic,从金融服务如Capital One到零售巨头如Amazon。虽然这只是一个小小的样本,但它包括了一些家喻户晓的品牌,强调了CloudFront的主流采用。最终,正是来自所有CloudFront客户的直接反馈推动了其功能和能力的持续演变。

从根本上说,任何内容分发网络的核心能力都是缓存。随着时间的推移,支持在边缘缓存内容的理由仍然存在。然而,通过CloudFront传递的实际内容已经发生了很大的变化。起初,许多客户主要使用CloudFront将大量的静态网站内容分发给他们的最终用户。但现在,交互式的网络体验、动态内容和个性化内容已经成为常态。为此,CloudFront已经适应了不断变化的访问模式、大量可缓存内容和围绕缓存交付的性能预期。

When CloudFront was first introduced in 2008 with only 14 edge nodes, it helped expand its coverage and improve capacity. However, the team soon realized that relying on the available cache capacity of each individual edge node could not maintain strong caching performance as the customer base continued to grow. In order to truly enhance customer cache efficiency, CloudFront began deploying regional edge caching in 2016. These regional edge caches are actually "super POPs," with their cache capacity exceeding that of standard edge locations by more than 10 times.

Regional edge caching allowed CloudFront to reduce any edge-level cache misses to nearby regional caches, nearly twice as fast. This immediately increased customer cache hit rate by 30% while also reducing source load for customers by up to 50% due to an exponential increase in requests that could be provided directly from cache. Today, CloudFront operates over 600 standard edge locations globally, supplemented by a few dozen strategic regional edge caches spread across the globe.

In 2020, CloudFront further developed this caching architecture through the introduction of a feature called Origin Shield. Origin Shield allows customers to designate one of their regional edge caches as a third-level cache. Whenever a cache miss occurs at the regional level, Origin Shield absorbs and processes the request with a 50% reduction in latency. This has value in several scenarios. For media customers like Netflix, with a vast library of videos and over 1 million assets, Origin Shield can increase the cache hit rate by 20%. For retail customers like Amazon, which run sensitive or capacity-limited sources, Origin Shield can provide up to 80% higher unloading and elasticity.

When developing a caching strategy, numerous factors need to be considered. Firstly, assessing the popularity of content has a direct impact on cache hit rates. CloudFront relies on its hierarchical caching architecture to increase the probability of caching less popular content by up to three times. However, there are other opportunities to cache content at other points, from client to source server. Another key consideration is maximizing cache efficiency to optimize application performance. HTTP standards include commands like expiration time, which allow for some flexibility when providing content from cache. Depending on the workload, this can lead to optimization, such as providing expired cache content while simultaneously acquiring updated versions from the source.

总的来说,缓存策略综合考虑了诸如内容流行度、过期规则和应用需求等多种因素。为了找到特定工作负载的最佳平衡点,需要进行全面的分析和测试。然而,CloudFront提供了实现和调整这种策略所需的功能。

在2012年,CloudFront引入了一种名为动态内容加速的功能,旨在优化无法缓存内容的传输。通过与全球分布的网络而非直接从原始服务器提供动态内容,即使需要额外的网络跳接,也能带来可衡量的性能提升。CloudFront利用多种优化技术来加速此路由过程。首先,它建立客户和原始服务器之间的TLS连接时,所需的距离减少了80%,从而显著降低了长距离设置TLS和TCP会话的延迟。

CloudFront还会保持从边缘位置到客户原始服务器的持久连接,这些连接可以在多个客户端和请求之间重用,从而提高吞吐量并减少启动时间(减少30%)。此外,该团队还会动态调整连接以实现更高的吞吐量和更快的响应速度。对于托管在Amazon Web Services上的原始服务器,CloudFront利用Amazon Web Services的全球网络将边缘直接连接到区域。通过积极的容量规划和实时监控,Amazon Web Services的全球网络通过公共互联网路线中经常遇到的包丢失和变化的路由条件,提供了稳定的高性能。

为了量化这些影响,测试结果表明,与公共互联网路线相比,使用Amazon Web Services的全球网络可以减少30%的网络延迟,降低2倍的抖动。这些优化使得CloudFront能够加速动态内容的传输,尽管需要额外的网络跳接,但仍能实现动态工作负载的性能提高高达3倍。

除了优化连接外,采用最新的协议还可以进一步提高性能。HTTP、TCP和其他网络协议不断演变,变得越来越高效和安全。CloudFront允许客户轻松部署和测试这些新协议,以确定最佳选择。

例如,当CloudFront将TLS 1.2升级至1.3时,TLS会话建立的延迟立刻减少了20%。启用会话恢复功能会将连接建立时间提高50%。尽管如HTTP/3等新协议需要投入资源才能实现,但CloudFront已顺利完成工作。客户可在无需修改代码的情况下,透明地享受这些优化带来的高速提升,最高可达30%。对不同协议版本和选项的测试至关重要,因为各种应用程序的需求各有不同。

从这些趋势中可以看出,自适应网页传输的需求正在迅速增长。客户端环境越来越多样化,新的设备、浏览器版本和网络条件层出不穷。应用所有者希望检测这些变化并根据实际情况调整响应,以提供最佳的用户体验。这需要具有细致配置选项、边缘计算能力和开发者友好的可编程性的支持。

CloudFront提供了一系列内置的服务来满足这些需求。然而,该服务还支持在需要时集成自定义的边缘逻辑。2017年,CloudFront推出了Lambda@Edge,允许在全球范围内的CloudFront边缘位置执行Lambda函数。这为从边缘调用第三方服务、执行快速定制和运行A/B测试等复杂应用场景提供了可能。

Lambda@Edge函数在全球600多个位置进行复制,因此它们能大规模且低延迟地运行。虽然Lambda@Edge适用于复杂的应用逻辑,但CloudFront最近引入了CloudFront Functions。这些函数提供了一个轻量级的JavaScript运行时,专为高吞吐量、低延迟的使用场景优化,能够处理每秒数百万的请求。CloudFront Functions简化了处理头、路由请求以及用亚毫秒的执行速度转换数据等任务。

上周,CloudFront推出了一项名为Key Value Store的全新功能,这是一种低延迟的数据存储服务,允许CloudFront函数在边缘实时访问。这一功能的引入标志着CloudFront的一个重大进步。通过将函数代码与配置和应用数据分开,Key Value Store使得在网络中快速更新特性标志等使用场景变为可能。开发者现在可以通过简单的API调用而非重新部署函数代码来更新Key Value Store,从而避免了超过代码大小限制的问题。

总之,CloudFront通过原生功能、Lambda@Edge、CloudFront函数以及现在的Key Value Store,为用户提供自适应的Web体验。随着越来越多的应用开始利用边缘计算,CloudFront提供了现代CDN所需的编程能力和灵活性。

为了展示这些功能在实际应用中的效果,我们将重点关注一个客户案例。Capital One这家主要银行使用了CloudFront和Lambda@Edge对其Auto Navigator网站进行了复杂的A/B测试。在采用Lambda@Edge函数在cookie中生成并存储一致的哈希值之前,该团队依赖传统的架构将所有变体捆绑在一起,这影响了性能和测试准确性。这种方法使得页面加载速度提高了3倍,有机流量增加了4倍,同时站点使用时间跃升了600%,显示出更高的用户参与度。通过灵活的边缘计算原语,Capital One解锁了早期遗留架构无法实现的功能。他们正在探索Key Value Store新功能如何通过快速的控制平面更新支持额外的实验。

随着更多应用逻辑转移到网络边缘,安全性成为了一个日益重要的关注点。亚马逊云科技采取了全面的安全方法,涵盖了基础设施、数据保护和访问控制等多个方面。作为许多工作负载进入亚马逊云科技源头的门户,CloudFront在这个安全生态系统中扮演着关键角色。

当客户试图保护其HTTP应用程序时,亚马逊云科技推荐使用CloudFront来守护这些端点。在网络和传输层,CloudFront边缘为DDoS保护提供亚马逊云科技 Shield等服务。CloudFront会分析进入网络的每个数据包,在恶意流量到达客户之前将其丢弃。这种内联缓解措施可以预防体积攻击,提供比反应性方法更好的安全性。

在应用层,CloudFront与亚马逊云科技 WAF紧密集成以提供第七层保护。WAF具有机器人缓解、自定义规则集以及由亚马逊云科技和合作伙伴维护的受管理规则集等功能。这些应用防火墙功能直接内置于CloudFront控制台、策略和API中,简化操作。CloudFront还默认处理TLS终止和加密,集成亚马逊证书管理员提供免费SSL证书。

在访问控制方面,客户可以限制CloudFront访问特定IP范围,或在允许请求之前对用户进行身份验证。在所有这些功能之上,CloudFront的规模为全球流量和攻击趋势提供了宝贵的可见性。团队全天候监控服务的异常和漏洞。例如,CloudFront工程师在HTTP/2漏洞成为零日漏洞之前的几个月就发现了它,并在客户受影响之前主动实施了修复。

虽然核心安全原则保持不变,但新的技术和威胁不断出现。CloudFront也与之同步发展,扩大受管理规则集、欺诈检测能力和自适应威胁响应范围。客户只需在控制台点击几次即可选择启用这些保护。对于像Capital One这样治理要求严格的组织,CloudFront还可以实现完全自定义的WAF配置。目标是同时为应用程序所有者和集中安全团队提供定制安全工具。

展望未来,CloudFront团队正在积极创新,以扩大全球网络容量并提高性能。最近关注开发一种称为嵌入式POPs的新POP架构。这些定制硬件设备旨在部署于ISP网络内,将CloudFront功能深入最后一英里。

嵌入式POPs技术助力CloudFront应对高峰流量需求,例如视频流或软件下载。这些流量激增可能达到平均量的12倍,导致互联网对接点出现瓶颈。通过在ISP基础设施内提供服务,嵌入式POP有效绕过了这些交换瓶颈。将最多95%的流量卸载也有助于提高ISP的服务质量。尽管具有定制特性,但嵌入式POP仍符合亚马逊云科技的安全、监控和冗余标准。这种新型POP架构可以显著扩大CloudFront的容量,同时减少对额外边缘位置的依赖。

除了优化物理网络外,CloudFront还在改进其软件架构。团队正在开发一款专为CloudFront的CDN使用场景设计的高性能Web服务器。这款现代服务器解决了现有开源选项在添加新功能(如HTTP/3和QUIC)方面的局限。经过针对边缘计算工作负载的优化,它将在大规模全球范围内高效扩展。新Web服务器的引入已成功将某些请求的延迟降低至原来的100ms。

回顾过去,自15年前推出以来,CloudFront已经取得了显著的进步。如今,该服务提供了一套完整的功能组合,包括强大的缓存、动态内容加速、边缘计算、安全保护和持续创新。这些功能使得CloudFront能够为全球范围内的客户(从Capital One到Netflix再到Amazon)提供快速、安全的web体验作为理想的前端。虽然服务范围已经扩大,但CloudFront依然专注于优化web应用程序交付以驱动客户价值。他们的生产流量和反馈,作为互联网活动的重要组成部分,引导着服务的持续发展。在庆祝15周年之际,CloudFront正坚定地展望未来,团队将继续努力推动边缘计算的极限。

下面是一些演讲现场的精彩瞬间:

Amazon Web Services (亚马逊云科技) 的 CloudFront 是一款由亚马逊云科技提供的内容分发网络服务,旨在加速并在网络上保护传播的网页内容。

近期,他们推出了一项名为 Edge Functions 的新功能,允许在边缘端直接执行轻量级的 JavaScript 函数,以满足高流量、低延迟的使用需求。

通过这项新功能,开发者可以编写出更高效且易于维护的 JavaScript 代码,同时还能利用常见的 JavaScript 模型来进行异步操作。

例如,IMDb 便利用 Edge Functions 优化跨域资源共享(CORS)预飞行请求,成功将响应时间缩短了200 毫秒。

客户反馈表示,他们之前一直依赖内部解决方案、上下文强盗以及第三方工具进行 A/B 测试,但由于需要通过多种服务路由,导致这些方案的延迟较高。

如今,他们已经转向使用 亚马逊云科技 的无服务器架构来降低延迟并通过变异捆绑代码。

为实现此目标,团队使用了 Amazon Lambda 函数来为 A/B 测试生成一致且无偏的流量分配。

总结

CloudFront作为亚马逊云科技(Amazon Web Services)的内容分发网络,自15年前成立以来取得了显著的增长。起初仅拥有14个位置,如今已在全球部署了超过600个边缘节点。通过采用分层缓存策略,将缓存丢失降低至区域边缘缓存和源站保护,从而改善了性能。支持新兴协议如HTTP/3和QUIC,以降低延迟;同时,动态内容加速技术甚至能够提高无法缓存内容的性能。CloudFront功能将应用逻辑扩展到边缘,实现复杂用例,如机器人检测和动态渲染。该服务还具备内置的DDoS防护能力、与WAF的紧密集成以实现第7层保护,以及主动监控以识别漏洞,从而提高了安全性。通过在ISP网络中嵌入新的POP点,可以增加容量并减少延迟,使得内容更接近最终用户。针对CDN工作负载优化的自定义Web服务器软件和重新设计的架构等持续创新,确保了CloudFront将继续发展以满足客户需求。

演讲原文

https://blog.csdn.net/just2gooo/article/details/134785249

想了解更多精彩完整内容吗?立即访问re:Invent 官网中文网站!

2023亚马逊云科技re:Invent全球大会 - 官方网站

点击此处,一键获取亚马逊云科技全球最新产品/服务资讯!

点击此处,一键获取亚马逊云科技中国区最新产品/服务资讯!

即刻注册亚马逊云科技账户,开启云端之旅!

【免费】亚马逊云科技“100 余种核心云服务产品免费试用”

【免费】亚马逊云科技中国区“40 余种核心云服务产品免费试用”

亚马逊云科技是谁?

亚马逊云科技(Amazon Web Services)是全球云计算的开创者和引领者,自 2006 年以来一直以不断创新、技术领先、服务丰富、应用广泛而享誉业界。亚马逊云科技可以支持几乎云上任意工作负载。亚马逊云科技目前提供超过 200 项全功能的服务,涵盖计算、存储、网络、数据库、数据分析、机器人、机器学习与人工智能、物联网、移动、安全、混合云、虚拟现实与增强现实、媒体,以及应用开发、部署与管理等方面;基础设施遍及 31 个地理区域的 99 个可用区,并计划新建 4 个区域和 12 个可用区。全球数百万客户,从初创公司、中小企业,到大型企业和政府机构都信赖亚马逊云科技,通过亚马逊云科技的服务强化其基础设施,提高敏捷性,降低成本,加快创新,提升竞争力,实现业务成长和成功。

  • 24
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

李白的朋友高适

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值