O que é o Databricks Apps?
Importante
O Databricks Apps está em Visualização Pública.
Os aplicativos do Databricks permitem que os desenvolvedores criem dados seguros e aplicativos de IA na plataforma Databricks e compartilhem esses aplicativos com os usuários.
Anteriormente, a criação de aplicativos de dados e IA que usam dados gerenciados por um workspace do Databricks e os recursos de análise de dados da plataforma Databricks exigia a implantação de infraestrutura separada para hospedar aplicativos, garantir a conformidade com os controles de governança de dados, gerenciar a segurança do aplicativo, incluindo autenticação e autorização, e assim por diante. Com o Databricks Apps, o Databricks hospeda seus aplicativos, para que você não precise configurar ou implantar infraestrutura adicional.
Seus aplicativos podem usar os recursos e recursos da plataforma Databricks, incluindo o Catálogo do Unity para governança, o Databricks SQL para consultar dados, recursos de IA, como serviço de modelo, Trabalhos do Databricks para ETL e as regras de segurança já configuradas no workspace, incluindo as regras que controlam o acesso aos dados usados pelo aplicativo. A autenticação e a autorização usam a funcionalidade existente do Azure Databricks, incluindo OAuth e entidades de serviço.
A Databricks projetou os aplicativos do Databricks para desenvolvedores. Você desenvolve seus aplicativos em Python usando qualquer estrutura, como Dash, Streamlit ou Gradio. Como seus aplicativos são portáteis, você pode criá-los e depurá-los localmente, implantá-los em um workspace do Databricks e movê-los para outro workspace.
Requisitos
Requisitos do espaço de trabalho
Para implantar e executar aplicativos em seu workspace do Azure Databricks, o workspace deve atender aos seguintes requisitos:
- Você deve garantir que seu firewall não bloqueie o domínio
*.databricksapps.com
. - Sua conta do Azure Databricks deve ter a computação sem servidor habilitada. Confira Habilitar a computação sem servidor.
- Seu workspace do Databricks deve estar em uma região com suporte. Veja a disponibilidade de recursos sem servidor.
Requisitos do ambiente de desenvolvimento
Para criar aplicativos localmente e implantar esses aplicativos em seu workspace do Azure Databricks, seu ambiente de desenvolvimento deve atender aos seguintes requisitos:
Python 3.11 ou superior.
A interface de linha de comando do Databricks (CLI do Databricks), versão v0.229.0 ou superior, configurada para acessar seu workspace do Databricks. Para instalar ou atualizar e configurar a CLI do Databricks, consulte Instalar ou atualizar a CLI do Databricks e a autenticação para a CLI do Databricks.
O SDK do Databricks para Python. Você pode instalar o SDK com
pip3
:pip3 install databricks-sdk
Confira SDK do Databricks para Python.
(Opcional) Se seu aplicativo precisar acessar o Databricks SQL, instale o Databricks SQL Connector para Python. Você pode instalar o conector com
pip3
:pip3 install databricks-sql-connector
Onde desenvolver um aplicativo do Databricks?
Você pode escrever e testar aplicativos em qualquer IDE que dê suporte ao Python, como PyCharm, IntelliJ IDEA ou Visual Studio Code. O Databricks recomenda desenvolver seus aplicativos usando o Visual Studio Code e a extensão do Databricks para Visual Studio Code, mas você também pode usar o notebook e o editor de arquivos do Databricks para editar seu código diretamente no workspace do Databricks.
Como faço para desenvolver e implantar um aplicativo Databricks?
Para desenvolver um aplicativo localmente, o seguinte é um fluxo de trabalho típico:
- Desenvolva seu aplicativo em seu IDE preferido, como Visual Studio Code.
- Execute seu aplicativo localmente na linha de comando e exiba-o em seu navegador.
- Quando o código estiver concluído e testado, mova o código e os artefatos necessários para o workspace do Databricks.
Confira Introdução aos Aplicativos do Databricks.
Para criar um aplicativo na interface do usuário ou usando um exemplo pré-criado, consulte Como criar um aplicativo na interface do usuário do Databricks Apps?.
Posso usar estruturas do Python com meu aplicativo Databricks?
Você pode desenvolver seu aplicativo usando seus frameworks Python favoritos, como Dash, Streamlit ou Gradio. Você pode ver exemplos que usam estruturas populares do Python na interface do usuário dos Aplicativos do Databricks. Confira Como criar um aplicativo na interface do usuário do Databricks Apps?.
Como os Aplicativos do Databricks gerenciam a autorização?
O modelo de autorização do Databricks Apps inclui o usuário que acessa o aplicativo e uma entidade de serviço gerenciada do Azure Databricks atribuída ao aplicativo:
Para acessar um aplicativo, um usuário deve ter CAN_USE ou CAN_MANAGE permissões no aplicativo. Para saber mais sobre como atribuir permissões a um aplicativo, consulte Configurar permissões para seu aplicativo Databricks.
Quando um aplicativo é criado, o Databricks Apps cria automaticamente uma entidade de serviço gerenciada do Azure Databricks e atribui essa entidade de serviço ao aplicativo. Essa entidade de serviço tem acesso apenas ao workspace em que o aplicativo é criado e é usada para autenticar e autorizar o acesso a recursos no workspace, como SQL warehouses, pontos de extremidade de serviço de modelo ou objetos protegíveis no Catálogo do Unity. Todo o acesso de um aplicativo a dados ou outros recursos do workspace é executado em nome da entidade de serviço, não do proprietário ou usuário do aplicativo.
O Databricks Apps concede automaticamente à entidade de serviço permissões para todos os recursos atribuídos ao aplicativo se o usuário que implanta o aplicativo tiver
CAN MANAGE
permissão sobre esses recursos. Se o acesso da entidade de serviço a outros recursos for necessário, por exemplo, tabelas ou arquivos de workspace, um administrador de conta ou workspace deverá conceder à entidade de serviço acesso a esses recursos. Ao conceder acesso aos recursos, o Databricks recomenda seguir o princípio do privilégio mínimo e conceder à entidade de serviço apenas as permissões mínimas necessárias. Confira Gerenciar entidades de serviço.O nome da entidade de serviço pode ser encontrado na página de detalhes do aplicativo no cartão Recursos do aplicativo. A entidade de serviço inclui o nome do aplicativo, por exemplo, para um aplicativo chamado
my-hello-world-app
, o nome da entidade de serviço éapp-22ixod my-hello-world-app
.
Quem pode criar aplicativos do Databricks?
Qualquer usuário em um workspace pode criar aplicativos. No entanto, para gerenciar as permissões da entidade de serviço atribuída a um aplicativo, você deve ser um administrador de conta ou workspace.
Como configurar meu aplicativo Databricks?
O Databricks Apps define automaticamente várias variáveis de ambiente que seu aplicativo pode acessar, como o host do Databricks no qual seu aplicativo está sendo executado. Você também pode definir parâmetros personalizados usando um arquivo YAML. Confira Configuração de aplicativos do Databricks.
Como fazer integrar meu aplicativo Databricks aos serviços do Azure Databricks?
Seus aplicativos podem usar recursos da plataforma Databricks, como o Databricks SQL para consultar dados, os Trabalhos do Databricks para ingestão e processamento de dados, o Mosaic AI Model Serving para acessar modelos de IA generativos e os segredos do Databricks para gerenciar informações confidenciais. Ao configurar seu aplicativo, esses recursos da plataforma Databricks são chamados de recursos.
No entanto, como os aplicativos são projetados para serem portáteis, o Databricks recomenda que os aplicativos não dependam de recursos específicos. Por exemplo, seu aplicativo não deve ser codificado para usar um SQL warehouse específico. Em vez disso, configure o SQL warehouse na interface do usuário dos Aplicativos do Databricks ao criar ou atualizar um aplicativo.
Além disso, como os aplicativos são configurados para serem executados com os privilégios menos necessários, eles não devem criar novos recursos. Em vez disso, eles devem contar com a plataforma Databricks para resolver os serviços dependentes existentes. Cada aplicativo tem uma entidade de serviço do Databricks atribuída. Durante a criação ou atualização do aplicativo, a entidade de serviço recebe as permissões necessárias em dependências de recursos definidas.
Para saber mais sobre como adicionar recursos da plataforma Databricks como recursos do aplicativo, confira Atribuir recursos da plataforma Databricks a um aplicativo Databricks.
Onde posso encontrar logs de auditoria para meus aplicativos do Databricks?
Para localizar eventos de auditoria para aplicativos, use as tabelas do sistema do Azure Databricks. Você pode usar as tabelas do sistema para consultar:
- Faz logon em um aplicativo. Consulte Quais usuários fizeram logon em um aplicativo do Databricks?.
- Permissão ou compartilhamento de alterações em aplicativos. Confira Quais aplicativos do Databricks foram atualizados para alterar a forma como o aplicativo é compartilhado com outros usuários ou grupos?.
Qual é o custo dos aplicativos do Databricks?
Para obter informações sobre os preços dos Aplicativos do Databricks, consulte Computação para Aplicativos.
O ambiente do sistema de aplicativos do Databricks
Observação
Para exibir o ambiente de um aplicativo específico, incluindo variáveis de ambiente e pacotes instalados, vá para a guia Ambiente na página de detalhes do aplicativo. Consulte Exibir os detalhes de um aplicativo Databricks.
A seguir, descrevemos o ambiente do sistema em que seus aplicativos são executados, os recursos disponíveis para seu aplicativo e as versões dos aplicativos e bibliotecas instalados.
- Sistema operacional: Ubuntu 22.04 LTS
- Python: 3.11.0. Seus aplicativos são executados em um ambiente virtual Python. Todas as dependências são instaladas nesse ambiente virtual, incluindo bibliotecas instaladas automaticamente e quaisquer bibliotecas instaladas, por exemplo, com um
requirements.txt
arquivo. - Recursos do sistema: seus aplicativos podem usar até duas CPUs virtuais (vCPU) e 6 GB de memória. Seu aplicativo pode ser reiniciado se exceder os recursos alocados.
Bibliotecas Python instaladas
Biblioteca | Versão |
---|---|
conector databricks-sql | 3.4.0 |
databricks-sdk | 0.33.0 |
mlflow-skinny | 2.16.2 |
gradio | 4.44.0 |
Iluminado por Stream | 1.38.0 |
shiny | 1.1.0 |
traço | 2.18.1 |
flask | 3.0.3 |
fastapi | 0.115.0 |
uvicorn[padrão] | 0.30.6 |
gunicorn | 23.0.0 |
grade de traço ag | 31.2.0 |
componentes de mantina de traço | 0.14.4 |
componentes de bootstrap de traço | 1.6.0 |
plotly | 5.24.1 |
reamostrador de plotagem | 0.10.0 |
Limitações
Há um limite de 10 aplicativos em um workspace do Databricks.
Os arquivos usados por um aplicativo não podem exceder 10 MB de tamanho. Se um arquivo no diretório do aplicativo exceder esse limite, a implantação do aplicativo falhará com um erro.
Os aplicativos da Databricks não atendem aos padrões de conformidade HIPAA, PCI ou FedRAMP.
Os logs criados por um aplicativo não são persistidos quando a computação do Azure Databricks que hospeda o aplicativo é encerrada. Consulte Registro em log do seu aplicativo Databricks.
Como eles não dão suporte ao OAuth, você não pode usar URLs regionais herdadas com aplicativos do Databricks.