GinoGino

2024 Cloudflare 开发者周观察:技术创新与全栈开发体验的革新

14 分钟阅读编程技术

引言

2024 年的 Cloudflare Developer Week 无疑是一场技术盛宴,它不仅展示了 Cloudflare 对开发者社区的深切承诺,也预示着未来互联网技术的发展方向。从全栈开发体验的优化到人工智能的深度整合,每一项创新都旨在为全球开发者提供更强大、更灵活的开发工具。

在这次活动中,Cloudflare 强调了将想法转化为现实的过程虽然充满挑战,但也充满乐趣。他们认为,一个优秀的平台不仅要提供必要的组件,更要确保这些组件能够无缝协作,让开发过程更加流畅。通过 Workers 服务的绑定等方式,Cloudflare 为开发者提供了一个高度集成的开发体验,并分享了对统一数据平台的愿景。

1. 欢迎来到 2024 年开发者周

原文链接

在 2024 年开发者周的开幕中,Cloudflare 带来了一场令人瞩目的技术盛宴,旨在为开发者提供从前端到后端,再到人工智能的全栈云开发体验。他们强调,一个成功的平台不仅需要提供必要的组件,更要确保这些组件能够完美协作。

通过 Workers 服务的绑定机制,Cloudflare 为开发者提供了一个高度集成的开发环境,并展示了他们对统一数据平台的愿景。他们还提出了"连接云"的概念,让开发者能够轻松地将服务连接到现有基础设施或其他提供商,确保应用程序在全球范围内保持高性能。

Cloudflare 特别强调了实验的重要性,他们通过提供慷慨的免费层级支持开发者进行创新尝试。他们认为,实验是创新过程中不可或缺的一部分,即使失败也是通往成功的必经之路。

2. 使用 D1 GA、Hyperdrive、Queues 和 Workers Analytics Engine 简化全栈开发

原文链接

Cloudflare 在开发者周宣布了三项重要产品的全面上市(GA)。首先是 D1 数据库,这是一个无服务器的 SQL 数据库,现已正式投入生产环境。D1 支持大容量数据库操作、数据导出功能,并提供了增强的查询调试工具。其最大亮点是读取复制功能,能够自动部署读取副本,让数据更接近用户,同时避免一致性问题。

Hyperdrive 的正式发布带来了革命性的改变,它能让传统的集中式数据库表现得像分布式数据库一样高效。通过支持多种流行的数据库驱动和 ORM 库,Hyperdrive 为使用 Workers Paid 计划的开发者提供了免费的性能优化服务。

Workers Analytics Engine 也宣布正式上市,这个时间序列数据库通过内置 API 让开发者能够轻松从 Workers 写入数据点,并使用 SQL API 进行查询。其简单明了的定价模式基于写入的数据点和读取查询,避免了复杂的维度计费。

3. 为什么 Workers 环境变量包含实时对象

原文链接

Cloudflare Workers 的一个独特特性是环境变量中的实时对象绑定。这项创新让开发者能够直接与数据库、认证服务等资源进行交互,无需处理繁琐的密钥和配置过程。

通过一个简单的 Workers KV 存储示例,我们可以看到环境变量 env.MY_KV 是一个可直接调用 get() 方法的对象,而不是传统的字符串。这种设计不仅减少了模板代码,更重要的是提升了安全性,特别是在防御 SSRF 攻击方面表现出色。

绑定机制还简化了 API 密钥管理,因为无需传递和存储密钥,从而降低了密钥泄露的风险。同时,所有服务间的通信都通过安全的绑定进行,省去了证书管理的麻烦。

4. 构建 D1:全球数据库

原文链接

D1 是 Cloudflare 推出的全球分布式数据库服务,它基于 SQLite 的 SQL 方言,并提供了丰富的开发者工具集成,如 Drizzle ORM。作为一个无服务器数据库,D1 让开发者无需关心资源配置和灾难恢复,只需按实际使用量付费。

D1 的一大特色是其异步读取复制技术,能够在多个服务器上创建主数据库的只读副本,显著提升性能并降低查询延迟。通过引入会话概念和 Lamport 时间戳,D1 确保了在分布式环境中的数据一致性。

