神译局是36氪旗下编译团队,关注科技、商业、职场、生活等领域,重点介绍国外的新技术、新观点、新风向。
编者按:对于做互联网业务的人来说,Cloudflare这家公司应该不陌生。它最出名的产品是CDN(内容分发网络)和安全服务,凭借公司在全球100多个靠近互联网边缘的地方搭建的数据中心,为各网站提供内容缓存和安全过滤。但是,这家公司的野心并不止于此,随着数据本地化存储和处理日渐为越来越多的国家采用,Cloudflare正在让自己的CPU和边缘网络可编程,从而有可能蚕食AWS、微软、谷歌等公有云巨头的市场。知名科技博主Ben Thompson对此进行了深入剖析,原文发表在其个人博客上,标题是:Cloudflare on the Edge
划重点:
Cloudflare跟公有云提供商是竞争对手的逻辑正在日益显现
Cloudflare Workers让Cloudflare的边缘网络对开发者开放
Durable Objects让开发者无需关心数据放在哪个数据中心
Cloudflare Workers相对于公有云有性能上的优势
Durable Objects代表的是一种全新的基础设施搭建方式——从边缘进入,而不是从数据中心出去
在就Cloudflare的最新财报发表准备好的评论结束之时,Matthew Prince讲了一个关于公司最早期日子的故事:
还在2010年那时候,就在Cloudflare的第一次召开董事会以及发布之前,一位早期投资者给了我一些建议。他说,经营公司有点像驾驶飞机。你希望确保飞机始终保持良好状态。而当你在飞行时,你要保持机轮稳定,并且让机头跟地平线成10度角。这个说法让我久久不能忘怀,我们对Cloudflare的设计就是为了保证一致且规范的执行。在类似我们刚刚度过的季度那样的季度里就体现了这一点。
不过,最重要的,是飞机要飞赴的目的地。
Prince提到的发布是在TechCrunch Disrupt 2010;发布的整段视频都值得一看,但其中主要有三个亮点。首先是,尽管出现了3分钟的技术延迟,但在展示Gloudflare的价值主张这件事情上,Prince还是出色地完成了工作。
作为哈佛商学院的毕业生,在回答有关竞争的问题时Prince直接引用了哈佛商学院的克莱顿·克里斯滕森(Clayton Christensen)教授说过的话。
演讲中最令人难忘的时刻是Prince对一个看似温和的问题的回答。这个问题问的是Cloudflare会发展到什么样的规模。
尽管Prince的回答非常大胆——我们的愿景是为互联网提供动力——该公司在2019年的招股说明书(S-1)列出的竞争对手名单无论从广度上还是在规模上似乎都显得相当有抱负:
我们当前和未来潜在的竞争对手涵括了许多不同类型的公司,包括:
本地硬件网络供应商,比方说思科系,F5,Check Point,FireEye,Imperva,Palo Alto Networks,Juniper,以及Riverbed Technology;
点云(Point-cloud)解决方案供应商,包括云安全供应商,比如Zscaler,思科的Umbrella(以前叫做OpenDNS ),内容交付网络供应商(比如Akamai,Limelight Networks,Fastly以及Verizon Communications的Edgecast ,域名系统服务供应商,比如Oracle的DYN,NeuStar以及UltraDNS,以及云SD-WAN供应商;与
传统公共云供应商,比如亚马逊的Amazon Web Services,Alphabet 的Google Cloud Platform,微软的Azure,以及阿里巴巴的阿里云。
前两类是说得过去的;毕竟,Cloudflare从一开始的价值主张就是速度和安全性,所以当然发展到一定程度他们要跟网络和安全厂商竞争。然而,最后一点才是吸引眼球的地方,就算到现在也是:Cloudflare表现出色的这个季度取得了1.38亿美元的收入;而在同期,AWS一天就赚了1.5亿美元。
要了解为什么Cloudflare会把公有云供应商视为竞争对手,先回过头来理解一下为什么Cloudflare具有颠覆性是有帮助的;克里斯滕森在《创新者的窘境》中写道:
但有时颠覆性技术的出现——至少在短期内,会导致产品性能降低。具有讽刺意味的是,本书研究的案例中,都是颠覆性技术导致了领先企业的失败。颠覆性技术给市场带来了与以往截然不同的价值主张。一般来说,颠覆技术产品的性能要低于主流市场的成熟产品,但它们拥有一些边缘客户(通常也是新客户)所看重的其他特性。基于颠覆性技术的产品往往更便宜、更简单、更小巧,而且使用起来更加方便。
那基本上就是Prince的价值主张:Cloudflare的CDN会更便宜(免费),更简单(只需更改DNS服务器),更小巧(启动只需5台服务器),而且更方便(简单到可笑的地步!)。
不过,对CloudFlare有利的,是在互联网上最有效的优势:服务,就像十年前谷歌基于链接的排名系统一样,用得越多,这套系统表现就越好。这是因为Cloudflare把自己的内容交付网络跟DDoS保护放到一起用。后者对网站极具吸引力,这为Cloudflare提供了跟ISP合作的机会,因为后者十分重视遍布全球的如网店服务器的保护,而且至关重要的是,这为Cloudflare提供另一个机会,让它在改进CDN能力的同时,还掌握了关于数据在全球是如何流动(或者改进服务)的越来越好的数据。
Cloudflare专注于免费提供的安全性,这也意味着它的CDN从一开始就建立在通用硬件的基础上。来自其《招股说明书》:
为了达到跟硬件设备竞争所需的效率水平,我们需要发明一种新型的平台。这种平台需要在商品化硬件的基础上开发。它的架构设计需要让构成Cloudflare网络的任何一座城市的任何服务器都可以运行我们的每一项服务。它还需要能够灵活地转移流量,从而在性能最好的地方服务我们最高级的付费客户,同时用容量过剩的地方服务那些出钱更少,甚至根本不付钱的客户。
慢慢地,这些通用机器被用作越来越多的其他服务,而不仅仅是CDN和DDoS保护。HHHypergrowth有篇综述文章曾经对Cloudflare开展的所有工作进行了精彩的概述,由于Cloudflare的产品组合实在是太过庞大,导致文章的篇幅之长达到令人生畏的地步。不过,Cloudflare Workers才是让Cloudflare跟云计算的大型玩家掰手腕的产品。
自Disrupt大会成立的7年之后,Cloudflare推出了Workers。来自其介绍性的博客文章:
Cloudflare即将经历(与可编程CPU)类似的过渡。从最基本的层面来看,Cloudflare就是个可在全球117个位置(这个数字还在不断增长)运行的HTTP缓存。HTTP标准为HTTP缓存定义了一套固定的功能集。当然,Cloudflare还可以做更多的事情,比方说提供DNS和SSL,保护你的站点免受攻击,在源服务器之间实现负载均衡等等。
但是,这些都是固定的功能。如果你想用自定义的相似性算法进行负载均衡该怎么办?如果标准的HTTP缓存规则不太合适,你需要一些自定义的逻辑来提高缓存命中率的话又,该怎么办?如果你想为自己的应用编写量身定做的WAF(Web应用防火墙)规则又该怎么办?
你想自己写代码。
我们可以一直添加功能,但是用这种方式我们永远也没法覆盖所有可能的用例。为此,我们换了一种做法,让Cloudflare的边缘网络可编程。我们在全球117多个位置提供了自己的服务器——这些服务器怎么用可以由你去决定。
Workers刚推出的时候提供的功能极为有限;就提供了一点V8引擎的无状态Javascript代码,但尽可能接近用户。2018年,Cloudflare添加了一个键值存储,这使得Workers可以访问高度分布式的最终一致性的数据存储;2020年,该公司又推出了Workers Unbound,这一版极大地扩展了Workers的功能,还有Durable Objects,这让它不仅能存储数据,而且还能存储状态,这意味着真相的唯一来源。再次地,施加援手的还是Cloudflare的网络:
在使用Durable Objects时,Cloudflare会自动确定每个对象驻留在哪个Cloudflare数据中心,而且可以根据需要在不同的位置之间透明地迁移对象。传统的数据库和有状态的基础设施往往需要你考虑放在哪个地理“区域”,从而确保将数据存储在使用位置附近的地方。
需要考虑区域往往会成为一个不近人情的负担,尤其是对于那些天生不具备地域性的应用而言。有了Durable Objects之后,在设计存储模型的时候你就可以匹配应用的逻辑数据模型了。比方说,文档编辑器可以为每份文档建立一个对象,而聊天应用可以给每一场聊天创建一个对象。创建数百万或数十亿个对象都没有问题,因为每个对象的开销都是最小的。
Cloudflare提供了一个聊天应用的例子,里面的每一个单独的对话都是一个对象,而且这个对象被移到了尽可能靠近参与者的地方;比方说,在美国聊天的两个人会在美国数据中心使用一个Durable Object,而在欧洲的两个人则会在欧洲的数据中心使用一个Durable Object。这会有一些额外的延迟,但相对于中心化的云提供商时延会更低。不过这是OK的,因为Worker的真正优势其实并不是Cloudflare所认为的那样。
公有云的经济学很简单:对于亚马逊,微软或谷歌而言,在全球范围内建立和维护数据中心,然后把能力出租出去,要比那些数据中心不是自身核心能力的公司用小一点的规模去复制他们的做法更行得通。他们的东西实在是太有吸引力了,以至于我在《开始的终结》中把当前状态贴上了这样的标签:
最后一点,我想说一下为什么云和移动设备(通常被认为是两种不同的范式转移)是紧密相连的。云意味着用户可以从任何地方访问应用程序和数据,移动设备使得I/O层可以在任何地方使用。两者的结合才使计算变得连续、完整。
值得注意的是,当前的环境似乎是所有这些变化的逻辑端点:从批处理到连续计算,从不同房间的终端到口袋里的电话,从磁带驱动器到全球各地的数据中心。依据这种观点来看,个人电脑/楼宇内服务器时代不过是在一个在某种范围两端之间的垫脚石。
尽管云无所不在的这种观点对于最终用户是正确的,但对于开发人员来说,故事却要复杂一些。如果你想设置新实例,首先得选定一个区域。比方说,AWS在全球有25个区:
AWS的数据中心节点
选择地区后,你的实际应用在地理上就是被包含在那个地区之内了。从理论上来讲,这种限制给Cloudflare Workers带来了优势。Prince在一篇博客文章中写道:
由于我们不太可能让光跑得更快,所以让任何开发者写代码,并让代码在我们的整个网络里面跑的能力,意味着相对于传统集中式的计算解决方案(即便是那些运行在“云端”的解决方案),我们始终都会具备性能上的优势。如果你必须为在哪里运行自己的应用选择“可用区”,则相对于架设在类似Worker这样(可以在Cloudflare的网络所及地方运行)的平台上的应用来说,你将始终处于性能上的劣势。
不过,事实上,对于大多数应用来说,这种性能并不重要。比方说,Stratechery的播客服务在美国东部(俄亥俄州)运营,但对于生活中半个地球之遥的我来说,其实并没有什么区别。对于这一点,Prince是承认的:
但是,让我们现实一点吧。对网络延迟几百毫秒感到很敏感的应用只有有限的一些应用。这并不用说在现代主流无服务器平台网络的模式下,网络时延已经无关紧要了,而是说对性能有额外要求的应用属于小众……讨论边缘计算很多的人很快就会开始讨论IoT和无人驾驶汽车。令人尴尬的是,当我们刚开始推出Workers平台时,我自己就老这么做。
确实,对于几乎所有的应用来说,公共云已经足够好,而且,经济学再次地会让其他选择变成一个坏主意。
今年早些时候,在1月6日之后,我写了《Internet 3.0与(技术)历史的开端》。在提出了我在《开始的终结》中说到的观点之后,我指出:
就互联网而言,我们已经处在技术发展的逻辑端点。但是,之所以走不下去不是因为人性,而是主权的问题,而少数美国巨头可能的优越意识的再度释放,有可能会被全世界的人们、公司以及国家所抵制。
只要经济才是最重要的,我们就永远只会有中心化的云提供商。需要时延最小的“有限应用”可能需要花更多钱才能在上面的地图当中的那些蓝色的AWS边缘曾提供商上运行。不过,那篇文章的重点是,经济学并不是唯一重要的事情:不断发展的另一面会更加重要。
Prince也有同样的认识。我一直在引用Cloudflare的那篇博客文章《边缘计算的机会:不像你想象的那样》,而Prince所强调的主要好处也跟那另一面息息相关:
在云计算平台(包括无服务器平台)上运行的大多数计算资源都是由开发者创建的。而这些开发者都是在合规性是基本要求的公司工作。而且,到目前为止,这意味着要确保平台遵循政府法规(比如欧洲的隐私准则GDPR)或取得确保自己遵循行业法规的认证,比如PCI DSS(如果接受信用卡就需要),FedRamp(美国政府采购要求),ISO27001(安全风险管理),SOC 1/2/3(安全,机密性和可用性控制)等等。
但是,新的迫在眉睫的监管要求风险令传统的云计算解决方案无法充分满足这些要求。在监管方面各国都在不断加码,以确保自己的法律适用于公民的个人数据。怎么才能确保你遵守这些法律?办法之一是是完全在本国境内存储和处理本国公民的数据。
欧盟,印度和巴西这些重要市场均已或正在考虑制定对公民的个人数据享有法律主权的监管措施。中国已经对多种类型的数据实施了数据本地化监管。不管你是不是认为似乎数据本地化存储和处理的监管要求是个好主意(我个人觉得可能会扼杀创新),但我的感觉是,这股势头已经势不可挡。而且,一旦有几个国家开始要求对数据拥有主权,就很难阻止几乎所有其他国家效仿。
对于亚马逊,微软和谷歌而言,这个潜在的现实给他们提出了一个大问题:从他们的角度来看,云是一个整体,无论从管理,接口到购买来看都是这样。而开发者个体本来就在自己的地区的。是的,所有这三家公司都保证放在一个区域的数据不会被传到其他地方,但这会是开发的噩梦:你得维护不同的app,把不同的数据放在不同的区域。
与此同时,Cloudflare可以利用Durable Objects的无缝传输能力把数据迁移至最近的数据中心,从而在比较细颗粒度的层面遵循本地的合规性数据主权法律;来自Cloudflare 关于Durable Objects管辖权限制的公告:
目前仍为受限beta版的Durable Objects已经可以让客户轻松管理Cloudflare Workers上的状态,而不必关心基础设施的配置。今天,我们发布Durable Objects的管辖权限制,以确保Durable Objects仅在给定地理区域内存储和处理数据。管辖权限制让开发人员可以轻松开发无服务器,有状态的应用,让这些应用不仅能符合当今的监管要求,而且当新的监管被加入进来时也能处理新的策略并对旧的策略进行更新…
通过在对象级别来设置限制,可以轻松确保合规性,同时而又不会牺牲开发人员的生产力。跑Durable Objects的应用只需确定给定对象应遵循的管辖权规则,并在创建时设置相应的规则即可。跨云提供商的多个区域去跑多个基础设施集群来保持合规性的日子以一去不复返——Durable Objects既可以全局访问,也可以在没有基础设施开销的情况下对状态进行分区。
Durable Objects本身并不会杀死公有云。但是,它们所代表的是一种全新的基础设施搭建方式——从边缘进入,而不是从数据中心出去,完美地融入到一个政治比经济更重要的世界。
其实我已经介绍过Cloudflare的差异化做法,尽管是顺带且偶然提到的。今年三月的时候,我在写《基础设施的管理》时曾采访过Prince。令我印象比较深刻的是,他对互联网碎片化的反应跟微软总裁Brad Smith以及Google Cloud CEO Thomas Kurian的看法的差异:
Smith:
我认为,这反映了一个事实,那就是,如果你是一家全球性的技术公司的话,通常在大多数情况下,跟在不同国家/地区采用不同的做法和标准相比,按照一种全球性的模式运营要高效得多,在法律上也要合规得多,尤其是当你会遇到如此复杂的事情的时候。内容管理员很难根据一个标准去决定每一条内容,但是你可以试着说:“好吧,我们已经评估了这部分的内容,它可以留在美国,但不可以放在法国。” 然后,你追加这些额外的管理复杂性的层,这既增加了成本,又增加了违规风险,进而产生信誉风险。
Kurian:
到目前为止,我们已经在努力找到一些共同点,而现实是,在全球范围内去设计在不同国家/地区有不同表现的软件非常困难。非常非常困难。比方说,从我们运营的规模以及对隐私的要求的角度来看,监控必须由软件和系统来完成。你不能以为强制执行ToS和AUP就是让人去监控所有的内容,我的意思是我们的客户群太庞大了。因此,最困难的事情可能是,比方说虚拟机在加拿大是这么做的,而在美国又是那么做的,然后还有第三种方式……我的意思是,这太复杂了。
Prince:
在世界各地,政府都有其政治合法性,而且当然比我的要强得多。重要的是,我们必须遵守运营所在地每个司法管辖区的法律。我们应该帮助我们的客户遵守我们运营所在的每个司法管辖区的法律……德国可以为德国设定他们想要的任何规则,但这必须是德国内部的规则。
而且这个问题你是可以解决的。你可以分别按照每个国家/地区进行管理。对此你觉得满意吗?
当然。我的意思是,对我们来说,这很容易。然后,我们可以根据我们所做的事情向客户提供该服务。但是我想,应该说,德国的规则不会超出德国的范畴,法国的规则不会超出法国的范畴,而且肯定也要有一些底线的。
没错。但是,鉴于互联网的性质,这不是全部的问题所在吗?因为,德国境内的任何人都可以访问德国境外的任何网站。
过去是这样的,但我不确定将来还会不会是这样。因为,在所有这些比特的下面还有很多的原子,这里有个ISP,或者那里有个网络提供商在控制着它的流动方式,所以我认为,我们必须遵守全世界各个地方的法律,然后我们必须让有关方面对透明度,一致性,问责制负责。所以,不能只是说什么东西从互联网上消失了,但你可以说是鉴于德国的法律,它已经从互联网上消失了。如果你不喜欢的话,那就是你要找的人。如果我们能够坚持这一点的话,我们就可以让每个国家在内部拥有自己的规则,我认为这就是让我们避免滑向最小公约数的原因。
这些话不是完全可比较,但微软和谷歌(也许还包括亚马逊)非常担心这个世界会变成这样——也就是各个国家/地区都制定了有关什么东西可以放上互联网(或者甚至可以看到什么)的适用法律有它的道理。因为他们的服务的基础是来自集中化的出色的经济学。而另一方面,Cloudflare已经在边缘层进行所有的计算——数据主权规则只是一个变量。这很“简单”。
这就是Cloudflare所在的这个充满隐喻性的平面(边缘层)的发展方向如此引人入胜的原因:Cloudflare当前可达的企业安全和网络市场意义重大,特别是因为远程办公已经暴露出传统方法的问题;但是,它的拥有巨大上行空间的目的地是3.0版的互联网,以及因此需要一种能够绕过障碍的服务——这种障碍不是核战争,而是主权政府。
译者:boxi。
相关推荐
互联网进入 3.0 时代,Cloudflare 能颠覆 AWS 等公有云巨头吗?
阿里、华为、腾讯等云巨头进入贴面战
最前线 | 公有云竞争进入下半场,百度份额首次进入中国Top 5
云计算只容得下巨头吗?
AWS 创业背后,竟是“被迫无奈”?
云计算的后浪该怎么浪
公有云关闭潮或显端倪,企业如何选择?
知名科技博主:互联网 3.0 与技术史的开端
5G这个万能钥匙,能颠覆游戏领域吗?
巨人Oracle能突破困境转型成功吗?
网址: 互联网进入 3.0 时代,Cloudflare 能颠覆 AWS 等公有云巨头吗? http://m.xishuta.com/newsview43363.html