Qu’est-ce que Databricks Apps ?
Important
Databricks Apps est disponible en préversion publique.
Databricks Apps permet aux développeurs de créer des applications de données et d’IA sécurisées sur la plateforme Databricks et de partager ces applications avec des utilisateurs.
Auparavant, la création de données et d’applications IA qui utilisent des données gérées par un espace de travail Databricks et les fonctionnalités d’analytique des données de la plateforme Databricks nécessitaient le déploiement d’une infrastructure distincte pour héberger des applications, garantissant ainsi la conformité avec les contrôles de gouvernance des données, la gestion de la sécurité des applications, notamment l’authentification et l’autorisation, etc. Avec Databricks Apps, Databricks héberge vos applications. Vous n’avez donc pas besoin de configurer ou de déployer une infrastructure supplémentaire.
Vos applications peuvent utiliser les ressources et fonctionnalités de la plateforme Databricks, notamment Unity Catalog pour la gouvernance, Databricks SQL pour interroger des données, des fonctionnalités IA telles que le service de modèle, les travaux Databricks pour ETL et les règles de sécurité déjà configurées dans l’espace de travail, notamment les règles qui contrôlent l’accès aux données utilisées par votre application. L’authentification et l’autorisation utilisent des fonctionnalités Azure Databricks existantes, notamment les principaux de service et OAuth.
Databricks a conçu Databricks Apps pour les développeurs. Vous développez vos applications en Python à l’aide de n’importe quelle infrastructure telle que Dash, Streamlit ou Gradio. Étant donné que vos applications sont portables, vous pouvez les créer et les déboguer localement, les déployer dans un espace de travail Databricks, puis les déplacer vers un autre espace de travail.
Exigences
Conditions requises pour l’espace de travail
Pour déployer et exécuter des applications dans votre espace de travail Azure Databricks, l’espace de travail doit répondre aux exigences suivantes :
- Vous devez vous assurer que votre pare-feu ne bloque pas le domaine
*.databricksapps.com
. - Votre espace de travail Databricks doit se trouver dans une région prise en charge. Consultez la disponibilité des fonctionnalités serverless..
Exigences relatives à l’environnement de développement
Pour créer des applications localement et les déployer dans votre espace de travail Azure Databricks, votre environnement de développement doit répondre aux exigences suivantes :
Python 3.11 ou version ultérieure.
Interface de ligne de commande Databricks (Interface cli Databricks), version v0.229.0 ou ultérieure, configurée pour accéder à votre espace de travail Databricks. Pour installer ou mettre à jour et configurer l’interface CLI Databricks, consultez Installer ou mettre à jour l’interface CLI Databricks et l’authentification pour l’interface CLI Databricks.
Le kit de développement logiciel (SDK) Databricks pour Python. Vous pouvez installer le Kit de développement logiciel (SDK) avec
pip3
:pip3 install databricks-sdk
Consultez le Kit de développement logiciel (SDK) Databricks pour Python.
(Facultatif) Si votre application doit accéder à Databricks SQL, installez databricks SQL Connector pour Python. Vous pouvez installer le connecteur avec
pip3
:pip3 install databricks-sql-connector
Où développer une application Databricks ?
Vous pouvez écrire et tester des applications dans n’importe quel IDE prenant en charge Python, comme PyCharm, IntelliJ IDEA ou Visual Studio Code. Databricks recommande de développer vos applications à l’aide de Visual Studio Code et de l’extension Databricks pour Visual Studio Code, mais vous pouvez également utiliser le notebook Databricks et l’éditeur de fichiers pour modifier votre code directement dans votre espace de travail Databricks.
Comment faire développer et déployer une application Databricks ?
Pour développer une application localement, voici un workflow classique :
- Développez votre application dans votre IDE préféré, comme Visual Studio Code.
- Exécutez votre application localement sur la ligne de commande et affichez-la dans votre navigateur.
- Une fois le code terminé et testé, déplacez le code et les artefacts requis vers votre espace de travail Databricks.
Consultez Bien démarrer avec Databricks Apps.
Pour créer une application dans l’interface utilisateur ou à l’aide d’un exemple prédéfini, consultez Comment faire créer une application dans l’interface utilisateur Databricks Apps ?.
Puis-je utiliser des frameworks Python avec mon application Databricks ?
Vous pouvez développer votre application à l’aide de vos frameworks Python favoris, tels que Dash, Streamlit ou Gradio. Vous pouvez voir des exemples qui utilisent des frameworks Python populaires dans l’interface utilisateur Databricks Apps. Consultez Comment faire créer une application dans l’interface utilisateur Databricks Apps ?.
Comment Databricks Apps gère-t-il l’autorisation ?
Le modèle d’autorisation Databricks Apps inclut l’utilisateur qui accède à l’application et un principal de service managé Azure Databricks affecté à l’application :
Pour accéder à une application, un utilisateur doit disposer d’autorisations CAN_USE ou CAN_MANAGE sur l’application. Pour en savoir plus sur l’attribution d’autorisations à une application, consultez Configurer des autorisations pour votre application Databricks.
Lorsqu’une application est créée, Databricks Apps crée automatiquement un principal de service managé Azure Databricks et affecte ce principal de service à l’application. Ce principal de service a accès uniquement à l’espace de travail dans lequel l’application est créée et est utilisé pour authentifier et autoriser l’accès aux ressources de l’espace de travail, telles que les entrepôts SQL, les points de terminaison de service de modèle ou les objets sécurisables dans le catalogue Unity. Tout accès par une application aux données ou à d’autres ressources d’espace de travail est effectué au nom du principal de service, et non du propriétaire ou de l’utilisateur de l’application.
Databricks Apps accorde automatiquement les autorisations du principal de service à toutes les ressources affectées à l’application si l’utilisateur qui déploie l’application dispose
CAN MANAGE
d’autorisations sur ces ressources. Si l’accès par le principal de service à d’autres ressources est nécessaire, par exemple, des tables ou des fichiers d’espace de travail, un compte ou un administrateur d’espace de travail doit accorder au principal de service l’accès à ces ressources. Lors de l’octroi de l’accès aux ressources, Databricks recommande de suivre le principe du privilège minimum et d’accorder au principal de service uniquement les autorisations minimales requises. Si vous souhaitez en savoir plus, veuillez consulter la rubrique Gérer les principaux de service.Le nom du principal du service se trouve dans la page détails de l’application dans la carte de ressources de l’application. Le principal de service inclut le nom de l’application, par exemple, pour une application nommée
my-hello-world-app
, le nom du principal de service estapp-22ixod my-hello-world-app
.
Qui peut créer des applications Databricks ?
Tout utilisateur d’un espace de travail peut créer des applications. Toutefois, pour gérer les autorisations du principal de service affecté à une application, vous devez être administrateur de compte ou d’espace de travail.
Comment faire configurer mon application Databricks ?
Databricks Apps définit automatiquement plusieurs variables d’environnement auxquelles votre application peut accéder, telles que l’hôte Databricks sur lequel votre application s’exécute. Vous pouvez également définir des paramètres personnalisés à l’aide d’un fichier YAML. Consultez la configuration de Databricks Apps.
Comment faire intégrer mon application Databricks aux services Azure Databricks ?
Vos applications peuvent utiliser des fonctionnalités de plateforme Databricks telles que Databricks SQL pour interroger des données, Databricks Jobs pour l’ingestion et le traitement des données, Mosaïque AI Model Service pour accéder aux modèles IA génératifs et aux secrets Databricks pour gérer les informations sensibles. Lors de la configuration de votre application, ces fonctionnalités de plateforme Databricks sont appelées ressources.
Toutefois, étant donné que les applications sont conçues pour être portables, Databricks recommande que les applications ne dépendent pas de ressources spécifiques. Par exemple, votre application ne doit pas être codée en dur pour utiliser un entrepôt SQL particulier. Au lieu de cela, configurez l’entrepôt SQL dans l’interface utilisateur Databricks Apps lors de la création ou de la mise à jour d’une application.
En outre, étant donné que les applications sont configurées pour s’exécuter avec les privilèges les moins requis, elles ne doivent pas créer de ressources. Au lieu de cela, ils doivent s’appuyer sur la plateforme Databricks pour résoudre les services dépendants existants. Chaque application a un principal de service Databricks affecté. Lors de la création ou de la mise à jour de l’application, le principal de service reçoit des autorisations requises sur les dépendances de ressources définies.
Pour en savoir plus sur l’ajout de fonctionnalités de plateforme Databricks en tant que ressources d’application, consultez Affecter des fonctionnalités de plateforme Databricks à une application Databricks.
Où puis-je trouver des journaux d’audit pour mes applications Databricks ?
Pour rechercher des événements d’audit pour les applications, utilisez les tables système Azure Databricks. Vous pouvez utiliser les tables système pour interroger :
- Connexions à une application. Consultez les utilisateurs qui se sont connectés à une application Databricks ?.
- Autorisation ou partage des modifications apportées aux applications. Consultez quelles applications Databricks ont été mises à jour pour modifier la façon dont l’application est partagée avec d’autres utilisateurs ou groupes ?.
Quel est le coût pour Databricks Apps ?
Pour plus d’informations sur la tarification de Databricks Apps, consultez Compute for Apps.
Environnement système Databricks Apps
Remarque
Pour afficher l’environnement d’une application spécifique, y compris les variables d’environnement et les packages installés, accédez à l’onglet Environnement de la page détails de l’application. Consultez afficher les détails d’une application Databricks.
L’exemple suivant décrit l’environnement système dans lequel vos applications s’exécutent, les ressources disponibles pour votre application et les versions des applications et bibliothèques installées.
- Système d’exploitation : Ubuntu 22.04 LTS
- Python : 3.11.0. Vos applications s’exécutent dans un environnement virtuel Python. Toutes les dépendances sont installées dans cet environnement virtuel, y compris les bibliothèques installées automatiquement et toutes les bibliothèques que vous installez, par exemple avec un
requirements.txt
fichier. - Ressources système : vos applications peuvent utiliser jusqu’à deux processeurs virtuels (processeurs virtuels) et 6 Go de mémoire. Votre application peut être redémarrée si elle dépasse les ressources allouées.
Bibliothèques Python installées
Bibliothèque | Version |
---|---|
databricks-sql-connector | 3.4.0 |
databricks-sdk | 0.33.0 |
mlflow-skinny | 2.16.2 |
gradio | 4.44.0 |
streamlit | 1.38.0 |
shiny | 1.1.0 |
tiret | 2.18.1 |
flask | 3.0.3 |
fastapi | 0.115.0 |
uvicorn[standard] | 0.30.6 |
gunicorn | 23.0.0 |
dash-ag-grid | 31.2.0 |
dash-mantine-components | 0.14.4 |
dash-bootstrap-components | 1.6.0 |
plotly | 5.24.1 |
plotly-resampler | 0.10.0 |
Limites
Il existe une limite de 10 applications dans un espace de travail Databricks.
Les fichiers utilisés par une application ne peuvent pas dépasser 10 Mo de taille. Si un fichier dans le répertoire de votre application dépasse cette limite, le déploiement de l’application échoue avec une erreur.
Databricks Apps ne répond pas aux normes de conformité HIPAA, PCI ou FedRAMP.
Les journaux créés par une application ne sont pas conservés lorsque le calcul Azure Databricks hébergeant l’application est arrêté. Consultez la journalisation à partir de votre application Databricks.
Comme ils ne prennent pas en charge OAuth, vous ne pouvez pas utiliser d’URL régionales héritées avec Databricks Apps.