5. 升级 Workers AI:正式推出更多新功能

原文链接

Workers AI 推理平台现已正式发布(GA),并带来了一系列重要更新。通过升级内置的负载均衡技术,请求可以被路由到更多城市的 GPU 上,显著提升了处理速度和效率。平台的请求限制也得到了大幅提升,大型语言模型(LLMs)的请求上限从每分钟 50 次提升到了 300 次。

Cloudflare 还加强了与 Hugging Face 的合作,用户现在可以在 Hugging Face 上找到并在 Workers AI 平台上运行流行的模型。此外,新推出的自带 LoRAs(BYO LoRAs)功能让开发者能够在运行时将 LoRA 适配器应用于基础模型,实现更灵活的模型微调。

Python 支持的加入是另一个重要突破,开发者现在可以使用 Python 编写 Cloudflare Workers,并且能够访问所有 Cloudflare 资源的绑定。

6. 使用 Pyodide 和 WebAssembly 将 Python 引入 Workers

原文链接

Cloudflare Workers 现在正式支持 Python 编程语言,这是通过将 Python 实现直接集成到开源的 Workers 运行时 workerd 中实现的。这项新功能让开发者可以使用 Python 编写 Cloudflare Workers,并且从第一天起就支持所有绑定,包括与 Vectorize、Workers AI、R2、Durable Objects 等的集成。

为了实现 Python 在 Workers 上的运行,Cloudflare 对运行时、部署系统以及 Worker 捆绑程序进行了改进。文章详细介绍了 Python Worker 的内部生命周期,并分享了在这一过程中获得的经验和未来的发展方向。

Cloudflare 通过生成内存快照来加速 Python Worker 的冷启动时间,这是通过在部署时执行昂贵的导入包操作来实现的,从而避免了在每次请求时重复这些操作。此外,通过兼容性日期和兼容性标志来管理 Pyodide 和 Python 包的新版本,确保 Worker 的长期稳定运行。

7. 使用 LoRAs 在 Workers AI 上运行微调模型

原文链接

Cloudflare 将 LoRAs 技术引入了 Workers AI 平台,使得微调大型语言模型(LLMs)变得更加高效和便捷。LoRAs 技术的核心优势在于它能够在不改变预训练模型的基础上,通过引入额外的微调权重来调整模型的行为,从而实现特定任务的优化。

Cloudflare 的 Workers AI 平台特别适合运行 LoRAs,因为它采用无服务器推理方式,模型始终预加载在 GPU 上,确保了请求的快速响应。用户可以动态加载和更换 LoRA 适配器,甚至可以为同一个基础模型插入多个适配器,满足多个不同的微调推理请求。

在技术实现方面,Cloudflare 通过 Punica CUDA 内核设计和全局缓存优化,解决了多租户 LoRA 服务在 GPU 资源利用上的挑战。Punica 内核允许 GPU 存储单一的预训练模型副本,同时服务不同的 LoRA 模型。

8. 使用管道、事件通知和工作流实现数据的无处不在

原文链接

Cloudflare 发布了新的数据平台服务,包括事件通知、Pipelines 和 Workflows 三个核心工具。事件通知服务允许开发者在数据发生变化时触发异步任务,比如更新搜索索引或处理用户上传的文件。

Pipelines 是一个即将推出的服务,用于大规模地摄取、聚合数据,并直接写入 Cloudflare R2 对象存储服务。这个服务支持多种数据传输协议,包括 HTTP、WebSocket 和 Kafka,使得数据的摄取过程更加灵活和高效。

Workflows 是一种持久执行的工作流,能够在计算资源出现故障时从中断的地方恢复执行。这意味着开发者可以构建可靠的、可重复的工作流,而不必担心底层计算资源的问题。

9. 使用 Prisma ORM 改善 Cloudflare Workers 和 D1 开发者体验

原文链接

Cloudflare Workers 和 D1 携手 Prisma ORM,为开发者带来了更加流畅的数据库操作体验。通过一个简单的案例——创建记录网站访问者数量的应用,展示了这一组合如何简化开发者的工作流程。

