Compartilhar via


Integração Contínua/Entrega Contínua (CI/CD) no Azure Databricks

A CI/CD (integração contínua e entrega contínua) refere-se ao processo de desenvolvimento e entrega de software em ciclos curtos e frequentes por meio do uso de pipelines de automação. CI/CD é comum no desenvolvimento de software e está se tornando cada vez mais necessário na engenharia de dados e na ciência de dados. Ao automatizar a criação, o teste e a implantação do código, as equipes de desenvolvimento fornecem versões de forma mais confiável do que com processos manuais.

O Databricks fornece ferramentas para o desenvolvimento de pipelines de CI/CD que dão suporte a abordagens que podem diferir ligeiramente de organização para organização devido a aspectos exclusivos do ciclo de vida de desenvolvimento de software de cada organização. Esta página fornece informações sobre as ferramentas disponíveis para pipelines de CI/CD no Databricks. Para obter detalhes sobre recomendações de CI/CD e práticas recomendadas, consulte as práticas recomendadas e os fluxos de trabalho de CI/CD recomendados no Databricks.

Para obter uma visão geral de CI/CD para projetos de machine learning em Azure Databricks, consulte Como o Databricks dá suporte a CI/CD para machine learning?.

Fluxo de alto nível

Um fluxo comum para um pipeline de CI/CD do Azure Databricks é:

  1. Version: armazene seu código Azure Databricks e notebooks em um sistema de controle de versão como o Git. Isso permite que você acompanhe as alterações ao longo do tempo e colabore com outros membros da equipe.
  2. Code: Desenvolva código e testes de unidade em um bloco de anotações Azure Databricks no workspace ou localmente usando um IDE.
  3. Build: Use as configurações de Pacotes de Automação Declarativa para construir automaticamente determinados artefatos durante implantações.
  4. Deploy: implante alterações no workspace Azure Databricks usando Pacotes de Automação Declarativa com ferramentas como Azure DevOps, GitHub Actions ou Jenkins.
  5. Teste: desenvolva e execute testes automatizados para validar as alterações de código.
    • Use ferramentas como o pytest para testar suas integrações.
  6. Executar: Use a CLI do Databricks com Pacotes de Automação Declarativa para automatizar execuções nos seus workspaces do Azure Databricks.
  7. Monitor: Monitore o desempenho dos seus códigos e cargas de trabalho de produção no Azure Databricks usando ferramentas como o monitoramento de jobs. Isso ajuda a identificar e resolver todos os problemas que surgem em seu ambiente de produção.

Ferramentas disponíveis

As ferramentas a seguir dão suporte aos princípios fundamentais de CI/CD: versionar todos os arquivos e unificar o gerenciamento de recursos, definir a infraestrutura como código, isolar ambientes, automatizar testes e monitorar e automatizar reversões.

Área Use essas ferramentas quando quiser...
Pacotes de Automação Declarativa Defina, implante e execute de forma programática os recursos do Databricks, incluindo Lakeflow Jobs, Lakeflow Spark Declarative Pipelines e MLOps Stacks usando as melhores práticas e processos de CI/CD.
Provedor do Terraform do Databricks Provisione e gerencie os workspaces e a infraestrutura do Databricks usando o Terraform. Para obter detalhes sobre quando usar o provedor Terraform do Databricks em vez de Pacotes de Automação Declarativa, consulte as ferramentas de desenvolvimento locais.
Integração e entrega contínuas no Azure Databricks usando o Azure DevOps Desenvolva um pipeline de CI/CD para Azure Databricks que usa Azure DevOps.
Autenticar com o Azure DevOps no Azure Databricks Autenticar com Azure DevOps.
GitHub Actions Inclua uma ação de GitHub desenvolvida para Azure Databricks no fluxo de CI/CD.
CI/CD com Jenkins no Azure Databricks Desenvolva um pipeline de CI/CD para Azure Databricks que usa o Jenkins.
Orquestrar tarefas do Lakeflow com o Apache Airflow Gerenciar e agendar um pipeline de dados que usa o Apache Airflow.
Entidades de serviço para CI/CD Use entidades de serviço, em vez de usuários, com CI/CD.
Autenticar o acesso ao Azure Databricks usando a federação de token OAuth Use a federação de identidade de carga de trabalho para autenticação de CI/CD, o que elimina a necessidade de segredos do Databricks, tornando-a a maneira mais segura de se autenticar no Databricks.

Pacotes de Automação Declarativa

Os Pacotes de Automação Declarativa são a abordagem recomendada para CI/CD no Databricks. Use Pacotes de Automação Declarativa para descrever os recursos do Databricks, como trabalhos e pipelines, como arquivos de origem e agrupá-los com outros ativos para fornecer uma definição de ponta a ponta de um projeto implantável. Esses pacotes de arquivos podem ser controlados pela origem e você pode usar a automação de CI/CD externa, como o Github Actions, para disparar implantações.

Os pacotes incluem muitos recursos, como modelos personalizados para impor consistência e práticas recomendadas em sua organização e suporte abrangente para implantar os arquivos de código e a configuração para muitos recursos do Databricks. Criar um pacote requer algum conhecimento da sintaxe de configuração do pacote.

Para obter recomendações sobre como usar pacotes em CI/CD, consulte as práticas recomendadas e os fluxos de trabalho de CI/CD recomendados no Databricks.

Outras ferramentas para controle do código-fonte

Como alternativa à aplicação de CI/CD completo com Pacotes de Automação Declarativa, o Databricks oferece opções apenas para controlar o código-fonte e implantar arquivos de código e notebooks.

  • Pasta git: as pastas Git podem ser usadas para refletir o estado de um repositório Git remoto. Você pode criar uma pasta git para gerenciar arquivos de origem e notebooks com controle de versão no ambiente de produção. Em seguida, efetue pull manual da pasta Git para o estado mais recente ou use ferramentas de CI/CD externas, como GitHub Actions para efetuar pull da pasta Git na mesclagem. Use essa abordagem quando você não tiver acesso a pipelines externos de CI/CD.

    Essa abordagem funciona para orquestradores externos, como o Airflow, mas observe que apenas os arquivos de código, como notebooks e rascunhos de painel, estão no controle do código-fonte. As configurações para trabalhos ou pipelines que executam ativos na pasta Git e configurações para painéis de publicação não estão no controle do código-fonte.

  • Git com trabalhos: o Git com trabalhos permite que você configure alguns tipos de trabalho para usar um repositório Git remoto como a fonte para arquivos de código. Quando a execução de um trabalho começa, o Databricks cria um instantâneo do repositório e executa todas as tarefas contra essa versão. Essa abordagem só dá suporte a tarefas de trabalho limitadas e somente arquivos de código (notebooks e outros arquivos) são controlados pela origem. As configurações de trabalho, como sequências de tarefas, configurações de computação e agendamentos, não são controladas pela origem, tornando essa abordagem menos adequada para implantações de vários ambientes e entre workspaces.