2020年是Cloudflare的一个重要里程碑:我们成立已满10周年。
我们一直将生日作为回馈互联网的机会。但是在今年 - 互联网对我们保持一定程度的联系和维持常态无比关键 - 我们感觉回馈互联网比以往任何时候都更重要。
尽管我们无法面对面庆祝,但我们叹服于一些非凡的想法,我们与一些行业大牛在线上一起讨论了互联网在过去十年中的变化 - 以及未来十年可能会发生的变化。
因此,让我们回顾一下2020年生日周的主要公告。
第一天,星期一:Workers
在2017年生日周期间,Cloudflare发布了Workers —一个无服务器平台,代表了一种全新的构建应用程序的方式:将代码直接编写到我们的网络边缘。在今年生日周的星期一,我们发布了持久性对象和Cron触发器 - 两者都继续扩大了Worker可以解决的用例。
许多人将无服务器范式与作为服务的功能相关联——其核心是无状态的。Workers KV开始着手改变这一情况,在边缘提供了高可用性存储。但是,在某些情况下,一致性(向数据库发出请求的客户端将获得相同的数据视图)比可用性(向数据库发出请求的客户端总是会收到响应)更为重要。比如说你想卖一张音乐会的票——你不希望出现两个人买到同一张票的情况。对于在一个位置运行数据库的传统应用程序,这一保障并不难实现。但由于Workers在全球各地的Cloudflare数据中心中运行,确保一致性变得更具挑战性。 Workers持久性对象为开发人员解决了此问题:使他们能在Workers平台上构建时访问高一致性存储。
类似地,触发式Workers过去也需要用户做一些事情,例如让用户访问URL。但是开发人员有一些用例,需要Worker保持运行,而又与用户当前的行为无关。例如同步。批处理作业。或者,在用户完成某项操作的24小时后再执行某项操作。这就是**Cron触发器**的用武之地 - 现在,对于Workers上的开发人员来说,他们不再需要依靠眼球来推动事情发展。
第2天,星期二:分析
市场上有很多网站分析产品。毫无疑问,这些产品中的许多都非常好。
但它们的实施方式往往还有很多不足之处。它们中的大多数都是通过跟踪单个用户来操作的,使用客户端状态,比如cookie或本地存储,甚至指纹。这是一个日益严重的问题。这是一个原则问题:我们不想被单独跟踪 - 为什么我们要让访问我们网站资源的访问者也能被跟踪?除此之外,由于许多人对在网络上进行跟踪感到不舒服,因此他们只是阻止了许多此类分析产品。结果,所有这些分析产品的准确性越来越低。
在星期二,我们发布了一个新的Web分析产品,使您能够兼具两方面的优点 - 详细而准确的分析,而又不会损害用户的隐私。我们不会使用任何客户端状态(例如Cookie或localStorage)来跟踪用户。而且,我们不会通过其IP地址,用户代理字符串或任何其他数据来“指纹化”个人以显示分析数据(我们认为指纹比cookie更具侵入性,因为用户没有阻止的选项)。由于Cloudflare的业务从未围绕跟踪用户或销售广告而建立,因此我们不这样做。我们只专注于指标。
不过,这还不是周二的全部内容。运营网络媒体资源的另一个关键方面是网站性能。这不仅影响着用户的体验,谷歌还使用了一个综合的性能指标来衡量网站在搜索结果中的排名。谷歌的Chrome团队在度量网站性能方面做了很多工作,Web Vitals即是其登顶之作。我们已经与Chrome团队合作,将Web Vitals集成到了浏览器洞察产品中。您始终可以从Cloudflare获得边缘性能分析,但是现在,您不仅看到了Web性能的服务器端视图,而且还融合了用户对性能的看法。我们会收集所有这些数据,并以实用的方式呈现这些数据,以帮助您确定需要做些什么来优化网站的性能。
第3天,星期三:Cloudflare雷达和加速HTTPS / HTTP3
截至今天,Cloudflare在全球最大的1000万个网站中占据了14.5%的份额。能够为这么多不同的客户提供服务,意味着我们可以在网络上看到很多东西。生日周的周三内容是关于我们如何利用这一点来帮助今天上网的每个人的。
如果您考虑在任何给定时间内城市中的车流,那就像一个活着的有呼吸的生物。它潮起潮落,跟随着太阳和月亮的节奏。异常事件可能会导致交通阻塞;意外也一样。正是由于这个原因,许多城市都提供了交通报告服务。知道正在发生的事情可以极大地帮助那些需要在城市街道上穿行的人。网络就像这一案例的全球版本,考虑到互联网现在对人类的作用,了解网络上正在发生的事情与全世界所有的城市交通报告同等重要。
然而,当你想要得到类似的网络“交通报告”时,你该去哪里呢?
Cloudflare雷达是我们对这个问题的答案。Cloudflare平均每秒处理1800万个HTTP请求和600万个DNS请求。我们每天阻止720亿网络威胁。再加上连接到Cloudflare网络的10亿个独立IP地址,我们对全球互联网流量有着最具代表性的看法。在Cloudflare雷达之前,所有这些活动,无论好坏,都只能在Cloudflare内部使用:我们用它来帮助改善我们的服务,保护我们的客户。然而,随着Cloudflare雷达的发布,我们将这些活动公之于众:让全世界都能看到互联网的模式。
关于发现有趣模式的话题。在6月底,我们的团队注意到对65479资源记录的DNS请求出现了奇怪的激增。现实原因是,这些峰值是苹果的iOS14 beta版本所带来的——苹果正在测试一种新的SVCB / HTTPS记录类型。其目的是:修补HTTPS和HTTP3协议中固有的限制。当用户在没有指定协议(例如HTTPS)的情况下输入URL时,初始协商将以明文形式进行,因为浏览器将以HTTP开头。一旦确定存在HTTPS或HTTP3资源,浏览器就会过渡到该资源。这里有着两重问题:延迟和安全性。
但是您知道在进行HTTP协商之前会发生什么吗?DNS请求。而这正是苹果公司所实现的,并因此创造了这种有趣的模式:DNS请求有效地询问该站点是否支持HTTPS或HTTP3。从周三生日周开始,Cloudflare的DNS服务器现在将自动动态生成HTTPS记录,检查特定区域是否启用了HTTP/3和/或HTTP/2的特性,并通告这些信息。结果:更好的性能和更高的安全性。谁说您无法兼得?
第4天,星期四:API日
从来没有人怀疑用户界面的重要性。自从第一台计算机问世以来,寻找人与计算机相互交流的方法一直是人们关注的领域。但是随着Web的发展,数据已成为新的生机,应用程序激增,另一个界面的重要性也在增长:不同类型的应用程序之间的界面。生日周的第4天都是关于API的。
第一个公告是对gRPC的beta支持:一种旨在用于大规模构建API的新型协议。大多数REST API使用HTTPS和JSON来传递值。问题是,它们实际上是为上面提到的另一种类型的界面而设计的:让人与计算机对话。有利的一面是,它使事物具有可读性;缺点是,它们的效率非常低,而且随着API的使用不断增加,这种效率低下的情况会愈演愈烈。gRPC协议是对此的一种解决方案:它是计算机相互通信的有效协议。但到目前为止,这也是有代价的:因为gRPC在背后使用了较新的技术(如HTTP/2),现有的安全和性能工具还不支持开箱即用的gRPC通信。这意味着,采用gRPC来支持API的客户必须在现代化和安全性、性能、可靠性之间做出选择。
Cloudflare支持gPRC的声明解决了这个问题:当你把你的gPRC API放到Cloudflare上时,你将同时获得Cloudflare的所有传统优势。是否担心将API暴露给不良行为者?需要提升性能?开启Argo智能路由,就可以减少首字节时间。您可以通过添加负载均衡器来提高可靠性。或添加安全功能,例如Bot管理和WAF。
说到WAF。如果你想想我们的WAF的工作方式,它通过寻找攻击模式来保护web应用程序不受攻击——比如,试图模仿人类模式的Bot模式,或者滥用浏览器与站点交互的方式;在这两种情况下,攻击的目的都是破坏某些东西。但是因为计算机之间需要的通信与计算机与人之间的通信是不同的,所以攻击的载体是不同的。因此,保护API和保护网站有所不同。
API Shield专为此而设计。通过使用强大的基于客户端证书的身份验证和严格的基于模式的验证,可以轻松保护API。在身份验证方面,API防护使用双向TLS - 它不会受到密码或令牌重用或共享的攻击。一旦开发人员能够确定只有合法的客户端(持有SSL证书)连接到他们的API, API Shield的下一步就是确保这些客户端发出的请求是有效的。它通过将API请求的内容(URL后面的查询参数和POST主体的内容)与包含预期内容规则的契约或“模式”相匹配来工作。如果验证失败,API调用将被阻止,从而保护源服务器不受无效请求或恶意负载的影响。
并且,正如您对Cloudflare所期望的那样,gRPC和API Shield相互支持。
第5天,星期五:自动平台优化(从WordPress开始)
缓存静态资产的想法并不新鲜,这是Cloudflare从一开始就支持的东西。它在加快网站速度方面发挥了奇效:特别是如果您的源速度慢和/或您的用户离源服务器很远,那么所有性能指标都会受到影响。缓存还具有减少源服务器负载的额外好处。
但是,当涉及到动态属性时,事情就变得有点棘手了:如果内容可以更改,难道不应该回到源服务器来确认一下吗?因此,在默认情况下,Cloudflare不会缓存HTML内容:每个用户的HTML内容都有可能发生变化。事实上,大多数HTML并不是真正动态的。当网站更新时,它需要能够相对快速地改变,但对于很大一部分网站来说,内容在几个月或几年的时间里都是静态的。有一些特殊情况,比如用户登录(作为管理员或其他身份)时,内容需要有所不同,但绝大多数访问都是来自于匿名用户的。
上周五发布的自动平台优化使这变得更加智能 - 使我们能够确定何时应该缓存HTML,何时不应该缓存HTML。这样做的好处是,它可以将更多内容移到用户附近,并且可以自动进行 - 无需配置。这样做的好处是不小的:对于90%的台式机用户,首字节时间(TTFB)减少了72%,首次内容绘制缩短了23%,速度指数减少了13%。我们从WordPress(占所有网站的38%)开始提供支持,并计划在不久的将来扩展到其他平台。
全天候:Cloudflare TV
十年是一段很长的时间。对于Cloudflare来说,这一里程碑似乎是回顾互联网过去十年的绝佳机会——有什么变化,有什么让我们惊讶的事情?更重要的是:未来十年会发生什么?
为了回顾并展望未来,我们很荣幸地邀请到了科技界及其他领域的一些知名人士。亮点包括:苹果联合创始人Steve Wozniak,Zoom首席执行官Eric Yuan,OpenTable首席执行官Debby Soo,Stripe联合创始人兼总裁John Collison,谷歌前首席执行官兼执行主席以及施密特期货联合创始人Eric Schmidt,McAfee前首席执行官Chris Young,前海豹六支队司令Dave Cooper,Project Include首席执行官Ellen Pao等。总而言之,一周中有 24小时的现场讨论。
以上,即是我们十周年生日周的所有内容!感谢过去10年参与Cloudflare旅程的每一个人:我们的客户、团队成员、朋友和支持者,以及我们在世界各地的合作伙伴:谢谢你们!这是一段不可思议的旅程。
而且,正如我们的联合创始人Michelle喜欢说的那样,我们才刚刚起步。