Prisma ORM 通过提供直观的数据建模语言、自动化迁移工作流和类型安全的客户端,让开发者能够更加专注于核心业务逻辑的开发。文章详细介绍了如何开始使用 Prisma ORM 和 D1,从创建基本的 Cloudflare Workers 应用程序,到设置 D1 数据库,初始化 Prisma ORM,并创建第一个模型。

10. Picsart 如何利用 Cloudflare 的开发者平台构建全球高性能服务

原文链接

Picsart 作为一个全球知名的数字创作平台,通过采用 Cloudflare 的开发者平台,特别是 Workers 和 Workers KV 存储服务,成功解决了全球用户访问延迟的问题。

通过 Cloudflare 在全球 310 多个城市的分布式网络,Picsart 显著提升了服务性能,将实验配置成功送达的比例从 50% 提升到了 85%,全球中位响应时间从 1500 毫秒降低到了 280 毫秒。

他们还采用了独特的数据分割策略,将配置文件按不同平台和地区拆分,提高了数据处理效率。同时采用"不可变更新"模式,确保了数据的快速更新和高效缓存性能。

11. R2 添加事件通知、支持从 Google Cloud Storage 迁移和低频访问存储层

原文链接

Cloudflare R2 推出了三项重要的新功能:事件通知的开放测试版、Super Slurper 迁移工具对 Google Cloud Storage 的支持,以及非经常访问存储层的私人测试版。

事件通知功能允许用户在 R2 数据桶中的数据发生变化时自动触发 Worker 并执行预设动作。Super Slurper 工具简化了从 GCS 迁移数据至 R2 的过程,让用户能够利用 Cloudflare 的零出口费用优势。

非经常访问存储层适用于不常访问的数据,如用户生成的长尾内容和日志等。通过使用这一新存储类别,用户可以在保持数据性能和耐用性的同时降低存储成本。

12. Cloudflare 媒体的最新更新:Calls、Stream 和 Images

原文链接

Cloudflare 对其媒体服务进行了全面升级,包括开放 Cloudflare Calls 的测试、Stream 的实时剪辑 API,以及 Images 的新功能。

Cloudflare Calls 现已开放测试,让开发者可以构建实时视频和音频应用。Stream 的实时剪辑 API 允许用户即时剪辑和分享直播流中的精彩瞬间,无需重新编码视频。

Images 服务新增了交互式上传部件和自动面部裁剪功能,简化了图片处理流程,特别适合社交媒体应用的需求。

13. 生产安全的新工具 — 渐进式部署、源映射、速率限制和新的 SDK

原文链接

Cloudflare 推出了一系列提升生产环境安全性和可靠性的工具。渐进式部署功能允许开发者通过 API、Wrangler CLI 或 Workers 仪表板逐步部署代码变更,降低了生产规模变更的风险。

源映射功能帮助开发者更有效地调试生产环境中的错误,将编译和压缩后的代码映射回原始源代码。新的速率限制 API 让开发者能够直接在 Worker 中控制请求速率,更好地管理 API 使用。

此外,Cloudflare 还发布了支持 TypeScript、Python 和 Go 的自动生成客户端 SDK,简化了与 Cloudflare API 的集成过程。

14. 宣布支持 monorepos、wrangler.toml、数据库集成等功能的 Pages!

原文链接

Cloudflare Pages 引入了多项重要更新,包括对 monorepos 的支持、wrangler.toml 配置文件的引入,以及增强的数据库集成功能。这些更新让开发者能够在一个项目中管理多个应用,并且更轻松地进行配置和数据库连接。

特别值得一提的是对 Next.js 的优化,包括新的 ESLint 插件、getRequestContext() API 以及改进的本地开发流程。这些改进显著提升了使用 Next.js 框架的开发体验。

15. Cloudflare Calls 开放测试:打造低延迟的实时通信新体验

原文链接

Cloudflare Calls 开放测试版本,让开发者能够构建实时音视频应用。通过 Anycast 技术和优化的架构设计,解决了大规模实时通信中的延迟和数据传输挑战。

