Deno Subhosting:运行不受信任的多租户代码的最简单、最安全的方式
今天,我们很高兴推出 Deno Subhosting 的自助服务版本——该平台使公司能够安全地运行用户编写的不受信任的 JavaScript 代码。 达到这一步是一个漫长的旅程,几乎在两年前就开始了,当时我们与 Netlify 合作,为其边缘函数产品提供支持。 从那时起,我们的子托管基础设施不断发展,每月处理数百亿个请求。 随着这项新功能的发布,任何人只需几行代码即可为其产品添加闪电般快速的托管功能。
为什么选择 Subhosting?
自 2021 年推出 Deno Deploy(我们的云托管解决方案)以来,我们惊讶地发现,许多公司联系我们提出了如下类似的需求:
Deno 团队您好,是否可以访问你们用来运行托管产品的 API? 我们希望让我们的用户能够在我们的应用程序中编写一些自定义逻辑,但在我们的公共云中进行设置会带来一些安全问题和大量额外工作。 特别是如果我们希望它快速且无服务器地运行。 理想情况下,我们将结合使用 Deno 的运行时来实现安全沙箱,并自动部署到 Deno 的云基础设施——就像 Deno 为 Netlify 边缘函数提供支持的方式一样。
在收到数十个类似请求后,我们意识到子托管有机会解决广泛的需求。 使公司能够快速安全地运行用户编写的自定义代码——而无需配备和维护专门的工程团队来完成这项工作。
为什么要运行不受信任的代码?
如果您查看大多数主要的 B2B SaaS 公司,您会发现很大一部分公司已经允许其用户在其产品中编写一些自定义逻辑。 这主要有两个原因——这两个原因都为转化和留存带来了显着的好处
扩展产品功能和自定义。 例如,像 Airtable、Atlassian、Slack 和 Zoom 这样的公司都允许其用户通过代码创建自定义工作流程、自动化和集成。 这些公司没有试图单独满足主要客户提出的长尾功能请求,而是让他们的客户能够为自己的需求创建完美的解决方案。
为第三方应用程序创建市场。 例如,像 Shopify、HubSpot 和 Salesforce 这样的公司在构建自定义编码的第三方应用程序市场方面非常成功。 这个市场不仅无缝扩展了核心产品的功能,而且还加深了合作伙伴对生态系统的投入。
尽管这些功能在最大的 B2B SaaS 公司中更为常见,但它们的吸引力却更广泛。 早期和中期创业公司越来越多地寻求向客户提供这些相同的工具,以此作为差异化和提供价值的一种方式,尤其是在开发人员是主要买家的情况下。 问题在于,安全地运行不受信任的代码通常需要大量投资,而在工程资源有限的情况下,很难优先考虑这项投资。
常见的工程和业务障碍
在我们与从小创业公司到大型企业的公司进行的对话中,我们反复听到在运行不受信任的代码时出现的一些主要挑战。 通常,当充分考虑实施成本时,这些挑战会导致项目不断被推迟或阻止。 这些挑战包括
安全地运行代码:企业对在其基础设施上运行用户编写的代码持谨慎态度,这是可以理解的,以防止意外授予对内部系统或其他用户数据的访问权限,或者担心代码可能以其他方式被恶意使用(例如,发送垃圾邮件)。 Deno 提供了全面的安全对策来应对这些担忧。
保持用户体验:在为用户提供通过编码增强产品功能的能力时,至关重要的是他们不必面对陡峭的学习曲线或不必要的障碍,例如编写大量样板代码。 Deno 使用最广为人知的编程语言,提供 广泛的标准库,支持 所有相关的现代 Web 标准,并且 兼容 200 万+ NPM 包。
基础设施管理和扩展:在公共云环境中监管运行用户创建的代码的基础设施会带来一些挑战。 例如,为不同的客户使用相同的 VM 或容器使得难以正确隔离。 每个客户使用不同的 VM 或容器会使成本激增。 Deno Subhosting 旨在解决这些问题,以及与升级和扩展相关的其他问题。
基于用量的客户计费:通常,企业的目标是使用代码作为付费功能的一部分或根据用量向客户收费。 但是,当托管在公共云提供商上时,可能很难将用量或成本归因于产生这些用量的客户。 在 Deno Subhosting 上,将成本归因于客户既简单又直接。
查看 Deno Subhosting
我们构建 Deno Subhosting 的目的是提供一种简单的方法来提供运行不受信任的用户代码的所有好处,同时解决所有主要挑战。 对于 Deno Deploy 的新用户,请查看我们的新 Subhosting 产品页面 或 开始使用免费的 Subhosting 帐户(无需信用卡)。
如果您已经拥有 Deno Deploy 帐户,则可以登录并创建一个新组织来查看 Subhosting,然后在下一个屏幕中选择“Subhosting”。