Compartilhar via


Compensações de eficiência de desempenho para cargas de trabalho Power Platform

Uma carga de trabalho que atinge suas metas de desempenho sem superprovisionamento é eficiente. As principais estratégias para eficiência de desempenho incluem o uso adequado de otimizações de código, padrões de design e planejamento de capacidade. Metas claras de desempenho e testes sustentam esse pilar.

Durante a fase de design de uma carga de trabalho, é importante considerar como as decisões baseadas nos princípios de design de eficiência de desempenho e recomendações na Lista de verificação de revisão de design para eficiência de desempenho podem influenciar as metas e os esforços de otimização de outros pilares. Certas decisões podem beneficiar alguns pilares, mas representar compensações para outros. Este artigo lista exemplos de compensações que uma equipe de carga de trabalho pode encontrar ao projetar a arquitetura e as operações da carga de trabalho para eficiência de desempenho.

Compensações entre eficiência de desempenho e confiabilidade

Compensação: Replicação reduzida e densidade aumentada. Um dos pilares da confiabilidade é garantir a resiliência usando a replicação e limitando o raio de explosão de mau funcionamento.

  • A consolidação de recursos de carga de trabalho pode usar o excesso de capacidade e melhorar a eficiência. No entanto, isso aumenta o raio de explosão de um mau funcionamento no componente ou plataforma de aplicação colocalizados.

Compensação: Maior complexidade. A confiabilidade prioriza a simplicidade.

  • O particionamento e o fragmentação de dados ajudam a evitar problemas de desempenho em conjuntos de dados grandes ou acessados com frequência. No entanto, a implementação desses padrões aumenta a complexidade porque a consistência (eventual) precisa ser mantida em recursos adicionais.

  • A desnormalização de dados para padrões de acesso otimizados pode melhorar o desempenho, mas introduz complexidade porque diversas representações de dados precisam ser mantidas sincronizadas.

  • Padrões de design de nuvem centrados no desempenho às vezes exigem a introdução de componentes adicionais. O uso desses componentes aumenta a área de superfície da carga de trabalho. Os componentes devem então ser confiáveis para manter toda a carga de trabalho confiável.

Tradeoff: Teste e observação em ambientes ativos. Evitar o uso desnecessário de sistemas de produção é uma abordagem de autopreservação para confiabilidade.

  • Testes de desempenho em ambientes ativos trazem o risco de causar mau funcionamento devido às ações ou configurações do teste.

  • As cargas de trabalho devem ser instrumentadas com um sistema de monitoramento de desempenho de aplicativos (APM) que permita que as equipes aprendam com ambientes ativos. As ferramentas do APM são instaladas e configuradas no código do aplicativo ou no ambiente de hospedagem. O uso inadequado, a ultrapassagem de limitações ou a configuração incorreta da ferramenta podem comprometer sua funcionalidade e manutenção, potencialmente prejudicando a confiabilidade.

Compensações de eficiência de desempenho com segurança

Compensação: Redução dos controles de segurança. Os controles de segurança são estabelecidos em várias camadas, às vezes de forma redundante, para fornecer defesa em profundidade.

Uma estratégia de otimização de desempenho é remover ou ignorar componentes ou processos que contribuem para atrasos em um fluxo, especialmente quando seu tempo de processamento não é justificado. No entanto, essa estratégia pode comprometer a segurança e deve ser acompanhada de uma análise de risco completa. Considere os exemplos a seguir:

  • Remover a criptografia em trânsito ou em repouso para melhorar as velocidades de transferência expõe os dados a potenciais violações de integridade ou confidencialidade.

  • Remover ou reduzir ferramentas de verificação ou inspeção de segurança para reduzir os tempos de processamento pode comprometer a confidencialidade, integridade ou disponibilidade que essas ferramentas protegem.

  • Remover regras de firewall dos fluxos de rede para melhorar a latência da rede pode permitir comunicação indesejada.

  • Minimizar a validação de dados para um processamento mais rápido pode comprometer a integridade dos dados, especialmente se as entradas forem maliciosas.

Compensação: Maior área de superfície de carga de trabalho. A segurança prioriza uma área de superfície reduzida e contida para minimizar vetores de ataque e reduzir o geranciamento de controles de segurança.

