将CDN提速10倍后,Fastly押注边缘计算


越来越多的数据处理工作将从集中式数据中心转移到分布式计算平台。
作者:尹亮Fastly由Artur Bergman于2011年成立,是业界领先的边缘计算公司。
Fastly从成熟的CDN市场切入,通过使用全新的技术设计和面向开放性的模式,迅速赢得业界最先进的互联网公司青睐。
Fastly2019年5月上市,一年半时间市值翻了5倍。
但如果把Fastly仅仅定义成CDN厂家的话,会丢掉一个非常大的picture。
虽然目前边缘计算还没有大规模使用,但Fastly全心投入到该领域,依靠绝对硬核技术成为顶级技术类公司,2021年将会是其边缘计算产品线推向市场的重要一年。
一、从黑盒子的CDN市场破局从历史看,CDN发生在1990年代末和2000年代初,当时Internet的使用和网站正经历爆炸性的增长。
原始的网站托管架构要求所有Web内容,包括动态文件(在请求时计算)和静态文件(创建一次且很少更改),都应从代表该网站自己的数据中心服务器提供。
但随着用户的增多和地域的分散,页面加载时间成为网站提供商关注的焦点,网站运营商开始沉迷于优化页面加载时间。
在这种背景之下,很多独立公司如雨后春笋般涌现,以利用这一机会提供内容交付服务,于是CDN行业诞生了。
主要提供商是海外的Akamai,Limelight,AWS Cloudfront,国内市场蓝汛,网宿,再到阿里云,腾讯云。
到了2010年,除了提供视频、文件、直播等的传递服务之外,CDN供应商也开始为网站提供安全性保障,特别是在DDOS保护和Web应用程序防火墙方面。
不过在此之后,CDN的技术和产品发展变慢并进入成熟商品化阶段。
供应商的产品看起来逐步趋同,网站运营商实际上只能根据POP的数量和价格来区分CDN提供商。
Fastly为什么要从成熟的CDN行业上破局?CDN服务的主要目的是缓存大量静态文件,并将其分发给距离它们最近的Internet用户。
除了确定用于上传和刷新内容的集中式Admin API之外,CDN在决定分发哪些内容方面几乎没有逻辑,也没有为网站运营商提供太多的可编程性。
创始人Artur Bergman,在成立Fastly之前是社交网站 Wikia 的CTO,他在2010年左右使用CDN的功能时感到沮丧。
他抱怨对CDN配置进行任何调整都需要技术支持,并且在进行更改时需要很长时间。
现有的解决方案缺乏可编程性,凭借强大的动手能力和技术背景,Artur认为他可以建立一个更好的解决方案,并且他做到了。
Fastly于2011年3月成立,团队研究了以下假设:在全球范围内,许多小型POP在地理位置上分散分布,从而可以为用户提供最佳的整体交付时间,比如行业巨头Akamain有21.6万个POP点,但这并不一定是优势,反而在某种程度上会成为障碍。
因为每个小POP可以缓存的内容量是有限的。
因此,需要将大量用户请求发送回原始服务器,这将使这些请求的访问时间增加10倍或更多倍。
例如,如果缓存未命中百分比增加10%,则可能会使整体平均访问时间增加50%或更多。
Fastly意识到,使用存储空间更大的POP节点,实际上将会让平均交付时间缩短。
联合创始人Simon在2016年的文章中给出了便利店与大型超市的类比:虽然便利店通常距离人们的家更近,但其出售的物品数量有限。
虽然开车去大型超市要多走几英里,但他们一口气就可以拿走所有货品。
便利店代表了拥有许多本地POP的传统CDN所采用的方法,而大型超市则代表了数量较少,较大的POP所采用的Fastly方法,Fastly的基础体系结构设计着重于使其区域POP的缓存命中率最大化,而不是启动越来越多的地理粒度POP。
Fastly选择SSD固态硬盘来存储缓存的数据。
固态硬盘比标准磁盘贵,但能提供快出150倍的检索时间,与RAM相当。
通过使POP中的数据检索加快(进一步简化超市的类比,如将您的所有货品都放在前门),此设计有助于进一步缩短Fastly的平均响应时间。
当时Fastly的每个服务器都有384GB的RAM和6TB的SSD空间(由12个500 GB的驱动器组成),每个CPU都有25 MB的L3缓存。
一个典型的POP包含32台这样的机器。
更重要的是Fastly还为其POP服务器编写了一个自定义存储引擎,以绕过文件系统并从SSD中压缩掉最后的性能下降,从而给它们填充尽可能多的数据。
他们采用各种算法将常用数据保留在384 GB的RAM中,从而使其速度更快。
对于某些资产,例如“ Like”或“ Share”按钮永远不变的,每秒被请求数百万次,它们甚至可以直接从处理器L3高速缓存中提供服务。
最后面对现有CDN的黑盒问题,传统提供商需要技术支持人员来配置更改,即便是清除内容也可能需要几个小时。
Fastly基于开源项目Varnish(一款实现高性能交付的开源Web加速器)规模化构建,Artur就是Varnish的代码积极贡献者。
Fastly对Varnish的定制扩展了基本功能,可用于Fastly的全球分销网络。
它为用户提供了有用的开放接口,例如即时清除内容,反向代理,实时性能监视和自定义缓存策略定义。
客户可以创建自己的VCL脚本,将其上传到Fastly的POP中,然后即时激活/停用它们。
这为客户提供了对其自定义缓存规则的部署的细粒度控制,把整个黑盒子打开。
Fastly的CDN模式命中率持续提升,带来10倍以上的速度提升,减少源站回源带宽成本,同时开放模式对开发者友好,服务更加灵活,Fastly累积的客户都代表了最先进、最具创新性的互联网业务。
这些大型用户平均每年花费都很高。
背后是这些公司也在经历快速的增长,从而推动支出逐年增加。
Fastly在IPO前已经历了6轮融资,共募资2.19亿美元。
1、A轮融资100万美元,投资方为Battery Ventures和OReilly Alpha Tech Ventures(OATV)。
2、B轮融资1000万美元,投资为August Capital。
3、C轮融资4000万美元,IDG Ventures领投。
4、2015年,D轮融资7500万美元,Iconiq Capital领投,Amplify Partners、August Capital、Battery Ventures、IDG Ventures和OATV参投。
5、2017年5月,E轮融资5000万美元,Sorenson Capital领投,Sapphire Ventures、Iconiq Capital、Amplify Partners、August Capital、OATV和IDG Ventures等参投。
6、2018年7月,F轮融资4000万美元,由Deutsche Telekom Capital Partners 领投,Sozo Ventures、Swisscom Ventures 及部分历史投资者参投。
二、来自边缘计算的破坏性创新CDN服务的主要目的是缓存大量静态文件,并将其分发给距离它们最近的用户。
除了确定用于上载和刷新内容的集中式后台API之外,在决定分发哪些内容方面几乎没有可编程性。
但是,随着产品周期的变化,几个驱动因素开始将计算移出集中式数据中心。
1.减少从本地网络入口点到中央数据中心的带宽。
尤其是数据量暴增的场景,物联网的出现使数以百万计的设备收集了大量原始数据。
利用边缘计算,可以在将数据发送回中央数据中心之前对其进行处理,过滤和聚合。
2.用户对响应时间的极度痴迷。
查看内容的身份验证和授权就是一个很好的例子。
如果用户是内容服务(如报纸或视频订阅服务)的订户,则可以在本地缓存了内容的边缘做出有关用户是否可以访问某条内容的决定。
这将一些逻辑移到边缘服务器上,减少返行程回切到中央服务器的时间。
这些驱动在本地设备上运行的移动应用程序,游戏,地图和其他应用程序,延迟敏感度特别明显。
3.区域及标签个性化。
根据用户的观看习惯向他们显示个性化广告。
直播视频也是一个很好的例子,定向的视频广告将获得更高的每千次展示费用。
这些用例为将计算功能分配到最接近最终用户的位置提供了巨大的机会。
随着物联网设备生成的数据量的增加以及最新一波响应应用程序(游戏,地图,AR等)中对延迟时间的容忍度降低,内容和应用程序开放商将越来越需要边缘计算,以提供给用户完美的产品体验。
提高应用程序性能的下一个机会是将服务器端逻辑移到分布式POP中运行。
这样可以获得与CDN相同的好处,但是执行起来要复杂得多。
它要求创建一个完整的开发环境和分布式运行时 ,以允许在所有POP中同时编写,部署和执行代码。
为了使该模型可扩展,必须分发,共享和保护运行时环境。
通过无服务器托管体系结构可以更好地满足这些要求,该体系结构为开发人员的代码提供了隔离的运行时环境,以使代码可以响应请求而执行。
这些因素都催生边缘计算的新趋势,该趋势有效地提供了将应用程序代码处理(计算)转移到小型数据中心(边缘)的全球分布网络的机制。
商业实体开始提供边缘计算解决方案,以使开发团队能够利用这种新范式,包括超级扩展程序和旧式CDN提供程序,而Fastly就是其中最具竞争力和投入度最高的头部公司。
fastly在2020年第一季度投资者大会,介绍边缘计算的潜在市场总量Fastly的赌注是,可以在其分布式POP中执行更多的应用程序逻辑。
这将具有接近用户的优势,并且响应速度更快,更安全。
如果这种趋势向前发展,则越来越多的数据处理工作将从集中式数据中心转移到分布式计算平台。
三、Fastly的硬核技术才刚刚开始关于边缘计算,另外一家头部公司是Cloudflare。
从技术角度看,Fastly和Cloudflare在其无服务器边缘计算解决方案中采用了两种不同的方法。
Cloudflare选择在Chromium V8引擎上构建其解决方案。
这使得他们可以利用Google Chrome团队已经完成的工作,在2018年便将边缘计算产品快速推向市场。
这是对当时由云供应商(如Amazon Lambda)提供的无服务器解决方案的重大改进。
Cloudflare的工作者将冷启动时间减少了100倍,进入到毫秒阶段。
并将内存使用量减少了10倍,从而可以更有效地利用硬件资源。
但Fastly决定不依赖现有技术来进行无服务器计算,例如可重复使用的容器或V8引擎,而是决定全心投入WebAssembly,并构建了自己的Lucet编译器和运行时,对性能、安全性和紧凑性进行了优化。
自2017年以来,Fastly一直在幕后进行这项工作,它为[email protected]产品线提供了坚实的基础,该平台现在为多个客户运行生产代码。
Lucet将WebAssembly编译为快速、有效的二进制文件以便执行,还可以通过内存分配来增强安全性,并且不会从先前的请求中产生任何残留。
Lucet还包括一个经过严格优化的简化运行时环境,Fastly团队在该环境上花费了大部分开发时间。
结果获得了比V8引擎更好的性能。
Fastly冷启动时间完全进入微秒级别–官方宣称为35微秒。
这至少比V8引擎快100倍,后者需要3-5毫秒才能启动(3,000到5,000微秒)。
同样,由于Lucet仅包含运行已编译的汇编代码所需的代码模块,因此它只需要几千字节的内存。
这大约是V8引擎使用的3MB的千分之一。
WebAssembly SF演讲,2019年11月,Invitae工程师与传统的无服务器解决方案相比,Fastly的Lucet和Cloudflare的Workers均具有显著的性能优势。
这使得它们都可以用于同步工作负载,在这些工作负载中,传统的无服务器解决方案被降级为离线的异步作业。
Fastly将冷启动时间缩短在35微秒,几千字节的内存使用,绝对硬核技术能力,由于理想的请求/响应服务器端循环需要小于20毫秒,因此Fastly的服务器启动时间为其他处理工作留出了足够的空间。
这里的最大优点是,这种无服务器模型可以应用于同步用例。
其他大多数无服务器模型都被归类为异步处理,即人们无需等待响应。
通过将无服务器模型应用于同步处理,Fastly的边缘计算解决方案可以获得全新的用例集。
另外,无服务器模型需要较少的硬件支持,因为服务器不会闲置等待新请求。
这提高了Fastly资本配置的效率使得同步请求的服务转变变成可能,也极大地扩展了无服务器的应用场景,使其适合于实时Web和移动应用程序。
以下是serverless banchmark的测试数据,虽然没有Fastly,但其他服务商的测试反馈值与结论一致。
尖端技术创新并不完全等于市场渗透率和商业竞争优势。
Fastly的[email protected]在2020年处在私测阶段,并已经有大概60个客户参与Beta测试,并提供了使用实际用例的反馈,在2021年正式推向市场,很可能成为重要的收入

未经允许不得转载:选主机测评网 » 将CDN提速10倍后,Fastly押注边缘计算