服务采用灵活的会话和轨道管理机制,而不是传统的"房间"概念,让开发者能够根据需求创造各种通信场景。边缘的 "NACK 屏蔽" 技术和 TURN 服务确保了在复杂网络环境下的连接稳定性。

16. Cloudflare 收购 PartyKit,允许开发者构建实时多用户应用程序

原文链接

Cloudflare 收购 PartyKit 标志着在无服务器计算领域的重要进展。PartyKit 是一个专注于部署实时、协作性强的多人应用程序的开源平台,通过 Durable Objects 技术解决了分布式系统中的状态管理问题。

收购后,Cloudflare 承诺继续支持现有用户的项目,并计划扩展平台功能,包括与流行开发框架的集成。这次收购展现了 Cloudflare 在推动实时多用户应用程序发展方面的决心。

17. 使用全栈框架和 Cloudflare 进行快速开发

原文链接

Cloudflare 推出了针对全栈框架开发者的创新改进,包括 create-cloudflare CLI(C3)工具,简化了应用框架的搭建过程。通过 getPlatformProxy() API,开发者可以在 Node.js 和 workerd 之间实现无缝集成。

与 Vite 团队的合作正在探索将 Cloudflare 的 workerd 直接集成到开发服务器中,这将为开发者提供更接近生产环境的本地开发体验。

18. 社区更新:赋能在 Cloudflare 上构建的初创公司并创建一个包容性社区

原文链接

Cloudflare 推出了 Workers Launchpad 计划,为初创企业提供总额 20 亿美元的资金支持。该计划不仅提供资金支持,还包括创始人社区建设、投资者网络对接、虚拟训练营等资源。

同时,Cloudflare 与 DEV 合作推出了 AI 开发者挑战赛,鼓励开发者利用 Workers AI 构建创新应用。为了维护一个安全、包容的社区环境,Cloudflare 还制定了新的《行为准则》。

19. 浏览器渲染 API GA、Cloudflare Snippets、SWR 的推出以及 Workers for Platforms

原文链接

浏览器渲染 API 现已全面开放给付费 Workers 客户,支持通过编程控制无头浏览器实例。Cloudflare Snippets 功能正在逐步推广,让用户能够执行复杂的 HTTP 请求和响应修改。

即将推出的 SWR 缓存指令将提供异步重新验证机制,提高性能并确保内容的及时更新。Workers for Platforms 服务让开发者能够在 Cloudflare 平台上部署自定义代码,支持所有 Workers 相关的绑定。

20. Cloudflare 收购 Baselime 扩展无服务器应用的可观察性能力

原文链接

Cloudflare 收购 Baselime 进一步增强了其无服务器应用程序的可观察性能力。Baselime 专注于处理高基数和维度性数据,帮助开发者更好地理解和管理他们的应用程序。

通过整合 Baselime 的技术,Cloudflare 计划提供更直观的可观察性工具,并承诺将这些功能免费提供给开发者。这次收购标志着 Cloudflare 在应用监控和管理领域的重要突破。

21. 我们在 Cloudflare Workers 中添加了 JavaScript 本地 RPC

原文链接

Cloudflare Workers 推出了 JavaScript 原生 RPC 系统,简化了 Worker 之间的通信以及与持久对象的交互。这个系统具有出色的易用性和安全性,支持结构化可克隆类型的传递,并实现了接近零延迟的性能。

通过基于能力的安全概念,RPC 系统确保了通信的安全性。Cloudflare 计划将此作为"绑定市场"的基础,促进开发者之间的协作和功能共享。

22. Developer Week 2024 总结

原文链接

2024 年开发者周展示了 Cloudflare 在推动互联网技术创新方面的决心。从 D1 数据库到 Workers AI,从 Hyperdrive 到 Python 支持,每一项更新都体现了对开发者需求的深入理解。

通过收购 Baselime 和 PartyKit,Cloudflare 进一步扩展了其服务范围。FAN Communications 和 Milkshake 的成功案例证明了这些服务在实际应用中的价值。

这次开发者周不仅展示了技术创新,更展现了 Cloudflare 对构建更智能、高效和安全的互联网世界的承诺。随着这些新工具和功能的推出,我们期待看到更多创新应用的诞生。