Padrões de design de nuvem centrados no desempenho às vezes exigem a introdução de componentes adicionais. Esses componentes aumentam a área de superfície da carga de trabalho. Os novos componentes devem ser protegidos, possivelmente de maneiras que ainda não são usadas no sistema, e geralmente aumentam o escopo de conformidade. Considere estes componentes comumente adicionados:

  • Apresentando vários métodos diferentes de manipulação de lógica de negócios, como fluxos de nuvem e plugins de baixo código, com base nos requisitos de desempenho de cada tarefa.

  • Descarregando o processamento para trabalhos em segundo plano ou até mesmo para computação do cliente.

Compensação: remoção da segmentação. O pilar Segurança prioriza uma segmentação forte para permitir controles de segurança detalhados e reduzir o raio de alcance.

Compartilhar recursos é uma abordagem para melhorar a eficiência. Aumenta a densidade para otimizar o uso da capacidade. Por exemplo, reutilizar plugins de baixo código em vários aplicativos Canvas e fluxos de nuvem. O aumento da densidade pode levar aos seguintes problemas de segurança:

  • Uma identidade de carga de trabalho compartilhada que viola o princípio do menor privilégio e obscurece trilhas de auditoria individuais em logs de acesso.

  • Controles de segurança de perímetro, por exemplo, regras de rede, que são reduzidos para cobrir todos os componentes colocalizados, dando aos componentes individuais mais acesso do que o necessário.

Compensações entre eficiência de desempenho e excelência operacional

Compensação: observabilidade reduzida. O monitoramento é necessário para fornecer uma carga de trabalho com alertas significativos e ajudar a garantir uma resposta bem-sucedida a incidentes.

  • Reduzir o volume de log e métrico para reduzir o tempo de processamento gasto na coleta de telemetria em vez de outras tarefas reduz a observabilidade geral do sistema. Alguns exemplos da redução da observabilidade resultante incluem:

    • Ele limita os pontos de dados que são usados para criar alertas significativos.
    • Isso leva a lacunas na cobertura de atividades de resposta a incidentes.
    • Ela limita a observabilidade em interações e limites sensíveis à segurança ou à conformidade.
  • Quando padrões de design de desempenho são implementados, a complexidade da carga de trabalho geralmente aumenta. Componentes são adicionados aos fluxos críticos. A estratégia de monitoramento de carga de trabalho e de desempenho deve incluir esses componentes. Quando um fluxo abrange vários componentes ou limites de aplicativos, a complexidade de monitorar o desempenho desse fluxo aumenta. O desempenho do fluxo precisa ser correlacionado entre todos os componentes interconectados.

Compensação: Maior complexidade nas operações. Um ambiente complexo tem interações mais complexas e uma maior probabilidade de impacto negativo de operações de rotina, ad hoc e emergenciais.

  • Melhorar a eficiência do desempenho aumentando a densidade eleva o risco nas tarefas operacionais. Um erro em um único processo pode ter um grande raio de explosão.

  • À medida que os padrões de design de desempenho são implementados, eles influenciam procedimentos operacionais como backups, rotações de chaves e estratégias de recuperação. Por exemplo, o particionamento e o fragmentação de dados podem complicar tarefas de rotina quando as equipes tentam garantir que essas tarefas não afetem a consistência dos dados.

Compensação: estresse cultural. A excelência operacional está enraizada em uma cultura de irrepreensibilidade, respeito e melhoria contínua.

  • A realização de análises de causa raiz de problemas de desempenho identifica deficiências em processos ou implementações que exigem correção. A equipe deve considerar o exercício uma oportunidade de aprendizado. Se os membros da equipe forem culpados pelos problemas, o moral pode ser afetado.

  • Processos rotineiros e ad hoc podem afetar o desempenho da carga de trabalho. Muitas vezes, é considerado preferível realizar essas atividades fora dos horários de pico. No entanto, horários fora de pico podem ser inconvenientes ou estar fora do horário normal para os membros da equipe responsáveis ou qualificados nessas tarefas.

Compensações de eficiência de desempenho com otimização de experiência

Compensação: Menor engajamento do usuário. O pilar Otimização da Experiência prioriza experiências de usuário mais envolventes.

  • A otimização do desempenho prioriza o uso de recursos da plataforma em detrimento de personalizações, o que desvaloriza componentes personalizados que poderiam levar a uma experiência do usuário mais envolvente.

  • A otimização do desempenho pode se concentrar demais na minimização da complexidade, o que desprioriza recursos para experiências de usuário mais envolventes, como componentes personalizados e integrações.

  • O desenvolvimento da interface do usuário geralmente é feito em iterações e ciclos de entrega mais rápidos, o que pode dificultar a melhoria contínua do desempenho.