Práticas recomendadas: políticas de computação
Este artigo foi arquivado e pode não refletir mais o estado atual do produto. Para obter informações sobre as políticas do site compute, consulte Criar e gerenciar políticas do site compute.
Databricks compute As políticas fornecem aos administradores controle sobre a criação de compute recurso em um Databricks workspace. O uso eficaz das políticas do site compute permite que os administradores
- Impor configurações padronizadas do site compute.
- Impeçam o uso excessivo de recursos e controlem os gastos.
- Garanta a precisão do estorno marcando corretamente o site compute recurso.
- Facilite a análise e o processamento fornecendo aos usuários configurações pré-configuradas do compute direcionadas a cargas de trabalho específicas.
Combinadas com processos eficazes de integração, aprovação e estorno, as políticas do compute podem ser um componente fundamental da governança da plataforma Databricks. Este guia apresenta recomendações e práticas recomendadas para ajudá-lo a criar um plano bem-sucedido de integração das políticas de compute à sua estrutura de governança.
Como a governança é exclusiva dos requisitos de cada organização e da infraestrutura de governança existente, este artigo começa abordando as recomendações que se aplicam normalmente às políticas do site compute. A última seção deste artigo discute estratégias específicas para enfrentar os desafios que o senhor pode encontrar em seu ambiente.
Este artigo discute as seguintes práticas recomendadas e recomendações para garantir uma implementação bem-sucedida da governança de compute:
- Crie um plano para introduzir as políticas do compute em fases para ajudar os usuários na transição para um ambiente governado.
- Crie um plano para comunicar as mudanças em cada fase da implementação das políticas do site compute.
- Identifique os desafios de governança do compute e implemente estratégias para lidar com esses desafios.
implementação de políticas de computação
A implementação das políticas do compute pode representar uma mudança significativa na experiência do usuário. Databricks recomenda uma abordagem em fases para ajudar os usuários do guia durante a transição:
- Comunique as próximas mudanças e dê aos usuários a oportunidade de testar as configurações do compute.
- Execute um lançamento suave.
- Introduza de forma incremental outras mudanças nas políticas.
- Execute uma transição rígida para um ambiente totalmente governado.
Um lançamento em fases permite que os usuários se familiarizem com as novas políticas e evitem interrupções nas cargas de trabalho existentes. O diagrama a seguir é um exemplo deste processo recomendado:
As seções a seguir fornecem informações mais detalhadas sobre esses estágios:
- Comunicar e testar as políticas do site compute
- Considerações sobre a introdução das políticas do site compute
- Lançamento final
Comunicar e testar as políticas do site compute
Comece o processo comunicando as mudanças futuras aos usuários. O plano de comunicação deve incluir:
- Detalhes sobre as mudanças que estão por vir.
- Por que essas mudanças estão acontecendo?
- O que os usuários precisarão fazer para garantir a transição bem-sucedida das cargas de trabalho.
- Como fornecer feedback sobre as alterações.
- Uma linha do tempo para cada estágio do lançamento.
- No início de cada estágio do lançamento em fases, comunique mais detalhes relevantes para esse estágio.
O diagrama a seguir fornece um exemplo de plano de comunicação para um lançamento em fases:
Seu plano pode ter diferentes estágios, dependendo do seu ambiente e da estratégia de políticas do compute. Esse exemplo inclui quatro estágios:
- O estágio 1 inclui a comunicação do plano aos usuários e o início dos testes. Os usuários devem ter a oportunidade de testar suas cargas de trabalho atuais e previstas em compute que estejam em conformidade com as novas políticas. Você deseja identificar quaisquer problemas com cargas de trabalho existentes e planejadas logo no início do processo.
- O estágio 2 continua os testes junto com a implementação de uma política de marcação compute.
- O estágio 3 apresenta os tipos compute, nesse caso especificando compute usando tamanhos de camiseta, por exemplo, tipos compute pequeno, grande ou extragrande.
- O estágio 4 é a implementação final das políticas do compute, juntamente com a documentação completa do usuário.
Os usuários também devem ter a oportunidade de testar suas cargas de trabalho com as configurações planejadas do compute no estágio inicial. Esse teste pode ajudar a identificar as cargas de trabalho existentes que têm problemas de execução com as políticas propostas.
Considerações sobre a introdução das políticas do site compute
Considere suas políticas de gerenciamento atuais ao planejar a implementação inicial das políticas do compute. Em particular, considere se o senhor está migrando de um ambiente em que os usuários estão impedidos de criar compute ou de um ambiente mais aberto.
Ambiente restritivo
No caso de um ambiente em que os usuários não têm permissão para criar compute, comece implementando políticas restritivas juntamente com um plano de capacitação para os usuários. Um plano de capacitação pode ser um treinamento baseado em computador, workshops ou documentação. Fornecer aos usuários orientações sobre as práticas recomendadas de configuração do site compute aumentará sua capacidade de aproveitar ao máximo a plataforma. As políticas podem ser flexibilizadas à medida que os usuários demonstram compliance e competência com a plataforma.
Ambiente irrestrito
A aplicação de políticas pode ser mais desafiadora em um ambiente sem restrições. Alguns casos de uso existentes e o site compute quase sempre não se enquadram nas restrições da nova política, portanto, é fundamental identificá-los em um estágio de teste ou de implementação suave.
Os usuários com permissões de criação compute ou acesso à política irrestrita manterão seu acesso a essa política durante toda a implementação flexível para garantir que todas as cargas de trabalho continuem funcionando. Os usuários devem usar o soft rollout para testar todas as suas cargas de trabalho com as novas políticas que serão disponibilizadas para eles.
Certifique-se de dar aos usuários um local para enviar feedback sobre as políticas.Trabalhe com os usuários para refinar as políticas ou definir novas políticas quando ocorrerem problemas.
Lançamento final
Remova o acesso às políticas irrestritas para usuários restritos quando o prazo for atingido. A implementação das políticas do site compute deve estar concluída.
Desafios específicos: estratégias &
A seguir, exemplos de aplicação das políticas do compute para enfrentar desafios específicos. Muitas dessas estratégias podem ser empregadas simultaneamente, mas exigirão a aplicação de cada estratégia em todas as políticas. Por exemplo, se usar a estratégia de aplicação de tags com a estratégia de tamanho de camiseta, cada política de camiseta também precisará de uma política custom_tag.*
.
Aplicação de tags
Desafio
Os usuários podem criar o site compute livremente, e não há nenhum mecanismo para impor que eles apliquem as tags necessárias.
soluções
-
Revogar compute a permissão de criação do site dos usuários.
-
Adicione uma regra de tag compute a todas as políticas compute aplicáveis. Para adicionar a regra da tag compute a uma política, use o atributo
custom_tags.<tag-name>
. O valor pode ser qualquer coisa sob uma política ilimitada ou pode ser restringido por políticas fixas, de lista de permissões, lista de bloqueios, regex ou de intervalo. Por exemplo, para garantir o estorno e a atribuição de custos corretos, aplique uma tagCOST_CENTER
em cada política restrita a uma lista de valores permitidos do centro de custo:JSON{ "custom_tags.COST_CENTER": { "type": "allowlist", "values": ["9999", "9921", "9531"] } }
Qualquer usuário que usar essa política terá de preencher uma tag
COST_CENTER
com 9999, 9921 ou 9531 para que o compute seja iniciado. -
Atribua a política aos usuários que devem poder cobrar nesses três centros de custo. As políticas podem ser atribuídas em nível de usuário ou grupo por meio da compute interface de usuário de políticas ou das APIpolíticas. O exemplo de corpo de solicitação a seguir atribui uma política ao departamento de ventas:
JSON{
"access_control_list": [
{
"user_name": "user@mydomain.com",
"all_permissions": [
{
"permission_level": "CAN_USE"
}
]
},
{
"group_name": "sales",
"all_permissions": [
{
"permission_level": "CAN_USE"
}
]
}
]
}
Usuários inexperientes
Desafio
Os usuários não estão familiarizados com o compute ou com o provisionamento de infraestrutura em nuvem ou estão sobrecarregados com as opções de criação do compute.
soluções
Use as políticas compute para definir configurações compute de tamanho "camiseta", por exemplo, pequena, média ou grande compute .
-
Crie uma política para cada tamanho de camiseta. As políticas de tamanho de camiseta indicam um tamanho relativo de compute para os usuários e podem ser configurações de padrão flexível ou de opção zero. As políticas de opção zero ou de baixa opção geralmente têm regras de política fixas e ocultas. O exemplo a seguir define uma política com um valor fixo de DBR 7.3 para o
spark_version
. Definir o sinalizadorhidden
como verdadeiro garantirá que essa opção não seja visível para os usuários.JSON{ "spark_version": { "type": "fixed", "value": "auto:latest-ml", "hidden": true } }
Ao definir padrões flexíveis, o senhor pode usar políticas de intervalo, lista de bloqueio, regex e política ilimitada para definir limites superiores, campos não opcionais e elementos de política semirrestritos. O exemplo a seguir define uma política que habilita nós de autoescala para um máximo de 25. Você pode usar essa definição para definir limites superiores em cada tamanho de camiseta e, ao mesmo tempo, oferecer alguma flexibilidade. Para ver mais detalhes de uma abordagem compute padrão, consulte Uso excessivo de recurso.
JSON{ "autoscale.max_workers": { "type": "range", "maxValue": "25", "defaultValue": 5 } }
-
Atribua a política aos usuários que devem ter permissão para criar camisetas compute . As políticas podem ser atribuídas em nível de usuário ou de grupo por meio da interface do usuário da política ou da API de permissões de política. Por exemplo, para atribuir essa política a todos os usuários por meio da interface do usuário:
-
Acesse a política e selecione Editar .
-
Selecione a guia Permissões .
-
Selecione a opção Todos os usuários em Grupos no dropdown.
-
-
Revogue o acesso à política irrestrita dos grupos que devem usar somente essas novas políticas. Quando as políticas do compute estiverem em uso, ter acesso à permissão "compute creation" dá aos usuários acesso à política irrestrita. É importante revogar essa permissão para usuários que não deveriam tê-la.
Para revogar as permissões de criação do site compute, consulte Configurar a permissão de criação do site compute.
Políticas específicas para casos de uso
Desafio
Algumas cargas de trabalho ou análises são incompatíveis com as políticas existentes, ou os usuários não conhecem a configuração correta do compute para determinados tipos de carga de trabalho.
soluções
Se você encontrar cargas de trabalho que não funcionam bem com as políticas existentes, muitas vezes é melhor criar novas políticas especificamente direcionadas para essas cargas de trabalho em vez de expandir as políticas existentes.
Para ajudar os usuários a criar compute usando essas políticas, pode ser útil criar políticas ajustadas para casos de uso específicos. Atribua nomes descritivos a essas políticas para ajudar os usuários a identificá-las. Por exemplo, se as cargas de trabalho forem consultar uma fonte de dados que ofereça suporte a pushdown de predicado, uma prática recomendada é criar uma política específica que imponha a autoescala com um mínimo baixo ou zero worker. Essa política garantirá que os custos do provedor de nuvem e do site Databricks não aumentem desnecessariamente enquanto o senhor aguarda a fonte de dados compute os componentes da consulta que foram empurrados para baixo.
-
Crie uma política que imponha as melhores práticas específicas para cada caso de uso. Este exemplo define uma política que tem um valor fixo de
0
para o número mínimo de trabalhadores. Essa política também impõe que o site compute será autoscale, satisfazendo a prática recomendada do exemplo de predicado pushdown.JSON{ "autoscale.min_workers": { "type": "fixed", "value": "0", "hidden": false } }
-
Atribua a política aos usuários que precisam criar o site compute para esses casos de uso. O senhor pode atribuir políticas em nível de usuário ou de grupo por meio da UI de políticas ou da API de permissões. Por exemplo, para atribuir essa política a um grupo de cientistas de dados por meio da interface do usuário:
-
Acesse a política e selecione Editar .
-
Selecione a guia Permissões .
-
Para atribuir uma política a uma equipe específica, selecione o nome da equipe no dropdown Selecionar usuário ou grupo .
-
Uso excessivo de recurso
Desafio
Os usuários estão criando compute desnecessariamente grandes, consumindo recursos excessivos e caros. Isso geralmente é causado por:
- Falha ao ativar o autoscaling.
- Uso incorreto de janelas de encerramento automático.
- Contagens mínimas altas de nós de workers.
- Tipos de instância caros.
soluções
compute A combinação das políticas do compute com um processo de aprovação interno permitirá o controle sobre o recurso e, ao mesmo tempo, fornecerá acesso a um grande recurso quando necessário.
-
Estabeleça um processo de revisão para conceder acesso a políticas maiores ou mais flexíveis. O processo de revisão deve ter um formulário de admissão que colete informações que sustentem a necessidade de configurações maiores ou mais flexíveis do compute. A equipe de propriedade da plataforma deve avaliar essas informações para decidir como dar suporte aos requisitos de carga de trabalho. O diagrama a seguir ilustra um exemplo de processo de aprovação usando o tamanho de camisetas:
-
Crie políticas mais flexíveis com menos restrições e foco no controle de itens de governança, como tags. Exemplo de uma política flexível:
{
"autoscale.min_workers": {
"type": "range",
"maxValue": 20,
"defaultValue": 2
},
"autoscale.max_workers": {
"type": "range",
"maxValue": 100,
"defaultValue": 8
},
"autotermination_minutes": {
"type": "range",
"maxValue": 120,
"defaultValue": 60
},
"node_type_id": {
"type": "blocklist",
"values": ["z1d.12xlarge", "z1d.6xlarge", "r5d.16xlarge", "r5a.24xlarge", "i4i.32xlarge"],
"defaultValue": "i3.xlarge"
},
"driver_node_type_id": {
"type": "blocklist",
"values": ["z1d.12xlarge", "z1d.6xlarge", "r5d.16xlarge", "r5a.24xlarge", "i4i.32xlarge"],
"defaultValue": "i3.xlarge"
},
"spark_version": {
"type": "fixed",
"value": "auto:latest-ml",
"hidden": true
},
"enable_elastic_disk": {
"type": "fixed",
"value": true,
"hidden": true
},
"custom_tags.team": {
"type": "fixed",
"value": "product"
}
}
-
Documente o processo de atualização e aprovação e compartilhe-o com os usuários. Também é útil publicar orientações sobre como identificar os tipos de cargas de trabalho que podem precisar de mais flexibilidade ou de maior compute.
-
Depois que um usuário for aprovado, atribua a política a ele. As políticas podem ser atribuídas a um usuário ou a um grupo por meio da interface do usuário da política ou enviando uma solicitação à API de permissões:
JSON{
"access_control_list": {
"user_name": "users_email@yourdomain.com",
"permission_level": "CAN_USE"
}
}
Saiba mais
Para saber mais sobre as políticas compute em Databricks, consulte Criar e gerenciar políticas compute e nossos blogs sobre políticas compute: Permitir a criação de cluster simples com controle total do administrador Usando a política de cluster.