本文转自微信公众号“乱翻书”。
Fastly(FSLY.US)由Artur Bergman于2011年成立,是业界领先的边缘计算公司。
Fastly从成熟的CDN市场切入,通过使用全新的技术设计和面向开放性的模式,迅速赢得业界最先进的互联网公司青睐。Fastly2019年5月上市,一年半时间市值翻了5倍。
但如果把Fastly仅仅定义成CDN厂家的话,会丢掉一个非常大的picture。虽然目前边缘计算还没有大规模使用,但Fastly全心投入到该领域,依靠绝对硬核技术成为顶级技术类公司,2021年将会是其边缘计算产品线推向市场的重要一年。
一、从黑盒子的CDN市场破局
从历史看,CDN发生在1990年代末和2000年代初,当时Internet的使用和网站正经历爆炸性的增长。
原始的网站托管架构要求所有Web内容,包括动态文件(在请求时计算)和静态文件(创建一次且很少更改),都应从代表该网站自己的数据中心服务器提供。但随着用户的增多和地域的分散,页面加载时间成为网站提供商关注的焦点,网站运营商开始沉迷于优化页面加载时间。
在这种背景之下,很多独立公司如雨后春笋般涌现,以利用这一机会提供内容交付服务,于是CDN行业诞生了。
主要提供商是海外的Akamai(AKAM),Limelight(LLNW.US),AWS Cloudfront,国内市场蓝汛,网宿,再到阿里云(09988),腾讯云(00700)。
到了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(NET.US)。从技术角度看,Fastly和Cloudflare在其无服务器边缘计算解决方案中采用了两种不同的方法。
Cloudflare选择在Chromium V8引擎上构建其解决方案。这使得他们可以利用Google(GOOG.US) Chrome团队已经完成的工作,在2018年便将边缘计算产品快速推向市场。
这是对当时由云供应商(如Amazon(AMZN.US) Lambda)提供的无服务器解决方案的重大改进。Cloudflare的工作者将冷启动时间减少了100倍,进入到毫秒阶段。并将内存使用量减少了10倍,从而可以更有效地利用硬件资源。
但Fastly决定不依赖现有技术来进行无服务器计算,例如可重复使用的容器或V8引擎,而是决定全心投入WebAssembly,并构建了自己的Lucet编译器和运行时,对性能、安全性和紧凑性进行了优化。
自2017年以来,Fastly一直在幕后进行这项工作,它为Compute@Edge产品线提供了坚实的基础,该平台现在为多个客户运行生产代码。
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的Compute@Edge在2020年处在私测阶段,并已经有大概60个客户参与Beta测试,并提供了使用实际用例的反馈,在2021年正式推向市场,很可能成为重要的收入来源。
在2020年,Fastly收购了Signal
Sciences,并将其安全能力集成到称为Secure@Edge的统一新产品中,目前正在进行中。这将逐渐完善整个Edge的产品线体系,至于未来,还有很多能力会边缘化。
Fastly将不是简单的CDN,而是边缘计算公司,会和业务有很大耦合性,通过非常高的DNR(收入留存)可以看到这一趋势。另外随着集中式业务处理下放到边缘处理,可能也会变相侵蚀AWS的空间。
四、Fastly VS Cloudflare
不管是过往VCL配置语言还是现在推进的Compute@Edge,Fastly的目标受众主要是开发人员,他们希望帮助工程团队构建和交付更快,更高效的软件应用程序。CEO也表示:“我们一直带来的核心是允许开发人员进行创新,而Compute@Edge是非常重要的下一步。”
另一方面,Cloudflare的目标受众似乎主要是希望使公司网络和企业应用程序更安全的CIO/CISO,Cloudflare领导层关注如何取代本地防火墙和VPN的硬件供应商。此外,他们的新Cloudflare
for
Teams产品也将重点放在销售上,它用Cloudflare的全球网络取代了本地防火墙解决方案,以过滤和保护从企业用户到公共Internet的出站流量请求。
Fastly的企业用户定义是每年消费10万美元,Cloudflare对企业客户的定义有所不同。Cloudflare衡量该季度客户的支出,并乘以4。无论如何,Fastly的企业客户增长在2020年相对较慢。这也解释了为什么Fastly的总体客户数量不会接近Cloudflare的总客户数量,因为Fastly将小型企业推向这些平台合作伙伴。
比如Shopify,Wix和Adobe
Magento,以及用于开发人员的GitHub。通过将较小的实体推荐给这些聚合器,Fastly能够与这些大型合作伙伴扩大业务,而无需维护销售/服务功能以支持较小的客户。
Fastly专注于大公司既有优势也有劣势。优势是可以通过为更少的客户提供服务来提高客户服务效率和平台利用率。劣势也很明显,公司的营收集中度过高,具有一定的流失风险性。
针对大客户,Fastly沉淀了一套成熟打法,Fastly的领导层描述了大多数新客户如何从少量使用量入手,以验证性能并进行运营调整。然后,从第1年到第2年,他们通常将支出扩大3倍,然后每年增加40%。
五、如何面对TikTok危机?
Fastly最大的客户(TikTok)在2020年前6个月的收入占Fastly收入的12%。假设2020年的收入为3亿美元,那么这将代表TikTok将带来约3600万美元,并且有可能继续增长。当时,美国政府正考虑在9月15日之后彻底禁止TikTok在美国的销售,这对收入被视为有风险极大。
TikTok担心美国政府禁止任何美国技术提供商(包括CDN)与其合作。TikTok可能会在8月下旬或9月初迅速停止使用,并在许多提供商之间分散CDN流量,以减轻其运营的直接风险。
整个情况再次突显了Fastly在企业级别的高度客户集中的问题,这和之前Twilio在Uber首次公开募股后面临的是同一问题,现在已经达到了其前10名客户仅贡献收入14%的地步,风险逐步降低,也意味着新进企业用户的收入贡献持续增长。
尽管TikTok能够迅速退出Fastly的服务,但这样做的动力主要是外部原因,而不是服务质量或价格问题。
关于TikTok快速执行切换的能力,并不代表Fastly是一种管道技术,面对禁止的风险压力,一定会有切换的执行力,任何Paas能力都不敢说具有不可替换性。不过对于传统CDN而言,切换的成本确实很低,目前我所在的教育行业也会对接多家CDN,仅仅是一种配置设置而已。
六、关于Fastly的团队和竞争
2020年,Fastly宣布创始人兼首席执行官Artur Bergman将过渡为首席架构师。使他能够专注于自己在技术和客户开发方面。
用Artur的话来说:“他将更多的注意力集中在客户上,并与我们业务的产品和技术合作,以建立我们的边缘云平台”。
自2017年5月起,Joshua取代了他,担任Fastly总裁,他于2015年加入Fastly担任营销副总裁。2015年至2017年,Joshua担任营销,产品和销售高级副总裁。
在加入Fastly之前,Joshua于2006年与他人共同创立了一家名为Strangeloop
Networks的网络应用程序加速公司,该公司最终于2013年被Radware收购 。Joshua是IronPoint
Technology的创始人兼首席执行官,管理软件公司。他拥有多伦多大学的管理学学位。
Artur显然更喜欢使用技术,这一点和Snowflake的模式相似,均是技术领域顶级专家+职业管理人模式。尽管Joshua在内容交付领域创建了两家公司,但依然需要证明自己的价值。
Fastly员工的平均年龄为38岁。团队的工程师和leader都是领域重非常资深的人士。在Fastly的成长中,不断的带来新的声音,见解和经验。Fastly相信多元化的团队能提供更好的结果。
执行团队几乎男女之间平均分配,超过50%的工程负责人已将自己标识为女性,有色人种。公司超过50%的公司在旧金山以外的地方工作。Fastly正在构建全球性的产品,只有拥有一家多元化的公司才能实现这一愿景。
最后,Akamai无疑是CDN市场老大, 占比55%的市场份额,主要服务对象也是 Facebook(FB.US), Adobe(ADBE.US), Airbnb(ABNB.US), NBA, IBM(IBM.US) 这样的巨头;亚马逊的CloudFront占比21%
。而CloudFlare和Fastly在CDN领域的市占率才1%左右,真的相当小。
但Cloudflare和Fastly从一开始就围绕软件定义的网络构建其架构。并将所有网络转移到PoP服务器本身运行的代码模块中。这样就可以非常精细地控制PoP和网络之间的流量路由,直至用户的每个单独请求,可以提供更好的内容交付性能。
但Akamai的产品交付节奏没有想象的那么快。虽然启用无服务器边缘计算是Akamai认为重要的功能,但EdgeWorkers解决方案的进展似乎与一年前宣布的状态相同,仍处于Beta版。
(编辑:李均柃)