在过去的 15 年中,众多组织一直在使用 Google Cloud 无服务器产品来连接世界、保护云上银行业务、为大众提供免费教育、革新化妆品行业、重新构建货运行业、重新定义零售行业等等。

如今,随着 Cloud Run 作业和 Cloud Run 第二代执行环境的正式发布,您可以在我们的无服务器平台上构建无限的空间。

Cloud Run 最初是围绕网站或 API 服务的需求而设计的,允许用户运行响应 HTTP 请求或事件的“服务”。该服务非常适合需要为请求提供服务或自动扩缩以满足流量需求的工作负载。

但是,使用 Cloud Run 创新和改变整个行业的组织希望有一种方法可以使用无服务器环境来运行其他不太适合 HTTP 请求范例的工作负载。例如:内部管理作业、脚本、编排工作负载、轻量级数据转换任务、按计划运行而不是响应事件的工作负载等,更重要的是,在完成后可以退出。

通过一些变通方法,这些需求可以通过使用一些 Cloud Run 服务来实现,例如,通过将 Web 服务器捆绑到容器中并让传入请求启动作业本身,或者通过将单个作业分解为更小、更短的任务来避免超时。但是这些解决方法都需要更改代码,这让现有工作负载迁移到无服务器环境变得更加困难。

那么,借助 Cloud Run 的最新功能,您能够:

  • 批量数据转换现在可以使用无服务器架构实现。

  • 数据库迁移现在可以使用无服务器架构实现。

  • 夜间报告现在可以使用无服务器架构实现。

  • 执行到完成的作业现在可以使用无服务器架构实现。

  • 即使是访问网络文件系统也可以使用无服务器架构实现!

让我们深入了解一下。

Cloud Run 作业

借助 Cloud Run 作业,过去耗时的手动流程现在可以简化为计划作业或简单的命令行操作 Cloud Run 作业。在 Google I/O 上推出的预览版,让开发人员能够执行不响应 HTTP 请求的长时间、从运行到完成的脚本 —— 所有这些都在无服务器平台上进行。企业开发人员想要将传统脚本现代化并移植到无服务器环境中,可以不必将代码重新设计为事件驱动模型。

“我们有大量数据处理任务在云上运行。其中一些任务运行时间长,需要大量计算资源。然而,为此目的管理虚拟机非常耗时,并且分散了我们对高价值活动的注意力。借助 Cloud Run 作业,我们现在可以利用无服务器服务的全部功能,包括更快的部署时间、改进的构思周期和开箱即用的自动化。此外,该服务消除了持续维护计算资源的需求,从而节省了成本。”—— 德国商业银行卓越网络中心负责人,Christian Gork

Cloud Run 第二代执行环境

Cloud Run 的新执行环境提供更高的 CPU 和网络性能,并允许您挂载网络文件系统。它允许您将使用网络文件系统的现有应用程序迁移到 Cloud Run,而无需重写它们的存储层。无论您是使用 Cloud Filestore、运行自己的 NFS 服务器,还是想通过 Cloud Storage FUSE 访问您的云存储文件,Cloud Run 可以都可以让您访问您的网络文件系统。此外,第二代执行环境完全兼容所有 Linux 特性,可以更轻松地将现有容器迁移到 Cloud Run。这意味着之前由于未实现的系统调用问题而无法在 Cloud Run 中运行的软件,现在可以在 Cloud Run 的第二代执行环境中运行。

“当我们迁移到 Cloud Run 时,它的可扩展性、弹性和易用性给我们留下了深刻的印象。然后我们决定切换到第二代执行环境,它使我们的启动时间加快了 4 倍!这使得我们能够轻松地将许多微批处理作业从本地老式应用服务器迁移到基于运行在 Cloud Run 第二代执行环境上的、基于 Apache Camel 的全管理服务器集成平台。”—— 家乐福首席信息官,Alessandra Franca Grendele

我们之所以能够实现这些改进,是因为第二代执行环境基于微型 VM。这意味着与使用 gVisor 的第一代执行环境不同,在第二代执行环境中运行的容器可以访问完整的 Linux 内核。

我们的无服务器愿景是在一个功能强大、深度集成且易于使用的环境中支持尽可能广泛的工作负载和用例。如果您认为它们不适合无服务器而一直没有将应用程序迁移到 Cloud Run,那么请重新审视一下。


相关推荐