云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

数据库服务器_网站建设评价_折扣

小七 141 0

JAMstack播客集:听Cloudflare的Kenton Varda谈论无原创代码

JAMstack Radio是一个关于JAMstack的节目,一种构建快速安全应用程序或网站的新方法。在最近的一集中,主持人布莱恩·道格拉斯会见了Cloudflare Workers的技术负责人和沙尘暴.io讨论在埃奇。听着肯顿在这22分钟的播客中谈到了无服务器技术:这是播客的记录嗯:布莱恩·道格拉斯:欢迎阅读JAMstack收音机的另一期。我在房间里找到了肯顿·瓦尔达云彩。肯顿瓦达:谢谢你我。布莱恩:谢谢你千里迢迢来旧金山和我面谈。我很好奇肯顿是谁,但我也很好奇Cloudflare是什么。你能回答这两个问题吗?我们先说"谁是肯顿?"我是工程师。我是Cloudflare Workers的设计师。在过去的生活中,我为谷歌工作了几年。我曾经被称为"协议缓冲人员",我是那个开源的人。我创办了一家名为"沙尘暴"的公司,后来被云彩。布莱恩:我很熟悉。我记得沙尘暴。嗯,我记得这个名字,我隐约记得收购发生了。有趣。你说你创立了沙尘暴?肯顿:是的。小王和我。布莱恩:好的,是的。我认识杰德。我不久前见过杰德。但这是很多内部棒球。Cloudflare怎么样?现在你是Cloudflare的一员了。那是什么东西?肯顿:我们现在有151个地方有电脑,而且还在迅速扩张,未来会有数千个地方。我们让你把它放在你的网站前面,以便提供一些东西。一是它是一个大的HTTP缓存。我们可以在"边缘"缓存静态内容,我们称之为边缘。最终用户可以接收内容快点。我们有一个阻止恶意流量的web应用防火墙,我们有DDoS保护。我们已经吸收了世界上最大的DDoS攻击,没有任何麻烦和一大堆其他功能。在请求发送到您的"原始服务器"之前,有一长串在这些位置作为代理实现的东西的列表是的,布莱恩:好的,酷。你们这些地方都有,你们有服务器吗?你在建造这些东西吗?肯顿:是的。我们建造硬件,然后把它们送到各种不同类型的地点。有时ISP希望我们的机器在那里,这样他们就可以更快地为客户服务,并在上游使用更少的带宽。有时是数据中心。它是一个变化。布莱恩:酷。所以,我很好奇。你也有很多基础设施方面的背景?来自沙尘暴,现在又是云闪?肯顿:是的。在谷歌。我总是做一些基础设施。谷歌的搜索基础设施,访问控制基础设施,密钥管理。很多事情。布莱恩你为什么说你现在是"首席建筑师"这很有道理。肯顿:我们没有头衔。布莱恩:你没有头衔?好 啊。我想问一下在全部。肯顿:我开始称自己为Cloudflare Workers的架构师。2017年3月,当Cloudflare收购了Sandstorm时,我们进来时,有人告诉我,"我们想找到一种方法,让人们安全、快速地在我们的服务器上运行代码。但我们不知道怎么做。你觉得怎么样?"所以我开始了这个项目,并建立了它,在我加入一年后,我们于3月13日启动了它年。布莱恩:很好!祝贺 你。这就是我让你来的原因。因为Cloudflare Workers是我在alpha或beta阶段第一次提到它的时候就知道了。我想让你解释一下Cloudflare的工作人员,但在你这么做之前,我想解释一下我做了什么。这是非常微不足道的。工人们坐在边上,我让一个工人把"云"改成"屁股"。肯顿:经典。布莱恩:它非常经典,因为我测试它的网站是Cloudflare.com网站. 不管它取代了什么,都很搞笑。我让每个人都松了一口气,然后我继续往前走,直到最近才想到这一点。你能解释一下什么是Cloudflare员工吗?肯顿:当你在使用预览时,你可以看到你的工人会对任何随机站点做什么。但通常你会在自己的网站上运行这些。Cloudflare Worker是一个JavaScript代码,可以接收发往您的域的HTTP请求,但是在靠近末端的边缘Cloudflare服务器上接收这些请求用户。它可以在那里运行任意代码。它可以将请求转发到您的源站,也可以决定直接响应,或者您甚至可以向第三方API发出各种出站请求并执行任何操作want.HTTP输入,HTTP输出,任意代码。布莱恩:JavaScript有限制吗?因为当你说你可以在边缘或者Cloudflare服务器上运行JavaScript时,这听起来很危险。但是你也开始了这个,以及它的安全方面。人们都想拥有它。你怎么解决这个问题?肯顿:对。这就是为什么它是JavaScript的原因。我们有很多客户,他们都想在我们的每个地方运行他们的代码。我们需要确保我们可以运行大量不同的脚本,但不允许它们相互干扰。每个人都必须安全沙箱。那里有很多技术可以做到这一点。但在过去的几年里,受到最严格审查、最真实的实战测试的将是googlechrome的v8javascript引擎。我们把它嵌入到C++编写的一个新的服务器环境中。抓挠。我们没用过节点.js因为节点.js不是沙盒。不适用于这种情况。所以我们做了些新的东西。JavaScript运行在一个普通的JavaScript沙盒中,它被限制为只允许接收HTTP请求和向internet发送HTTP请求的API。它不允许它查看本地文件系统,也不允许它干扰在本地文件系统上运行的任何其他文件系统机器。布莱恩:好的。我们能谈谈Cloudflare员工的使用案例吗?除了像我这样花了那么多时间写笑话应用程序的人之外,还有人会怎样呢。或者是工人。你可以在边缘做什么样的用例来编写JavaScript?肯顿:嗯,这是任意代码。有无限的用例。但我可以告诉你一些常见的。有些人只需要对一些头文件进行一些愚蠢的重写,因为将某些内容推送到Cloudflare要比更新自己的源服务器容易得多。当您编写脚本并通过Cloudflare UI提交时,它将在30秒内被全局部署。就这样。砰,结束了。所以,这是一个简单的方法来完成事情,但这是一个不太有趣的用途案例。更多有趣的是,你可以做一些事情,比如说,你用S3或者Google云存储来托管你的网站。你可以编写一个Worker,从那里获取内容,然后将其作为你的网站使用,而实际上没有来源服务器。其他人们喜欢的是优化他们对Cloudflare缓存的使用。从历史上看,HTTP缓存是一个非常固定的函数。你不能提供缓存内容,但也要个性化。所以假设你在一个新闻网站,人们必须登录,因为它是付费内容,然后你想向他们展示这个网站,但在顶部你想说,"嗨。您的登录身份是…"不管谁。你的新闻网站上的内容是非常可缓存的。因为你不能再把它个性化了。好吧,你可以在一个Worker中进行个性化设置,因为它已经从边缘缓存中出来了,因此服务你的站点更快,使用更少带宽。但是除此之外,我们还让人们根据API请求在边缘进行HTML模板渲染。这样可以节省很多钱带宽。布莱恩:这是Apache服务器的一个常见用例,您可以使用JavaScript cookie检查您是谁,您来自哪里,甚至您的位置。然后根据用户来决定渲染什么。这听起来像是在服务器上大量使用的超级复杂的东西,现在您只需在Cloudflare上就可以了地点。肯顿:或A/B测试。这是另一个不能很好地处理缓存的问题,因为同一个URL为不同的人提供不同的内容。现在可以在Worker中实现它,并且可以利用快去,布莱恩:在我们开始录制之前,我提到我在阿波罗看过团队产品经理的一次演讲,我没有提到这个名字——肯顿:乔纳森布鲁斯。布莱恩:乔纳森,是的。他解释了一些用例,我发现a/B测试也是其中之一。很高兴看到很多这样的工作从服务器上移开了。并不是说它们微不足道,但听起来这是一种更容易的方法是的,肯顿:是的。说到阿波罗,随着时间的推移,我们看到这些用例变得越来越复杂。人们开始做一些非常简单的事情。但阿波罗是个很好的例子。他们使用了Apollo GraphQL,他们称之为Apollo服务器,这是GraphQL的网关。GraphQL查询进入,然后它联合到后面的Rest端点。他们在一个工人身上搞定了整件事。这意味着现在可以在Cloudflare的"边缘"上运行并利用缓存,以前GraphQL查询通常不可缓存。因为它们都是post请求,通常每个请求都有一点不同,没有规范化。现在您可以通过运行在边缘。布莱恩:很抱歉缩小,因为我在阿波罗和格拉奇ql方面也有很多经验。这是阿波罗个人在做的吗?或者这是他们在使用Apollo服务器时缓存GraphQL查询的首选方法吗?肯顿:他们正在开发一个运行在边缘。布莱恩: 好的。肯顿:尚未发布。但是很快。布莱恩:我需要穿上它们进行后续对话。他们在这个播客上已经有好几集了,所以我肯定想让他们多谈谈他们在做什么