Pular para o conteúdo principal

Fase 7: Planejar a Infraestrutura como Código

Nesta fase, você define sua estratégia de Infraestrutura como Código (IaC) para automatizar a implantação e o gerenciamento de recursos do Databricks .

As ferramentas de Infraestrutura como Código são a maneira recomendada de iniciar e gerenciar um espaço de trabalho Databricks . Cada cloud possui sua própria ferramenta IaC Infraestrutura como Código), e também existem diversas ferramentas independentes cloud .

Escolha ferramentas de Infraestrutura como Código

Terraform (recomendado para infraestrutura lakehouse )

Terraform é uma ferramenta IaC de terceiros que possui amplo suporte em diversos setores. É a ferramenta IaC de terceiros mais popular, com um provedor Terraform oficialmente suportado pela Databricks. A documentação do provedor Terraform em Terraform oferece exemplos e orientações para ajudá-lo a começar rapidamente.

capacidades do Terraform

  • Gerenciar recursos account Databricks (por exemplo, espaço de trabalho, redes, configurações de armazenamento).
  • gerenciar recurso workspace (por exemplo, clusters, Job, Notebook, recurso Unity Catalog ).
  • Independente de nuvem: Funciona na AWS, Azure e GCP com a mesma linguagem.
  • Ecossistema amplo com módulos e melhores práticas.
  • Suporte oficial da Databricks.

Padrões de implantação do Terraform

  • Infraestrutura em nível de conta : espaço de trabalho, redes, credenciais de armazenamento, metastores.
  • Configuração em nível de espaço de trabalho : política de cluster, pool de instâncias, configurações workspace .
  • Unity Catalog : Catálogos, esquemas, locais externos, credenciais de armazenamento.
  • Notebook e repositórios : implementou repositórios Notebook e Git no espaço de trabalho.
  • Segredos : gerenciamento de segredos no Escopo de Segredos Databricks .

Melhores práticas para Terraform

  • Utilize módulos Terraform para criar padrões reutilizáveis para sua organização.
  • Armazene o estado do Terraform em backends remotos (por exemplo, S3, Azure Blob Storage, GCS) com bloqueio de estado.
  • Utilize o espaço de trabalho Terraform ou arquivos de estado separados para isolar ambientes (por exemplo, desenvolvimento, teste e produção).
  • Use variáveis do Terraform e arquivos tfvars para parametrizar configurações.
  • Habilite a revisão do plano no pipeline CI/CD antes de aplicar as alterações.
  • Marque todos os recursos de forma consistente para fins de atribuição de custos e governança.
  • Documentar os módulos e manter um registro de módulos.
  • Utilize os exemplos oficiais do provedor Terraform do Databricks como ponto de partida.

Para obter documentação e exemplos de provedores Terraform, consulte o Registro Terraform do Databricks.

Pacotes de Automação Declarativa (recomendados para recursos de dados e AI )

O Declarative Automation Bundles é uma ferramenta Infrastructure-as-Code da Databricks que permite o empacotamento e a implantação consistentes de dados e recursos AI . Oferece suporte oficial e integração com o espaço de trabalho Databricks .

Recursos de pacotes de automação declarativa

  • Tarefa implantada, pipeline e Notebook.
  • implantar e gerenciar modelos ML .
  • Gerenciar a implantação em diferentes ambientes (por exemplo, desenvolvimento, teste e produção).
  • Integração do controle de versão com Git.
  • Integração de CI/CD com GitHub Actions, Azure DevOps e GitLab CI.
  • Criação de modelos para padrões comuns.

Casos de uso de pacotes de automação declarativa

  • implantei fluxo de trabalho de engenharia de dados e pipeline declarativo LakeFlow Spark .
  • implementei fluxo de trabalho de machine learning e modelo de endpoint específico.
  • Implantei o Notebook e as consultas SQL .
  • Configurações específicas do ambiente.
  • Automatize a promoção do ambiente de desenvolvimento para o ambiente de teste e, em seguida, para o ambiente de produção.

