我们生活在一个超连接的世界,现在现在可以被推到云端。拥有位于一个地方的内容的想法,这可能是管理的角度来看,现在是多余的。如今,用户和数据是全部的。
由于这种演变,客户的期望具有上升。现在有一个增加了高质量的服务的期望,并降低了客户的耐心。在过去,人们可以耐心等待10个小时才能下载内容。但这当然不是目前的情景。如今,我们有很高的期望和高性能要求,但另一方面也有担忧。互联网是一个奇怪的地方,不可预测的非对称模式,缓冲区膨胀和其他列表与绩效相关的问题我在Network Insight上写过[免责声明:作者为Network Insight员工。]
此外,互联网正在以加速速度增长。到2020年,互联网每人每天达到1.5千兆字节。在即将到来,由物体驱动的东西(物联网)的世界也将超越这些数据数字。例如,连接的飞机每天将产生大约5岁的数据。这种螺旋体积水平需要一种新的数据管理方法,并迫使我们重新考虑我们如何交付应用程序。
为什么?因为所有这些信息都无法由单个云或内部内部位置处理。延迟始终是一个问题。例如,在虚拟现实(VR)以上超过7毫秒的任何东西会导致晕动病。当需要实时采取决策时,您无法将数据发送到云端。但是,您可以使用边缘计算和多CDN设计。
引入边缘计算和多CDN
云计算的采用速度、全视频、物联网和边缘计算让cdn和多cdn设计重新焕发生机。通常,多CDN是一种实现模式,包括一个以上的CDN供应商。流量方向是通过使用不同的指标来执行的,因此流量可以在不同的供应商之间进行负载平衡或失败。
边缘计算使动作尽可能接近源。它是实体世界与数字世界相互作用的地方。从逻辑上讲,边缘计算的去中心化方法不会取代集中化方法。它们将相互补充,因此应用程序可以根据其在网络中的位置在峰值水平运行。
例如,在IOT中,节省电池寿命至关重要。让我们假设IOT设备可以在10ms往返时间(RTT)中进行交易,而不是100ms RTT。结果,它可以使用电量减少10倍。
互联网,性能瓶颈
互联网的设计原则是,每个人都可以与每个人交谈,从而提供普遍的连接,无论是否需要。有许多设计上的改变,其中网络地址转换(NAT)是最大的。然而,从本质上讲,互联网在连接方面的作用仍然是一样的,无论在哪里。
使用这种类型的连接模型,距离是决定应用程序性能的一个重要因素。无论缓冲区大小或其他设备优化如何,地球另一端的用户都会受到影响。在实际的数据传输之前,长时间实时传输是数据包来回的过程。虽然使用了缓存和流量重定向,但迄今为止取得的成功有限。
申请交付原则
当传输控制协议(TCP)开始时,它认为它在20世纪70年代后期重新恢复。它假设所有服务都在局域网(LAN)上,没有数据包丢失。然后开始从那里向后工作。回到设计时,我们没有实时流量,例如延迟和抖动敏感的语音和视频。
理想情况下,TCP专为易用性和可靠性而设计,而不是提高性能。您实际上需要优化TCP堆栈。这就是为什么CDNS非常擅长执行此类任务。例如,如果从移动电话接收到连接,则CDN将从假设开始时,该CDN将开始具有高抖动和分组丢失。这允许它们正确匹配TCP窗口,可准确匹配网络条件。
如何放大性能,您有哪些选项?在仿古中,许多看起来降低延迟。但是,在视频流等应用程序中,延迟不会告诉您视频是否要缓冲。人们只能假设较低的延迟会导致更少的缓冲。在这种情况下,基于吞吐量的测量是一个更好的性能指标,因为会告诉您对象加载的速度有多快。
我们还必须考虑页面加载时间。在网络级别,它是第一个字节(TTFB)和ping的时间。然而,这些机制并不能告诉您太多关于用户体验的信息,因为所有内容都可以放在一个包中。使用ping不会通知您关于带宽问题。
如果网页速度较慢25%,一旦数据包丢失超过5%,您将时间测量到第4个数据包的第一个字节 - 您到达哪些学习?TTFB与因特网控制消息协议(ICMP)请求类似于堆栈的一层。如果某些事情被破坏,这是良好的,但如果没有表现不佳的问题,那就没有。
当您检查TTFB测量的历史时,您会发现它是由于缺乏真实用户监视(RUM)测量而部署的。以前,TTFB可以很好地估计加载的速度,但我们不再需要近似,因为我们可以用RUM测量它。RUM是来自最终用户的度量。一个例子就是从网页中生成的指标,该网页提供给实际用户。
总之,TTFB、ping和页面加载时间并不是复杂的测量方法。我们应该尽可能地使用朗姆时间测量。这为用户体验提供了更准确的描述。在过去的十年里,这一点变得至关重要。
现在我们生活在一个朗姆酒世界,这让我们根据对业务用户的事项构建我们的网络。所有CDN都应该瞄准朗姆酒测量。为此,他们可能需要与流量管理系统集成,以智能地衡量最终用户真正看到的内容。
需要多cdn
主要是,一个选择多CDN环境的原因是可用性和性能。没有一个CDN可能是世界各地的最快和世界各地。由于互联网的连接模型,这是不可能的。但是,组合两个甚至更多CDN提供商将增加性能。
多CDN将提供更快的性能和比单个CDN可以实现的更高的可用性。良好的设计是运行两个可用性区域。更好的设计是使用单个CDN提供商运行两个可用区域。但是,卓越的设计是在多CDN环境中运行两个可用区域的原因。
边缘应用将是新的常态
就在不久以前,从笨重的物理单片架构向敏捷的云架构过渡。但真正发生的是从物理设备到基于虚拟云的设备的过渡。也许现在我们该问问,这真的是我们想要的未来吗?
引入边缘应用中的主要问题之一是心态。说服自己或对同龄人来说是挑战,即您花费的基础设施,您所花费的所有时间和投资都不是您业务的最佳方式。
虽然云创造了一个大的嗡嗡声,但只是因为你迁移到云并不意味着您的应用程序将更快地运行。事实上,所有你真正做的都是抽象架构的物理碎片并支付别人来管理它。但是,云已为边缘应用程序对话打开了门。我们已经迈出了云的第一步,现在是时候进行第二次移动了。
基本上,当您考虑边缘应用程序时:它的简单性是一个可编程CDN。CDN是一个边缘应用而边缘应用是CDN的超集。边缘应用程序表示边缘的云计算。它是一种范例,将应用程序分发到更接近源代码的地方,以降低延迟、增加弹性和简化基础设施,在这些地方您仍然可以控制和隐私。
从体系结构的角度来看,边缘应用程序提供了比部署集中式应用程序更强的弹性。在当今这个充满高期望的世界,弹性是企业持续经营的必要条件。边缘应用程序允许您将基础设施分解为更便宜、更简单、更关注应用程序的体系结构。基础设施的扩展越少,您就可以把更多的时间集中在对您的业务真正重要的东西上——客户。
边缘架构的一个例子
Edge架构的示例在每个POP中,每个应用程序都有自己的孤立的JavaScript(JS)环境。JavaScript非常适合安全隔离和性能保证量表。javascript是一个专用孤立的实例,它在边缘处执行代码。
最有可能,每个JavaScript都有自己的虚拟机(VM)。VM执行的唯一操作是JavaScript运行时引擎,并且其运行的唯一方法是客户的代码。可以使用Google V8开源高性能JavaScript和WebasseMbly引擎。
让我们面对它,如果你继续建造更多的砰砰声,你将达到回报递减的法律。涉及移动等应用程序时,您真的在抛出弹出池时最大化以形成解决方案。所以我们需要找到另一种解决方案。
在即将到来,我们将目睹大多数应用程序将成为全球的趋势,这意味着边缘应用。当您的用户到途时,它肯定会在一个位置中放置所有应用程序很少。