Gerir computação sem servidor

Esta página explica como gerir o acesso à computação sem servidor e como implementar limites de taxa para ambientes sem servidor. Os administradores do espaço de trabalho gerem a computação sem servidor usando objetos incorporados de computação sem servidor. Um objeto de computação serverless é um tipo de recurso que define a fronteira de permissões para cargas de trabalho serverless. O seu espaço de trabalho inclui automaticamente dois objetos de computação por defeito:

  • Computação Interativa Predefinida: Controla o acesso a notebooks e Databricks Connect.
  • Computação automatizada predefinida: Controla o acesso a tarefas e a pipelines declarativos do Spark no Lakeflow.

Por defeito, todos os utilizadores do espaço de trabalho têm Pode Usar em ambos os objetos, pelo que as cargas de trabalho existentes continuam a correr sem quaisquer alterações. Um administrador de espaço de trabalho pode remover utilizadores ou grupos de qualquer um dos objetos para restringir o acesso. Um utilizador que perca o acesso verá a opção de computação Serverless indisponível nas interfaces do produto.

Gerir o acesso à computação sem servidor

Para controlar quem tem acesso à computação serverless, os administradores do espaço de trabalho podem editar as permissões nos objetos Computação Interativa Padrão e Computação Automática Predefinida . Os administradores do espaço de trabalho têm a permissão Pode Gerir por defeito, mas podem concedê-la a qualquer utilizador. Estes objetos de computação por defeito não podem ser renomeados ou eliminados.

O separador Serverless da página Computação, que lista os objetos de computação interativos e automatizados predefinidos

Cada objeto de computação serverless suporta dois níveis de permissões:

Permissão Permite que
Pode Ser Usado Executar cargas de trabalho neste recurso de computação
Pode gerir Execute cargas de trabalho neste cálculo e edite as permissões do cálculo

Também pode gerir permissões para objetos de computação sem servidor programaticamente, utilizando a API de Controlo de Acesso da Conta.

Restringir o acesso interativo sem servidor

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

  1. Clique em Computação na barra lateral do espaço de trabalho.
  2. No separador Serverless, clique no menu kebab. ao lado de Computação Interativa por Predefinição e, em seguida, clique em Editar permissões.
  3. Remova o grupo Todos os Utilizadores , ou o grupo que inclui todos os utilizadores do espaço de trabalho.
  4. Adicione apenas os utilizadores, grupos ou principais de serviço específicos que pretende autorizar.

Se revogar as permissões interativas do Serverless de um utilizador, os notebooks já associados ao Serverless deixarão de conseguir ligar-se quando o utilizador executar uma célula, e o utilizador deixará de ver a opção Serverless como disponível no seletor de computação do notebook. Se tentarem executar o Databricks Connect, o pedido de ligação falha com um erro que indica que o utilizador não tem acesso ao serverless.

Restrinja o acesso a tarefas e pipelines serverless

Para limitar quem pode usar serverless em jobs e pipelines:

  1. Clique em Computação na barra lateral do espaço de trabalho.
  2. No separador Serverless, clique no menu kebab ícone do menu kebab. ao lado de Computação automatizada predefinida e, em seguida, clique em Editar permissões.
  3. Remova o grupo Todos os Utilizadores , ou o grupo que inclui todos os utilizadores do espaço de trabalho.
  4. Adicione apenas os utilizadores, grupos ou principais de serviço específicos que pretende autorizar.

Se revogar as permissões automáticas para serverless de um utilizador, todas as tarefas ou pipelines existentes desse utilizador em execução em serverless deixarão de ser executadas. O utilizador verá uma mensagem de erro se tentar executar um trabalho em serverless.

Antes de revogar o acesso de um utilizador ao Default Automated Compute, audite quais os trabalhos e pipelines que os utilizadores afetados possuem. A consulta seguinte identifica cargas de trabalho recentes sem servidor para um utilizador 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>';

Consulte a coluna usage_metadata para ver os recursos afetados, como IDs de tarefas e IDs de pipeline.

Audite a utilização de serverless

Os registos de faturação serverless incluem um serverless_compute_id campo no usage_metadata. Use-o para acompanhar em que 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;

Funcionalidades de controlo de acesso à computação serverless suportadas

As seguintes funcionalidades estão integradas com os controlos de acesso à computação sem servidor.

Interativo (Computação Interativa Padrão)

  • Notebooks e notebooks com GPU sem servidor
  • Databricks Connect

Automatizado (Computação Automática Padrão)

  • Jobs e jobs de GPU sem servidor
  • Oleodutos Declarativos Spark no Escoamento do Lago

Funcionalidades de controlo de acesso não suportadas para computação sem servidor

As seguintes funcionalidades não estão integradas com os controlos de acesso à computação sem servidor:

  • Databricks SQL (DBSQL)
  • Inferência em lote (ai_query())
  • Serviço de Modelos
  • Endpoints de débito provisionados pela API do Foundation Model
  • Lakebase
  • Aplicativos Databricks
  • Avaliação de agentes e dados sintéticos
  • Indexação por Pesquisa Vetorial
  • Otimização Preditiva
  • Monitorização do Lakehouse
  • Controlo de acesso detalhado em computação dedicada. O acesso ao cálculo dedicado determina se um utilizador pode usar controlo de acesso detalhado.

Para qualquer funcionalidade não listada aqui, contacte a sua equipa de conta Azure Databricks para saber o seu estado.

Limitações de controlo de acesso sem servidor

Importante