Melhores práticas para pacotes de automação declarativa

  • Utilize pacotes de automação declarativa para cargas de trabalho de dados e AI (por exemplo, tarefas, pipelines, modelos).
  • Utilize Terraform para recursos de infraestrutura (por exemplo, espaço de trabalho, redes, Unity Catalog).
  • Utilize o padrão Declarative Automation Bundles para casos de uso comuns.
  • Integre com o pipeline CI/CD para implantações automatizadas.
  • Utilize configurações específicas para cada ambiente: desenvolvimento, teste e produção.
  • Definições de pacotes de controle de versão no Git.

Para obter documentação sobre pacotes de automação declarativa, consulte O que são pacotes de automação declarativa?

ferramentas nativas de Infraestrutura como Código em nuvem

Cada provedor cloud oferece ferramentas nativas IaC para gerenciar recursos cloud . Essas ferramentas podem complementar Terraform para infraestrutura específica cloud .

abordagem de implantação do projeto

e configuração account

Antes de executar qualquer automação ou criar manualmente qualquer workspace, o primeiro passo é assinar o Databricks em seu provedor cloud .

GCP

A criação de uma account Databricks para GCP é feita através do marketplace. Isso requer uma account de faturamento (que será vinculada à sua account Databricks ) e um projeto do Google Cloud (que não será vinculado ao Databricks - você pode implantar em quantos projetos quiser dentro da mesma account de faturamento).

Um administrador do marketplace GCP pode se inscrever no Databricks on Google Cloud por meio da listagem Databricks (o local da inscrição determina como a cobrança será feita após o término do período de avaliação gratuita). A inscrição começa a julgamento grátis. A conta do Google que inicia o período de teste gratuito torna-se automaticamente o primeiro administrador Databricks com acesso ao console. Você só pode ter uma account Databricks por account de faturamento GCP .

Databricks recomenda adicionar novos usuários rapidamente para evitar a perda de acesso ao painel de controle account .

Após o término do seu período de avaliação gratuita, o uso Databricks será cobrado conforme o uso na account de faturamento do Google Cloud que você selecionou para a inscrição no marketplace, e você poderá gerenciar o faturamento no console do Google Cloud.

implantações de espaço de trabalho

Após atualizar sua assinatura, você pode usar o console account Databricks para configurar sua account Databricks e criar um workspace. A implantação de um workspace abrange o provisionamento de recursos do Google Cloud (como armazenamento, VPC e KMS) e recursos Databricks (como workspace e CMEK). Para ambientes de produção, utilize instalações automatizadas como o Terraform.

Bootstrap com workspaceadministrativo

O primeiro passo antes de executar qualquer automação ou criar manualmente qualquer workspace é construir um workspace em cada região necessária, usado exclusivamente para fins administrativos (nenhum usuário da plataforma de dados deve ter acesso a ele).

Principais razões para construir um workspaceadministrativo

  • APIsUnity Catalog : APIs Unity Catalog são principalmente APIs workspace - para criar catálogos, locais e assim por diante, é necessário um workspace .
  • Tarefa administrativa : Utilizada para executar painéis de controle usando tabelas do sistema, executar a Ferramenta de Análise de Segurança (SAT) e outras operações administrativas.
  • Hub de automação : Local centralizado para executar Terraform, Declarative Automation Bundles e outras ferramentas de automação.

Melhores práticas para espaços de trabalho administrativos

  • Crie um workspace administrativo por região.
  • Restrinja o acesso apenas aos administradores da plataforma.
  • Utilize este workspace para o gerenciamento Unity Catalog e consultas às tabelas do sistema.
  • implantar ferramentas de automação (por exemplo, Declarative Automation Bundles, executores Terraform ) neste workspace.
  • Documente a finalidade e as restrições de acesso.

Padrões de implantação de design

Padrão 1: padrão de implantação do espaço de trabalho

Crie módulos Terraform para padrões comuns de implantação workspace mapeados para personas e casos de uso.

Exemplos de padrões workspace

  • workspacede engenharia de dados : compute clássica, VPC de gerenciamento de clientes, pipeline declarativo Spark LakeFlow habilitado.
  • workspaceanalítico : compute sem servidor, banco de dados SQL , integrações BI .
  • workspacede aprendizadoML : clusters de GPU, ambiente de execução de aprendizado ML , MLflow habilitado.
  • workspacede produção : Alta disponibilidade, Link Privado, chave de gerenciamento do cliente.

