跳到主要内容
Deno 2.4 发布,带来 deno bundle、字节/文本导入、OTel 稳定版等更多功能
了解更多
Introducing a new way to leverage Deno Deploy's multi-tenant v8 isolate cloud to run your users code securely.

Deno 子托管:运行不受信任的多租户代码最简单、最安全的方式

今天,我们很高兴推出Deno 子托管的自助服务版本——一个让公司能够安全运行用户编写的不受信任的 JavaScript 代码的平台。走到这一步是一段漫长的旅程,始于近两年前与 Netlify 合作为其边缘函数产品提供支持。自那时以来,我们的子托管基础设施已发展到每月处理数百亿个请求。通过这次新的发布,任何人只需几行代码即可为他们的产品添加闪电般快速的托管功能。

为什么选择子托管?

自 2021 年推出Deno Deploy(我们的云托管解决方案)以来,我们对收到大量公司提出的类似以下请求感到惊讶:

Deno 团队你好,我们是否可以访问您用于运行托管产品的 API?我们希望让我们的用户能够在我们的应用程序中编写一些自定义逻辑,但在我们的公共云中设置这会带来一些安全问题和大量的额外工作。特别是如果我们要让它快速无服务器运行的话。理想情况下,我们将结合使用 Deno 的运行时进行安全沙盒处理,并自动化部署到 Deno 的云基础设施——就像 Deno 为 Netlify 边缘函数提供支持一样。

在处理了几十个这样的请求后,我们意识到子托管有机会解决一个普遍存在的需求。它使公司能够快速安全地运行用户编写的自定义代码,而无需专门配备并维护一个工程团队来完成这项工作。

为什么要运行不受信任的代码?

如果你看看大多数主要的 B2B SaaS 公司,你会发现绝大多数都已经允许用户在他们的产品中编写一些自定义逻辑。这主要有两个原因——两者都为转化和留存带来了显著的好处

  1. 扩展产品功能与定制。例如,Airtable、Atlassian、Slack 和 Zoom 等公司都允许用户通过代码创建自定义工作流、自动化和集成。这些公司没有试图单独满足主要客户的大量长尾功能请求,而是赋能客户为自己的需求创建完美的解决方案。

  2. 创建第三方应用市场。例如,Shopify、HubSpot 和 Salesforce 等公司在建立自定义编码第三方应用市场方面非常成功。这个市场不仅无缝扩展了核心产品的功能,还加深了合作伙伴对生态系统的投入。

尽管这些功能在最大的 B2B SaaS 公司中更为常见,但它们的吸引力要广泛得多。早期和中期创业公司正越来越多地寻求向客户提供这些相同的工具,作为差异化和提供价值的一种方式,尤其是当开发者是主要购买者时。问题在于,安全地运行不受信任的代码通常需要大量的投入,而有限的工程资源难以优先考虑。

常见的工程和业务障碍

在与从小型创业公司到大型企业的公司交流中,我们多次听到在运行不受信任的代码方面存在一些主要挑战。当考虑到实施的全部成本时,这些挑战常常导致项目被不断推迟或阻碍。这些挑战包括:

  1. 安全运行代码:企业对在其基础设施上运行用户编写的代码持谨慎态度是完全可以理解的,以防止无意中访问内部系统或来自其他用户的数据,或担心代码可能以其他方式被恶意使用(例如发送垃圾邮件)。Deno 为这些问题提供了全面的安全对策。

  2. 保持用户体验:在向用户提供通过编码增强产品的功能时,至关重要的是他们不必面对陡峭的学习曲线或不必要的障碍,例如编写大量样板代码。Deno 使用最广为人知的编程语言,提供广泛的标准库,支持所有相关的现代 Web 标准,并兼容 200 万+ NPM 包

  3. 基础设施管理与扩展:在公共云环境中监督运行用户创建代码的基础设施面临多项挑战。例如,对不同客户使用相同的虚拟机或容器难以进行适当隔离。而为每个客户使用不同的虚拟机或容器则会使成本激增。Deno 子托管旨在解决这些问题,以及与升级和扩展相关的其他问题。

  4. 基于用量的客户计费:通常,企业希望根据付费功能或使用情况向使用代码的客户计费。然而,当托管在公共云提供商上时,很难将使用量或成本归因于产生它们的客户。在 Deno 子托管上,将成本归因于客户是简单明了的。

了解 Deno 子托管

我们构建了Deno 子托管,旨在提供一种简单的方式,既能享受运行不受信任用户代码的所有好处,又能解决所有主要挑战。对于 Deno Deploy 的新用户,请查看我们的新子托管产品页面免费开通子托管账户(无需信用卡)。

如果您已经拥有 Deno Deploy 账户,可以通过登录并创建一个新组织,然后在下一个屏幕中选择“子托管”来查看子托管功能。

Checking out Deno Subhosting