Snowpark Container Services

关于 Snowpark Container Services

Snowpark Container Services 是一种完全托管的容器服务,旨在促进 Snowflake 生态系统中容器化应用程序的部署、管理和扩展。此服务使用户能够直接在 Snowflake 中运行容器化的工作负载,确保无需将数据移出 Snowflake 环境进行处理。与 Docker 或 Kubernetes 等传统容器编排平台不同,Snowpark Container Services 提供专门针对 Snowflake 优化的 OCI 运行时执行环境。此集成允许无缝执行 OCI 镜像,并利用 Snowflake 稳健的数据平台。

作为一种完全托管的服务,Snowpark Container Services 简化了运营任务。它按照最佳实践来处理容器管理的复杂性(包括安全性和配置)。这确保了用户可以专心开发和部署应用程序,而无需负担管理底层基础设施的开销。

Snowpark Container Services 与 Snowflake 完全集成。例如,应用程序可以轻松执行以下任务:

  • 连接到 Snowflake 并在 Snowflake 虚拟仓库中运行 SQL。

  • 访问 Snowflake 暂存区中的数据文件。

  • 处理从 SQL 查询发送的数据。

Snowpark Container Services 还与第三方工具集成。它允许您使用第三方客户端(例如 Docker)轻松地将应用程序镜像上传到 Snowflake。无缝集成使团队更容易专注于构建数据应用程序。

您可以跨 Snowflake 区域和云平台运行和扩展应用程序容器工作负载,而无需克服管理控制平面或工作节点的复杂性,并且还能够快速轻松地访问 Snowflake 数据。

Snowpark Container Services 解锁了广泛的一系列新功能,包括以下功能:

  • 创建长时间运行的服务。

  • 使用 GPUs 提高系统的速度和处理能力。

  • 使用各种语言(例如,C++)编写应用程序代码。

  • 将各种库与应用程序一起使用。

这一切都带有 Snowflake 平台的优势,其中最引人注目的是易用性、安全性和治理功能。现在,强大的 Snowflake 数据层旁边多了一个可扩展、灵活的计算层,而且无需将数据移出平台。

它是如何工作的?

要在 Snowpark Container Services 中运行容器化的应用程序,除了使用基本 Snowflake 对象(如数据库和仓库)外,还可以使用以下对象:镜像仓库计算池服务

Snowflake 提供 镜像注册表,它是一种符合 ` OCIv2 <https://github.com/opencontainers/distribution-spec/blob/main/spec.md (https://github.com/opencontainers/distribution-spec/blob/main/spec.md)> _ 规范的服务,用于存储镜像。这使 OCI 客户端(如 Docker CLI 和 SnowSQL)可以访问 Snowflake 账户中的镜像注册表。通过使用这些客户端,您可以将应用程序镜像上传到 Snowflake 账户中的 *镜像仓库* (存储单元)。有关更多信息,请参阅 :doc:`使用镜像注册表和镜像仓库 <working-with-registry-repository>

将应用程序镜像上传到镜像仓库后,您可以通过创建长时间运行的 服务 或执行 作业服务 来运行应用程序。

  • 服务运行时间较长,因此,不再需要服务时请明确停止它,就像 Web 服务一样。如果服务容器退出(无论出于何种原因),Snowflake 都会重新启动该容器。要创建服务(例如全栈 Web 应用程序),请使用 CREATE SERVICE 命令。

  • 作业服务的生命周期有限,就像存储过程一样。当所有容器都退出时,作业服务便已完成。Snowflake 不会重新启动任何作业服务容器。要启动作业服务(例如使用 GPUs 训练机器学习模型),请使用 EXECUTE JOB SERVICE 命令。

    重要

    Snowpark Container Services 作业服务功能目前为非公开预览版,并受预览版条款的约束,详情请访问: ` <https://snowflake.com/legal (https://snowflake.com/legal)> `_。有关更多信息,请联系您的 Snowflake 代表。

有关更多信息,请参阅 使用服务

服务(包括作业服务)在 计算池 中运行,计算池是一个或多个虚拟机 (VM) 节点的集合。首先,使用 CREATE COMPUTE POOL 命令创建计算池,然后在创建服务或作业服务时指定计算池。创建计算池所需的信息包括:计算机类型、启动计算池要使用的最小节点数,以及计算池可以扩展到的最大节点数。一些受支持的计算机类型会提供 GPU。有关更多信息,请参阅 使用计算池

您可以使用 服务函数 通过 SQL 查询与服务进行通信。 您可以配置公共端点,以允许从 Snowflake 外部访问服务,并使用 Snowflake 托管的访问控制。Snowpark Container Services 还支持服务到服务的通信。有关更多信息,请参阅 使用服务

可用区域

Snowpark Container Services 目前在所有 AWS 商业 区域 都可用。

适用于 Azure 和 Google Cloud 的非公开预览版将在稍后发布。

下一步是什么?

如果您刚开始使用 Snowpark Container Services,我们建议您先浏览教程,然后继续学习其他主题,以了解更多信息并创建自己的容器化应用程序。以下主题提供了更多信息:

语言: 中文