Benefícios

  • Implantações consistentes em todos os ambientes.
  • Redução de erros de configuração.
  • Provisionamento mais rápido de novo espaço de trabalho.
  • Separação clara de responsabilidades por perfil.

Padrão 2: Padrão de promoção ambiental

Criar padrões para promover cargas de trabalho do ambiente de desenvolvimento para o de teste e, em seguida, para o de produção.

Fluxo de trabalho de promoção ambiental

  1. Desenvolvimento : implantação no workspace de desenvolvimento usando Declarative Automation Bundles com configuração de desenvolvimento.
  2. Preparação : Promover para o workspace de preparação e executar testes de integração.
  3. Produção : Promover para o workspace de produção após aprovação.

Práticas recomendadas

  • Utilize pacotes de automação declarativa para configurações específicas do ambiente.
  • Automatize a promoção por meio do pipeline CI/CD .
  • Exigir etapas de aprovação para implantações em produção.
  • Teste em encenação antes da promoção da produção.

Padrão 3: Padrão de módulos reutilizáveis

Crie uma biblioteca de módulos Terraform como blocos de construção para padrões comuns.

Módulos de exemplo

  • Módulo de espaço de trabalho : workspace implantado com conexão de rede, armazenamento e Unity Catalog .
  • Módulo de catálogoUnity Catalog : Cria um catálogo com esquemas e permissões.
  • Módulo política de cluster : Define a política de cluster para diferentes equipes ou casos de uso.
  • Módulo de rede : Cria VPC/VNet com sub-redes, NAT e regras de firewall.

Benefícios

  • Reduz a duplicação de código.
  • Estabelece padrões organizacionais.
  • Simplifica a manutenção e as atualizações.
  • Permite o autosserviço para equipes.

Recomendações de Infraestrutura como Código

Recomendado

  • Utilize uma ferramenta IaC para lançar espaços de trabalho e infraestrutura sempre que possível.
  • Utilize Terraform para recursos de infraestrutura (por exemplo, espaço de trabalho, redes, Unity Catalog, armazenamento).
  • Utilize pacotes de automação declarativa para cargas de trabalho de dados e AI (por exemplo, Job, pipeline, Notebook, modelos).
  • Utilize os padrões existentes disponíveis para cada cloud (exemplos de provedores Terraform ).
  • Crie um workspace administrativo em cada região necessária.
  • Crie módulos Terraform reutilizáveis mapeados para personas e casos de uso.
  • Armazene o estado da IaC em backends remotos com bloqueio de estado.
  • Integre as implementações IaC com o pipeline de CI/CD .
  • Documente os padrões de implantação e a utilização dos módulos.
  • Utilize tags consistentes em todos os recursos.

Evite esses padrões

  • Não crie espaços de trabalho manualmente em produção (use IaC para garantir a repetibilidade).
  • Não armazene o estado do Terraform localmente (use backends remotos).
  • Não implante sem revisão do plano (ative a aprovação do plano em CI/CD).
  • Não misture IaC com configuração manual (escolha uma abordagem).
  • Evite criar espaços de trabalho personalizados com configurações únicas.

Resultados da Fase 7

Após concluir a Fase 7, você deverá ter:

  • Estratégia de ferramentas IaC selecionada (Terraform para infraestrutura, Declarative Automation Bundles para cargas de trabalho).
  • Definição do uso de ferramentas IaC nativas em nuvem (por exemplo, CloudFormation, ARM/Bicep).
  • Abordagem de inscrição e configuração account planejada.
  • Definição do projeto workspace administrativo (um por região).
  • Padrões de implantação projetados (por exemplo, padrões workspace , promoção de ambiente, módulos reutilizáveis).
  • Biblioteca de módulos Terraform planejada (por exemplo, módulos workspace, Unity Catalog, rede e política de cluster ).
  • Estratégia de integração CI/CD definida para implantações de IaC.
  • Estratégia de gerenciamento de estado remoto projetada (por exemplo, S3, Azure Blob, GCS).
  • Etiquetas e padrões de nomenclatura definidos para IaC-gerenciar recurso.

Próxima fase : Fase 8: Projetar a configuração compute

Orientações de implementação : Para obter instruções passo a passo sobre como implementar sua estratégia de IaC, consulte o provedor Terraform do Databricks e O que são pacotes de automação declarativa?.