我们在2017年发布了Cloudflare Workers®,目标是构建我们希望拥有的开发平台。我们希望在Cloudflare管理配置和维护基础设施的开销的同时,让开发人员能够构建出色的软件。从第一行代码,到第一个应用程序,一直到全球规模的产品,工人都与您同在。通过使我们的Edge网络可编程并在全球200多个地点提供服务器,即使是最伟大的想法,我们也能让您付诸实践。
在Cloudflare的幕后,我们一直在稳步努力,使Edge上的开发变得更加强大和灵活。今天,我们很兴奋地宣布下一阶段的工作,我们的新平台,工人自由,没有CPU限制的私人测试版(在这里注册了解详细信息)。
Worker Unbound类似于我们的经典Cloudflare Workers(现在称为捆绑的Workers),但适用于需要更长执行时间的应用程序。我们正在扩展我们的CPU限制,以允许客户将其所有工作负载都带到Worker上,无论工作强度有多大。它消除了开发人员通常必须做出的选择,即在Edge上运行快速、简单的工作,还是在拥有无限资源的集中式云中运行繁重的计算。
该平台将解锁图像处理或复杂算法等计算负担较重的新一类密集型应用。事实上,这是我们之前为许多企业客户解锁的一项要求很高的功能,现在正在向公众广泛开放。
Worker Unbound旨在成为一个通用计算平台,而不仅仅是作为利基边缘计算产品的替代品。对于您以前认为要在传统的集中式无服务器平台上运行的任何工作负载,我们都希望更具吸引力-更快、更实惠、更灵活。
我们很高兴能在私人测试版中为一批精选的开发人员提供“工人解脱”服务。请通过此表单提供有关您的用例的一些详细信息,我们将与您保持联系!我们很乐意听取您的反馈,并迫不及待地想看看您构建了什么。
今天所知的无服务器受到构建在旧范例之上的限制。大多数无服务器平台都继承了其云计算起源的容器。CloudFlare有机会重新思考无服务器,方法是构建在Edge之上,并使这项技术更具规模化性能,以满足复杂应用程序的需求。
我们通过在V8隔离上运行代码来获得性能优势,V8隔离被设计为以最小的冷启动时间非常快速地启动。Isolates是Google Chrome团队构建的一项技术,用于支持浏览器中的JavaScript引擎,它们引入了一种运行多租户代码的新模型。它们提供轻量级上下文,对变量进行分组,并允许代码对其进行变异。
隔离比容器轻得多,这是大多数其他无服务器提供程序体系结构的核心原则。容器有效地运行虚拟机,并且与它们相关的开销很大。这反过来又使得在集中式环境之外运行工作负载变得非常困难。
此外,Worker上的单个进程可以运行数百或数千个隔离,从而实现了它们之间的无缝切换。这意味着可以在单个操作系统进程中运行来自多个不同客户的代码。这种低运行时开销是Worker如何扩展以支持许多租户的一部分。
故事的另一部分是代码分发。从世界任何地方为客户提供服务的能力是基于边缘的无服务器范例和基于区域的无服务器范例之间的关键区别,但它要求我们一次将客户代码发送到每台服务器。隔离再次派上用场:我们在V8中嵌入了您可以在浏览器中找到的相同标准JavaScriptAPI,这意味着无服务器边缘应用程序既轻量级又高性能。这意味着我们可以将工作脚本分发到世界各地每个数据中心的每台服务器,以便任何地方的任何服务器都可以为发往任何客户的请求提供服务。
规模化性能是我们最关心的问题,因为提高Edge的性能意味着我们可以将这些成本节约传递给您。我们只需支付一次JavaScript运行时的开销,然后基本上就可以运行无限的脚本,几乎没有单独的开销。
与AWS Lambda相比,Worker Unbound是一个真正经济实惠的平台。使用无服务器,您应该只为您使用的内容付费,没有隐藏的费用。员工不会向您收取API网关或DNS请求费等隐藏额外费用。
*基于截至2020年7月24日在aws.amazon.com/lambda/定价上披露的定价。AWS发布的持续时间定价以1 GB/秒为基础,为便于阅读,此表中的数字已乘以100万。AWS价格范围反映了不同地区的定价。所有的价格都四舍五入到最接近的两位小数点。AWS的数据传输基于从AmazonEC2传出到互联网的数据超过1 GB/月,最高可达9.999 TB/月。AWS API Gateway基于1 MM/月以上的REST API,最高可达333 mm/月。Worker Unbound和AWS Lambda服务每月都提供1 MM免费请求和400,000 GB-秒的计算时间。AWS的DNS查询率基于每月最多10亿次查询的标价。
为了测试我们的数字,我们在Worker和Lambda上部署了hello world GraphQL服务器。Lambda上的执行时间中值为1.54ms,而Worker上的相同工作负载的执行时间中值为0.90ms。在分析了这些数字并考虑了AWS收取的所有不透明费用(包括允许来自互联网的请求的API Gateway)之后,我们发现使用Workers Unbound可以为您节省高达75%的费用--这只是一个问候世界!想象一下,当您为数百万用户运行复杂的工作负载时,会节省多少成本。
你可能想知道我们怎么会有这么强的竞争力。归根结底,这一切都取决于效率。Worker的轻量级特性使我们可以做同样的工作,但平台开销和资源消耗更少。这个GraphQL hello world测试的执行时间如下所示,并显示了平台提供者的开销。因为测试确实是一个hello world,所以这种变化可以通过提供者之间的架构差异来解释(例如,Isolates v.Containers)。
*每个平台使用128MB内存层。这项测试是在AWS的美国东部地区、谷歌的美国中心地区和Azure的美国西部地区进行的。每个平台测试在一小时内以每秒1个请求的吞吐量运行。执行时间取自每个提供商的日志记录系统。
这些数字不言而喻,突出了工作人员架构的效率。对于工人,您不仅可以更快地获得成果,还可以从我们传递给您的成本节约中获益。
Worker Unbound是我们平台的一个重大变化,所以我们将缓慢推出它,并随着时间的推移进行调整。如果您希望尽早获得访问权限,或者希望在准备就绪时收到通知,请在此处注册以获取详细信息!
本周我们有一些激动人心的公告要分享。接下来的“无服务器周”,敬请关注!
CloudFlare工作人员无服务器周产品新闻