Snowpark Container Services

Sobre Snowpark Container Services

Snowpark Container Services é uma oferta de contêiner totalmente gerenciada, projetada para facilitar a implantação, o gerenciamento e o dimensionamento de aplicativos em contêineres no ecossistema Snowflake. Este serviço permite que os usuários executem cargas de trabalho em contêineres diretamente no Snowflake, garantindo que os dados não precisem ser movidos para fora do ambiente Snowflake para processamento. Ao contrário das plataformas tradicionais de orquestração de contêineres, como Docker ou Kubernetes, o Snowpark Container Services oferece um ambiente de execução de tempo de execução OCI otimizado especificamente para Snowflake. Essa integração permite a execução perfeita de imagens OCI, aproveitando a robusta plataforma de dados do Snowflake.

Como um serviço totalmente gerenciado, o Snowpark Container Services simplifica as tarefas operacionais. Ele lida com as complexidades do gerenciamento de contêineres, incluindo segurança e configuração, de acordo com as práticas recomendadas. Isso garante que os usuários possam se concentrar no desenvolvimento e na implantação de seus aplicativos sem a sobrecarga de gerenciamento da infraestrutura subjacente.

Snowpark Container Services está totalmente integrado ao Snowflake. Por exemplo, seu aplicativo pode executar facilmente estas tarefas:

  • Conecte-se ao Snowflake e execute SQL em um warehouse virtual do Snowflake.

  • Acesse arquivos de dados em um estágio Snowflake.

  • Processe os dados enviados de consultas SQL.

O Snowpark Container Services também está integrado a ferramentas de terceiros. Ele permite que você use clientes de terceiros (como Docker) para carregar facilmente as imagens do seu aplicativo para o Snowflake. A integração perfeita faz com que as equipes se concentrem melhor na criação de aplicativos de dados.

Você pode executar e dimensionar suas cargas de trabalho de contêiner de aplicativos em regiões e plataformas de nuvem do Snowflake sem a complexidade de gerenciar um plano de controle ou nós de trabalho, além de ter acesso rápido e fácil aos dados do Snowflake.

Snowpark Container Services desbloqueia uma ampla gama de novas funcionalidades, incluindo estes recursos:

  • Crie serviços de longa duração.

  • Use GPUs para aumentar a velocidade e os recursos de processamento de um sistema.

  • Escreva o código do seu aplicativo em qualquer linguagem (por exemplo, C++).

  • Use qualquer biblioteca com seu aplicativo.

Tudo isso vem com benefícios da plataforma Snowflake, principalmente recursos de facilidade de uso, segurança e governança. E agora você tem uma camada de computação escalonável e flexível ao lado da poderosa camada de dados Snowflake, sem a necessidade de mover dados para fora da plataforma.

Como funciona?

Para executar aplicativos em contêineres no Snowpark Container Services, além de trabalhar com os objetos básicos do Snowflake, como bancos de dados e warehouses, você trabalha com estes objetos: repositório de imagens, pool de computação, serviço e trabalho.

Snowflake oferece registro de imagens, um serviço compatível com OCIv2, para armazenar suas imagens. Isso permite que clientes OCI (como Docker CLI e SnowSQL) acessem um registro de imagem em sua conta Snowflake. Usando esses clientes, você pode fazer upload das imagens do seu aplicativo para um repositório (uma unidade de armazenamento) em sua conta Snowflake. Para obter mais informações, consulte Como trabalhar com um registro e repositório de imagens.

Depois de fazer upload da imagem do seu aplicativo para um repositório, você poderá executar os contêineres do seu aplicativo como um serviço ou um trabalho.

  • Um serviço é de longa duração e, como acontece com um serviço Web, você o interrompe explicitamente quando não é mais necessário. Se um contêiner de serviço for encerrado (por qualquer motivo), o Snowflake reinicia esse contêiner. Para criar um serviço, como um aplicativo da web full stack, use o comando CREATE SERVICE.

  • Um trabalho tem uma vida útil finita, semelhante a um procedimento armazenado. Quando todos os contêineres saírem, o trabalho estará concluído. Snowflake não reinicia nenhum contêiner de trabalho. Para criar um trabalho, como treinar um modelo de machine learning com GPUs, use o comando EXECUTE SERVICE.

    Importante

    O recurso de trabalho do Snowpark Container Services está atualmente em versão preliminar privada e sujeito aos Termos de versão preliminar em https://snowflake.com/legal. Entre em contato com seu representante Snowflake para obter mais informações.

Para obter mais informações, consulte Como trabalhar com serviços e Como trabalhar com trabalhos.

Seus serviços e trabalhos são executados em um pool de computação, que é uma coleção de um ou mais nós de máquinas virtuais (VM). Primeiro, você cria um pool de computação usando o comando CREATE COMPUTE POOL e, em seguida, especifica o pool de computação ao criar um serviço ou trabalho. As informações necessárias para criar um pool de computação incluem o tipo de máquina, o número mínimo de nós para iniciar o pool de computação e o número máximo de nós para os quais o pool de computação pode ser dimensionado. Alguns dos tipos de máquinas compatíveis fornecem GPU. Para obter mais informações, consulte Como trabalhar com pools de computação.

Um trabalho é executado de forma independente até a conclusão. No entanto, um serviço é executado continuamente e você pode se comunicar com ele.

Você pode usar funções de serviço para se comunicar com um serviço a partir de uma consulta SQL. Você pode configurar pontos de extremidade públicos para permitir o acesso ao serviço de fora do Snowflake, com o controle de acesso gerenciado pelo Snowflake. O Snowpark Container Services também oferece suporte a comunicações entre serviços. Para obter mais informações, consulte Como usar um serviço.

Regiões disponíveis

Atualmente, o Snowpark Container Services está disponível em todas as regiões comerciais do AWS.

A versão preliminar privada do Azure e Google Cloud será anunciada posteriormente.

Qual é o próximo passo?

Se você for novo no Snowpark Container Services, sugerimos que primeiro explore os tutoriais e depois continue com outros tópicos para saber mais e criar seus próprios aplicativos em contêineres. Os tópicos a seguir fornecem mais informações: