Aller au contenu principal

Gérer le compute serverless

Cette page explique comment gérer l'accès au compute serverless et comment implémenter des limites de débit serverless. Les administrateurs du Workspace gèrent le compute Serverless à l'aide d'objets de compute Serverless intégrés. Un objet compute serverless est un type de ressource qui définit la limite d'autorisation pour les charges de travail serverless. Votre workspace obtient automatiquement deux objets de compute par default :

  • Default Interactive Compute : régit l'accès aux notebooks et à Databricks Connect.
  • Default Automated Compute : régit l’accès aux jobs et aux Spark Declarative Pipelines sur Lakeflow.

Par default, tous les utilisateurs du Workspace disposent de l'autorisation Can Use sur les deux objets ; les workloads existants continuent donc de s'exécuter sans aucune modification. Un administrateur de workspace peut supprimer des utilisateurs ou des groupes de l'un ou l'autre objet pour restreindre l'accès. Un utilisateur qui perd l'accès verra l'option de compute Serverless comme indisponible dans ses interfaces produit.

Gérer l’accès au compute serverless

Pour contrôler qui a accès au compute serverless, les administrateurs du workspace peuvent modifier les autorisations sur les objets Default Interactive Compute et Default Automated Compute . Les administrateurs du Workspace disposent de l'autorisation Can Manage par default, mais ils peuvent accorder cette autorisation à n'importe quel utilisateur. Ces objets de compute par default ne peuvent pas être renommés ni supprimés.

La tab Serverless sur la page Compute répertoriant les objets compute Interactive et Automated par default

Chaque objet de compute serverless prend en charge deux niveaux d'autorisation :

Autorisation

Vous permet de

Utilisation autorisée

Exécutez des charges de travail sur ce compute

Gestion autorisée

Exécutez des charges de travail sur ce compute et modifiez les autorisations du compute

Autorisation

Vous permet de

Utilisation autorisée

Exécutez des charges de travail sur ce compute

Gestion autorisée

Exécutez des charges de travail sur ce compute et modifiez les autorisations du compute

Vous pouvez également gérer les autorisations pour les objets de compute serverless par programmation à l’aide de l’ Account Access Control API.

Restreindre l’accès aux requêtes interactives serverless

Pour limiter les personnes autorisées à utiliser le mode serverless pour les Notebooks et Databricks Connect :

  1. Cliquez sur Compute dans la barre latérale du workspace.
  2. Dans la Serverless tab , cliquez sur le menu kebab Icône du menu kebab. à côté de Default Interactive Compute , puis cliquez sur Edit permissions .
  3. Supprimez le groupe All Users ou le groupe qui inclut tous les utilisateurs du workspace.
  4. Ajoutez uniquement les utilisateurs, les groupes ou les Service Principals spécifiques que vous souhaitez autoriser.

Si vous révoquez les autorisations serverless interactives d’un utilisateur, les notebooks déjà connectés au serverless ne parviendront pas à se connecter lorsque l’utilisateur exécutera une cellule, et l’utilisateur ne verra plus l’option Serverless comme disponible dans le sélecteur de compute du notebook. S’ils tentent d’exécuter Databricks Connect, la demande de connexion échoue avec une erreur indiquant que l’utilisateur n’a pas accès au serverless.

Restreindre l’accès aux jobs et pipelines serverless

Pour limiter les personnes autorisées à utiliser le mode serverless dans les jobs et les pipelines :

  1. Cliquez sur Compute dans la barre latérale du workspace.
  2. Dans la Serverless tab , cliquez sur le menu kebab Icône du menu kebab. à côté de Default Automated Compute , puis cliquez sur Edit permissions .
  3. Supprimez le groupe All Users ou le groupe qui inclut tous les utilisateurs du workspace.
  4. Ajoutez uniquement les utilisateurs, les groupes ou les Service Principals spécifiques que vous souhaitez autoriser.

Si vous révoquez les autorisations Serverless automatisées d’un utilisateur, tous les Jobs ou pipelines existants de l’utilisateur s’exécutant sur Serverless échoueront. L’utilisateur verra un message d’erreur s’il tente d’exécuter un Job sur Serverless.

Avant de révoquer l'accès d'un utilisateur à Default Automated Compute , auditez les jobs et les pipelines dont les utilisateurs concernés sont propriétaires. La requête suivante identifie les workloads serverless récents pour un utilisateur spécifique :

SQL
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>';

Vérifiez la colonne usage_metadata pour voir les ressources affectées, telles que les ID de Job et les ID de pipeline.

Auditer l’utilisation serverless

Les enregistrements de facturation serverless incluent un champ serverless_compute_id dans usage_metadata. Utilisez-le pour suivre l'objet de compute sur lequel une charge de travail a été exécutée :

SQL
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;

Fonctionnalités de contrôle d’accès au compute serverless prises en charge

Les fonctionnalités suivantes sont intégrées aux contrôles d'accès au compute serverless.

Interactif (default Interactive compute)

  • Notebooks et notebooks GPU serverless
  • Databricks Connect

Automatisé (Default Automated Compute)

  • Jobs et jobs GPU serverless
  • Spark Declarative Pipelines sur Lakeflow

Fonctionnalités de contrôle d'accès au compute serverless non prises en charge

Les fonctionnalités suivantes ne sont pas intégrées aux contrôles d’accès du compute serverless :

  • Databricks SQL (DBSQL)
  • Inférence par batch (ai_query())
  • Mise à disposition de modèles
  • Endpoint de throughput provisionné de l'API Foundation Model
  • Lakebase
  • Databricks Apps
  • Agent Evaluation et données synthétiques
  • Indexation de recherche vectorielle
  • Optimisation prédictive
  • Monitoring du Lakehouse
  • Contrôle d'accès granulaire sur compute dédié. L'accès au compute dédié détermine si un utilisateur peut utiliser le contrôle d'accès granulaire.

Pour toute fonctionnalité non répertoriée ici, contactez l’équipe de votre compte Databricks pour vous renseigner sur son statut.

Limitations du contrôle d’accès serverless

important

En cas de disruption de service, les contrôles d'accès pourraient échouer en mode ouvert, et les utilisateurs qui se verraient normalement refuser l'accès pourraient être en mesure de start des charges de travail serverless. Cette fonctionnalité est destinée à aider à régir l'accès au compute serverless. N'utilisez pas cette fonctionnalité pour garantir un plafond de dépenses absolu sur les montants finaux facturés. Databricks n'est pas responsable des coûts encourus par les charges de travail s'exécutant pendant un tel événement.

  • Vous ne pouvez pas renommer ou supprimer les objets compute « default ».
  • Un job ou un pipeline déjà configuré pour s’exécuter sur serverless échouera pour tout utilisateur perdant l’accès Can Use au Default Automated Compute. Examinez les charges de travail actives avant de supprimer l’accès d’un utilisateur.
  • Le compute en arrière-plan (jobs initiés par le système) est exempté des contrôles d'accès au compute Serverless.

Définir des limites de débit sur le compute serverless

info

Aperçu

Les limites de débit sont en Aperçu privé. Pour rejoindre cet aperçu, contactez l’équipe de votre compte Databricks. Après avoir rejoint l’aperçu, les administrateurs du workspace peuvent l’activer depuis la page Previews à l’aide du paramètre Serverless Compute Rate Limit .

Une limite de débit plafonne les dépenses d’une charge de travail automatisée en limitant sa capacité de montée en charge automatique. Les administrateurs de workspace peuvent créer des objets compute automatisés personnalisés et attribuer une limite de débit à chacun d’eux. Lorsqu’une charge de travail s’exécute sur un objet compute qui a une limite de débit, l’autoscaler serverless ne met pas à l’échelle les exécuteurs Spark de la charge de travail au-delà de la taille définie sur l’objet.

Les limites de débit s'appliquent uniquement aux charges de travail automatisées (jobs et Spark Declarative Pipelines sur Lakeflow). Les charges de travail interactives (notebooks et Databricks Connect) ne sont pas soumises à des limites de débit.

Une limite de débit est exprimée sous forme de taille . Chaque taille correspond à un plafond approximatif du nombre de DBU qu'une charge de travail peut consommer par heure. La limite de débit plafonne uniquement le dimensionnement automatique des exécuteurs Spark. Cela ne plafonne pas les autres composants d'une charge de travail, tels que le driver, les machines virtuelles REPL, les GPU ou les rafraîchissements de vues matérialisées et de tables de streaming.

La limite de débit s’applique par charge de travail. Chaque job et chaque pipeline utilisant un objet compute est limité indépendamment. Deux jobs utilisant le même objet compute reçoivent chacun la limite complète. Au sein d’un même job, la limite est partagée entre toutes les tâches du job.

Exigences relatives aux limites de débit

  • Pour créer et gérer des objets de compute serverless, vous devez être administrateur du workspace ou un utilisateur disposant de la création de clusters sans restriction.
  • Les limites de débit Serverless nécessitent Databricks Runtime 17.3.1 ou une version ultérieure. Les jobs utilisent automatiquement la dernière version du runtime. Pour Spark Declarative Pipelines sur Lakeflow, optez pour le runtime du canal de distribution en préversion.

Créez un compute serverless avec une limite de débit

  1. Cliquez sur Compute dans la barre latérale du workspace.
  2. Dans l’onglet Serverless , cliquez sur Create serverless compute .
  3. Saisissez un nom.
  4. Pour Size , sélectionnez la limite de débit à appliquer, de Small à 2X-Large . Laissez le paramètre sur Default pour utiliser la limite par défaut de votre workspace.
  5. Cliquez sur « Créer ».

La boîte de dialogue Créer un nouveau Automated Serverless Compute avec un nom saisi et la taille définie sur Medium

Le nouvel objet compute apparaît sur l’onglet Serverless avec un type Automated . Pour permettre aux utilisateurs d’exécuter des charges de travail dessus, accordez-leur Can Use ou Can Manage comme décrit dans Manage access to serverless compute. Vous ne pouvez pas modifier la taille d’un objet compute default.

Tailles des limites de débit

Chaque taille correspond à un plafond approximatif de DBU par heure :

Taille

Plafond approximatif

Petit (Small)

~60 DBU par heure

Medium

~120 DBU par heure

Large

~240 DBU par heure

XL

~480 DBU par heure

XXL

~960 DBU par heure

Taille

Plafond approximatif

Petit (Small)

~60 DBU par heure

Medium

~120 DBU par heure

Large

~240 DBU par heure

XL

~480 DBU par heure

XXL

~960 DBU par heure

Ces plafonds sont des seuils directionnels. L’utilisation réelle peut fluctuer autour de ces valeurs en raison de la variabilité inhérente à l’infrastructure serverless.

Choisir Default applique la limite par défaut de votre workspace : Medium pour les workspaces de niveau premium, ou Large pour les workspaces de niveau enterprise. Celles-ci correspondent aux plafonds d’autoscaling par default existants pour les charges de travail automatisées serverless.

Exécuter une charge de travail sur un compute soumis à des limites de débit

Un utilisateur disposant de l’autorisation Can Use sur un objet compute peut le sélectionner lors de la configuration d’un job ou d’un pipeline. La charge de travail s’exécute ensuite selon la limite de débit du compute. Si une charge de travail ne spécifie pas d’objet compute, elle revient au Default Automated Compute de votre workspace. Si l’utilisateur n’a pas accès à ce default, la charge de travail ne peut pas s’exécuter.

  • Jobs : sélectionnez l’objet compute serverless au niveau du job, soit dans les paramètres Compute du job dans l’interface utilisateur, soit en référençant l’identifiant du compute dans l’API Jobs. Pour copier l’identifiant, ouvrez l’objet compute sous l’onglet Serverless et cliquez sur Copy compute ID .
  • Spark Declarative Pipelines on Lakeflow : sélectionnez l’objet de compute automatisé comme compute serverless pour un pipeline dans l’éditeur Lakeflow.

Lorsqu'une limite de débit restreint un workload, vous pouvez en visualiser l'impact dans l'historique des query du workload ou, pour les pipeline, dans l'interface utilisateur de Lakeflow.

Limitations des limites de débit

  • Les limites de débit plafonnent uniquement l'évolutivité automatique des exécuteurs Spark. Les autres composants de coût, tels que le driver, les VM REPL, les GPU et les refresh de vues matérialisées ou de tables de streaming, ne sont pas plafonnés.
  • Le plafond de DBU par heure pour chaque taille est une estimation. L’utilisation réelle peut dépasser la cible en raison de légères fluctuations de la limite appliquée et de la variabilité inhérente à l’infrastructure serverless.
  • Une charge de travail de taille 2X-Large peut présenter des performances inférieures aux attentes car la taille physique du cluster est plafonnée à 256 exécuteurs. Si deux charges de travail 2X-Large ou plus sont planifiées sur le même cluster d'exécution, chacune pourrait atteindre des performances inférieures aux attentes.
  • En raison de détails liés à l’implémentation de la facturation, une même charge de travail peut entraîner une consommation de DBU différente selon les tailles de limite de débit.
  • Vous ne pouvez pas définir de limite de débit sur un objet compute par default.