Em caso de interrupção do serviço, as verificações de acesso podem falhar em modo aberto, e os utilizadores aos quais, de outra forma, seria negado o acesso poderão iniciar cargas de trabalho sem servidor. Esta funcionalidade destina-se a ajudar a regular o acesso à computação serverless. Não utilize esta funcionalidade para garantir um limite absoluto de despesa nos montantes finais faturados. O Azure Databricks não se responsabiliza pelos custos incorridos por cargas de trabalho que sejam executadas durante tal evento.

  • Não podes renomear ou eliminar objetos de processamento por defeito.
  • Um trabalho ou pipeline já configurado para ser executado em serverless falha para qualquer utilizador que perca o acesso Can Use à Computação Automatizada Predefinida. Revise as cargas de trabalho ativas antes de remover o acesso de um utilizador.
  • A computação em segundo plano (trabalhos iniciados pelo sistema) está isenta de controlos de acesso à computação sem servidor.

Definir limites de taxa na computação serverless

Importante

Os limites de taxa estão em Pré-visualização Privada. Para se juntar a esta pré-visualização, contacte a sua equipa de contas no Azure Databricks. Depois de aderirem à pré-visualização, os administradores do espaço de trabalho podem ativá-la na página Pré-visualizações usando a definição Limite de taxa da computação sem servidor.

Um limite de taxa limita quanto uma carga de trabalho automatizada pode gastar, limitando até onde pode escalar automaticamente. Os administradores de espaços de trabalho podem criar objetos de computação automatizados personalizados e atribuir a cada um um limite de taxa. Quando uma carga de trabalho corre num objeto de computação com limite de taxa, o autoescalador serverless não escala os executores Spark da carga de trabalho para além do tamanho definido no objeto.

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

Um limite de taxa é expresso em função do tamanho. Cada tamanho corresponde a um limite máximo aproximado de DBUs que uma carga de trabalho pode consumir por hora. O limite de taxa limita apenas o dimensionamento automático dos executores do Spark. Não impõe um limite a outros componentes de uma carga de trabalho, como o driver, as máquinas virtuais REPL, as GPUs ou as atualizações de vistas materializadas e de tabelas de streaming.

O limite de taxa aplica-se 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 cálculo recebem cada um o limite total. Dentro de um único trabalho, o limite é partilhado entre todas as tarefas do trabalho.

Requisitos de limitação de taxa

  • Para criar e gerir objetos de computação serverless, deve ser administrador de espaço de trabalho ou utilizador com criação de clusters sem restrições.
  • Os limites de taxa serverless exigem o Azure Databricks Runtime 17.3.1 ou superior. Os trabalhos utilizam automaticamente o ambiente de execução mais recente. Para os pipelines declarativos do Spark no Lakeflow, opte pelo canal de runtime de pré-visualização.

Criar uma instância de computação sem servidor com um limite de taxa

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

A caixa de diálogo Criar novo Processamento Automatizado sem servidor com um nome introduzido e o tamanho definido para Médio

O novo objeto de computação aparece no separador Serverless com um tipo de Automatizado. Para permitir que os utilizadores executem cargas de trabalho nesse recurso, conceda-lhes as permissões Pode Utilizar ou Pode Gerir, conforme descrito em Gerir o acesso à computação sem servidor. Não podes editar o tamanho de um recurso de computação predefinido.

Tamanhos dos limites de taxa

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

Dimensão Limite aproximado
Pequeno ~60 DBUs por hora
Medium ~120 DBUs por hora
Grande ~240 DBUs por hora
X-Grande ~480 DBUs por hora
2X-Grande ~960 DBUs por hora

Estes limites máximos são limiares por direção. A utilização real pode variar à volta desses valores devido à variabilidade inerente à infraestrutura sem servidor.

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 empresarial. Estes correspondem aos limites máximos de autoscaling predefinidos existentes para cargas de trabalho automatizadas sem servidor.

Executar uma carga de trabalho em computação limitada por taxa

Um utilizador com Pode Usar num objeto de computação pode selecioná-lo ao configurar um trabalho ou pipeline. A carga de trabalho corre então abaixo do limite de taxa do cálculo. Se uma carga de trabalho não especificar um objeto de computação, ela recorre ao Cálculo Automatizado Padrão do seu espaço de trabalho. Se o utilizador não tiver acesso a esse padrão, a carga de trabalho falha em correr.

  • Jobs: Selecione o objeto de computação sem servidor ao nível da tarefa, quer nas definições de Compute da tarefa na IU, quer referenciando o ID da computação na API de Jobs. Para copiar o ID, abra o objeto de computação no separador Serverless e clique em Copiar ID de computação.
  • Pipelines declarativos do Spark no Lakeflow: Selecione o recurso de computação automatizado como computação sem servidor para um pipeline no editor do Lakeflow.

Quando um limite de taxa restringe uma carga de trabalho, é possível ver o impacto no histórico de consultas da carga de trabalho ou, no caso dos pipelines, na interface do Lakeflow.

Limitações do limite de taxa

  • Limites de taxa limitam apenas o autoscaling do executor Spark. Outros componentes de custo, como o driver, as VMs REPL, as GPUs e as atualizações de vistas 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 o objetivo devido a flutuações modestas no limite aplicado e à variabilidade inerente da infraestrutura serverless.
  • Uma carga de trabalho no tamanho 2X-Large pode ter um desempenho abaixo das expectativas porque o tamanho físico do cluster está limitado a 256 executores. Se duas ou mais cargas de trabalho 2X-Large forem agendadas no mesmo cluster de execução, 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 utilizações de DBUs sob diferentes limites de taxa.
  • Não podes definir um limite de taxa num objeto de computação por defeito.