Gerencie a computação sem servidor

Esta página explica como gerenciar o acesso à computação sem servidor e como implementar limites de taxa para ambientes sem servidor. Administradores do espaço de trabalho gerenciam a computação serverless por meio de objetos integrados de computação serverless. Um objeto de computação sem servidor é um tipo de recurso que define o limite de permissão para cargas de trabalho sem servidor. Seu workspace obtém automaticamente dois objetos de computação padrão:

  • Computação interativa padrão: rege o acesso aos notebooks e ao Databricks Connect.
  • Computação Automatizada Padrão: Controla o acesso a tarefas e pipelines declarativos do Spark no Lakeflow.

Por padrão, todos os usuários do workspace podem usar em ambos os objetos, de modo que as cargas de trabalho existentes continuam a ser executadas sem alterações. Um administrador de workspace pode remover usuários ou grupos de qualquer objeto para restringir o acesso. Um usuário que perde o acesso verá a opção de computação sem servidor como indisponível em suas superfícies de produto.

Gerenciar o acesso à computação sem servidor

Para controlar quem tem acesso à computação sem servidor, os administradores do workspace podem editar as permissões nos objetos de Computação Interativa Padrão e Computação Automatizada Padrão . Os administradores do workspace têm a permissão Pode Gerenciar por padrão, mas podem conceder a permissão a qualquer usuário. Esses objetos de computação padrão não podem ser renomeados ou excluídos.

A guia Sem servidor na página Computação listando os objetos de computação interativos e automatizados padrão

Cada objeto de computação sem servidor dá suporte a dois níveis de permissão:

Permissão Permite que você
Pode usar Executar cargas de trabalho nesta computação
Pode gerenciar Executar cargas de trabalho nessa computação e editar as permissões da computação

Você também pode gerenciar permissões para objetos de computação sem servidor programaticamente usando a API de Controle de Acesso da Conta.

Restringir o acesso a interativo sem servidor

Para limitar quem pode usar serverless para notebooks e Databricks Connect:

  1. Clique em Computação na barra lateral do workspace.
  2. Na guia Serverless, clique no menu kebab Ícone do menu kebab. ao lado de Computação interativa padrão e, em seguida, clique em Editar permissões.
  3. Remova o grupo Todos os Usuários ou o grupo que inclui todos os usuários do workspace.
  4. Adicione apenas os usuários, grupos ou entidades de serviço específicos que você deseja autorizar.

Se você revogar as permissões interativas de serverless de um usuário, os notebooks já anexados ao serverless não conseguirão se conectar quando ele executar uma célula, e o usuário não verá mais a opção Serverless como disponível no seletor de computação do notebook. Se eles tentarem executar o Databricks Connect, a solicitação de conexão falhará com um erro indicando que o usuário não tem acesso ao serverless.

Restringir o acesso a pipelines e trabalhos sem servidor

Para limitar quem pode usar sem servidor em trabalhos e pipelines:

  1. Clique em Computação na barra lateral do workspace.
  2. Na guia Sem servidor, clique no menu kebab Ícone do menu kebab. ao lado de Computação automatizada padrão e, em seguida, clique em Editar permissões.
  3. Remova o grupo Todos os Usuários ou o grupo que inclui todos os usuários do workspace.
  4. Adicione apenas os usuários, grupos ou entidades de serviço específicos que você deseja autorizar.

Se você revogar as permissões automatizadas para serverless de um usuário, todos os jobs ou pipelines existentes desse usuário em execução no serverless deixarão de ser executados. O usuário verá uma mensagem de erro se tentar executar um trabalho sem servidor.

Antes de revogar o acesso de um usuário à Computação Automatizada Padrão, audite quais trabalhos e pipelines os usuários afetados possuem. A consulta a seguir identifica cargas de trabalho recentes sem servidor para um usuário específico:

SELECT *
FROM system.billing.usage
WHERE usage_date >= date_add(now(), -30)
  AND billing_origin_product IN ('JOBS', 'DLT')
  AND identity_metadata.run_as = '<user_email>';

Verifique a coluna usage_metadata para identificar os recursos afetados, como IDs de trabalho e IDs de pipeline.

Auditar o uso sem servidor

Os registros de faturamento serverless incluem um campo serverless_compute_id em usage_metadata. Use-o para rastrear em qual objeto de computação uma carga de trabalho foi executada:

SELECT
  usage_metadata.serverless_compute_id,
  identity_metadata.run_as,
  SUM(usage_quantity) AS total_dbus
FROM system.billing.usage
WHERE billing_origin_product IN ('JOBS', 'DLT', 'INTERACTIVE')
  AND usage_metadata.serverless_compute_id IS NOT NULL
  AND usage_date >= date_add(now(), -30)
GROUP BY 1, 2
ORDER BY 3 DESC;

Recursos compatíveis de controle de acesso para computação sem servidor

Os recursos a seguir se integram aos controles de acesso da computação sem servidor.

Interativo (Computação Interativa Padrão)

  • Notebooks e notebooks de GPU sem servidor
  • Databricks Connect

Automatizado (Computação Automatizada Padrão)

  • Tarefas e tarefas de GPU sem servidor
  • Pipelines Declarativos do Spark no Lakeflow

Recursos de controle de acesso à computação serverless não suportados

Os seguintes recursos não estão integrados aos controles de acesso à computação sem servidor:

  • Databricks SQL (DBSQL)
  • Inferência em lote (ai_query())
  • Serviço de Modelo
  • Pontos de extremidade de taxa de transferência provisionados da API do Modelo de Fundação
  • Lakebase
  • Aplicativos do Databricks
  • Avaliação de agente e dados sintéticos
  • Indexação da busca vetorial
  • Otimização preditiva
  • Monitoramento do Lakehouse
  • Controle de acesso detalhado em computação dedicada. O acesso ao computo dedicado determina se um usuário pode usar controle de acesso detalhado.

Para qualquer recurso não listado aqui, entre em contato com sua equipe de conta Azure Databricks para perguntar sobre seu status.

Limitações do controle de acesso serverless

Important

Em caso de interrupção do serviço, as verificações de acesso podem falhar na abertura, e usuários que, de outra forma, teriam acesso negado podem iniciar cargas de trabalho serverless. Esse recurso tem como objetivo ajudar a governar o acesso à computação serverless. Não use esse recurso para garantir um limite absoluto de gasto nos valores finais faturados. O Azure Databricks não se responsabiliza pelos custos incorridos por cargas de trabalho que rodam durante tal evento.

  • Você não pode renomear ou excluir objetos de computação padrão.
  • Um trabalho ou pipeline já configurado para ser executado em modo sem servidor falha para qualquer usuário que perder o acesso Can Use à Computação Automatizada Padrão. Examine as cargas de trabalho ativas antes de remover o acesso de um usuário.
  • A computação em segundo plano (trabalhos iniciados pelo sistema) é isenta de controles de acesso de computação sem servidor.

Defina limites de taxa para computação serverless

Important

Os limites de taxa estão no Private Preview. Para ingressar nesta versão prévia, entre em contato com sua equipe de conta do Azure Databricks. Após ingressar na versão prévia, os administradores do espaço de trabalho podem habilitá-la na página Prévias usando a configuração Limite de taxa de computação sem servidor.

Um limite de taxa limita quanto uma carga de trabalho automatizada pode gastar, limitando até onde ela pode escalar automaticamente. Administradores de workspace podem criar objetos de computação automatizados personalizados e atribuir a cada um um limite de taxa. Quando uma carga de trabalho roda em um objeto de computação que possui limite de taxa, o escalonador automático serverless não escala os executores Spark da carga além do tamanho definido no objeto.

Os limites de taxa se aplicam apenas a cargas de trabalho automatizadas (tarefas e Spark Declarative Pipelines no Lakeflow). Cargas de trabalho interativas (notebooks e Databricks Connect) não estão sujeitas a limitação de taxa.

Um limite de taxa é expresso como tamanho. Cada tamanho equivale a um limite aproximado de DBUs que uma carga de trabalho pode consumir por hora. A limitação de taxa restringe apenas o escalonamento automático dos executores do Spark. Ele não impõe limite a outros componentes de uma carga de trabalho, como o driver, VMs de REPL, GPUs ou atualizações de exibições materializadas e de tabelas de streaming.

O limite de taxa se aplica por carga de trabalho. Cada trabalho e cada pipeline que utiliza um objeto de computação são limitados de forma independente. Dois trabalhos que usam o mesmo objeto de computação recebem cada um o limite máximo. Dentro de um único job, o limite é compartilhado entre todas as tarefas do job.

Requisitos de limite de taxa

  • Para criar e gerenciar objetos computacionais serverless, você deve ser administrador de workspace ou usuário com criação de cluster sem restrições.
  • Os limites de taxa sem servidor exigem o Azure Databricks Runtime 17.3.1 ou posterior. As tarefas usam automaticamente o ambiente de execução mais recente. Para Pipelines declarativos do Spark no Lakeflow, opte por usar o runtime do canal de prévia.

Crie uma computação sem servidor com limite de requisições

  1. Clique em Computação na barra lateral do workspace.
  2. Na aba Serverless , clique em Criar computação serverless.
  3. Insira um nome.
  4. Para Tamanho, selecione o limite de taxa a aplicar, de Pequeno a 2X Grande. Deixe definido como Default para usar o limite padrão do seu espaço de trabalho.
  5. Clique em Criar.

A caixa de diálogo Criar nova computação automatizada sem servidor com um nome informado e o tamanho definido como médio

O novo objeto de computação aparece na aba Serverless com o tipo Automatizado. Para permitir que os usuários executem cargas de trabalho nesse recurso, conceda a eles as permissões Can Use ou Can Manage, conforme descrito em Gerenciar acesso à computação sem servidor. Você não pode editar o tamanho de um objeto de computação padrão.

Tamanhos dos limites de taxa

Cada tamanho corresponde a um limite aproximado de DBUs por hora:

Tamanho Limite aproximado
Pequeno ~60 DBUs por hora
Medium ~120 DBUs por hora
Grande ~240 DBUs por hora
Extra Grande ~480 DBUs por hora
2X-Extra Grande ~960 DBUs por hora

Esses limites máximos são limiares direcionais. O uso real pode oscilar em torno deles devido à variabilidade inerente da infraestrutura serverless.

Escolher Padrão aplica o limite padrão do seu espaço de trabalho: Médio para espaços de trabalho de nível premium, ou Grande para espaços de trabalho de nível corporativo. Esses limites correspondem aos limites máximos padrão de autoescalonamento existentes para cargas de trabalho automatizadas sem servidor.

Execute uma carga de trabalho em computação com taxa limitada

Um usuário com Pode Usar em um objeto de computação pode selecioná-lo ao configurar um trabalho ou pipeline. A carga de trabalho então é executada dentro do limite de taxa do recurso computacional. Se uma carga de trabalho não especificar um objeto de computação, ela volta para o Cálculo Automatizado Padrão do seu workspace. Se o usuário não tiver acesso a esse padrão, a carga de trabalho não executa.

  • Jobs: Selecione o objeto de computação sem servidor no nível do job, seja nas configurações de Computação do job na interface do usuário ou fazendo referência ao ID do recurso de computação na API de Jobs. Para copiar o ID, abra o objeto de computação na aba Serverless e clique em Copiar ID de computação.
  • Spark Declarative Pipelines no Lakeflow: Selecione o recurso de computação automatizado como o recurso de computação sem servidor de um pipeline no editor do Lakeflow.

Quando um limite de taxa restringe uma carga de trabalho, você pode visualizar o impacto no histórico de consultas da carga de trabalho ou, no caso de pipelines, na interface do usuário do Lakeflow.

Limitações de limite de taxa

  • Limites de taxa limitam apenas o autoscaling do executor Spark. Outros componentes de custo, como o driver, VMs REPL, GPUs e atualizações de visualizações materializadas ou de tabelas de streaming, não têm limite.
  • O limite de DBU por hora para cada tamanho é uma estimativa. O uso real pode exceder a meta devido a flutuações modestas no limite aplicado e à variabilidade inerente da infraestrutura serverless.
  • Uma carga de trabalho no tamanho 2X-Large pode ter desempenho abaixo do esperado porque o tamanho físico do cluster é limitado a 256 executores. Se duas ou mais cargas de trabalho 2X-Large forem agendadas no mesmo cluster de runtime, cada uma pode atingir desempenho inferior ao esperado.
  • Devido aos detalhes da implementação da faturação, a mesma carga de trabalho pode gerar diferentes usos de DBUs sob diferentes limites de taxa.
  • Você não pode definir um limite de taxa em um objeto de computação padrão.