Compensações de eficiência de desempenho para Power Platform cargas de trabalho
Uma carga de trabalho que atenda às suas metas de desempenho sem provisionamento excessivo é eficiente. As principais estratégias para a eficiência de desempenho incluem o uso adequado de otimizações de código, padrões de design e planeamento de capacidade. Este pilar assenta em objetivos de desempenho claros e em testes.
Durante a fase de projeto de uma carga de trabalho, é importante considerar como as decisões baseadas nos princípios e recomendações de design de Eficiência de Desempenho na lista de verificação de revisão de Projeto 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 representam compensações para outros. Este artigo lista exemplos de compensações que uma equipa 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 de eficiência de desempenho com fiabilidade
Compensação: replicação reduzida e densidade aumentada. Uma pedra angular da fiabilidade é garantir a resiliência usando replicação e limitando o raio de explosão de avarias.
- A consolidação de recursos de carga de trabalho pode usar o excesso de capacidade e melhorar a eficiência. No entanto, aumenta o raio de jateamento de um mau funcionamento no componente colocalizado ou na plataforma de aplicação.
Compensação: Maior complexidade. A fiabilidade prioriza a simplicidade.
O particionamento e a 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.
Desnormalizar dados para padrões de acesso otimizados pode melhorar o desempenho, mas introduz complexidade porque várias 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 próprios componentes devem ser tornados 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 fiabilidade.
Os testes de desempenho em ambientes ativos acarretam o risco de causar avarias devido às ações ou configurações de 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 APM são instaladas e configuradas no código do aplicativo ou no ambiente de hospedagem. O uso inadequado, a superação das limitações ou a configuração incorreta da ferramenta podem comprometer sua funcionalidade e manutenção, potencialmente minando a fiabilidade.
Compensações de eficiência de desempenho com segurança
Compensação: Redução dos controlos 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, esta estratégia pode comprometer a segurança e deve ser acompanhada por uma análise de risco exaustiva. Considere os seguintes exemplos:
A remoção da criptografia em trânsito ou em repouso para melhorar as velocidades de transferência expõe os dados a possíveis 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 proteger.
Remover regras de firewall dos fluxos de rede para melhorar a latência da rede pode permitir uma comunicação indesejável.
Minimizar a validação de dados para um processamento de dados mais rápido pode comprometer a integridade dos dados, especialmente se as entradas forem maliciosas.
Compensação: aumento da área de superfície da carga de trabalho. A segurança prioriza uma área de superfície reduzida e contida para minimizar vetores de ataque e reduzir o gerenciamento 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:
Introdução de vários métodos diferentes de lidar com a lógica de negócios, como fluxos de nuvem e plug-ins de low-code, com base nos requisitos de desempenho de cada tarefa.
Descarregando o processamento para trabalhos em segundo plano ou até mesmo computação de cliente.
Compensação: Remover a segmentação. O pilar Segurança prioriza uma forte segmentação para permitir controles de segurança refinados e reduzir o raio de explosão.
A partilha de recursos é uma abordagem para melhorar a eficiência. Ele aumenta a densidade para otimizar o uso da capacidade. Por exemplo, reutilizar plug-ins de low-code em vários aplicativos de tela e fluxos de nuvem. O aumento da densidade pode levar às seguintes preocupações de segurança:
Uma identidade de carga de trabalho compartilhada que viola o princípio de menor privilégio e obscurece trilhas de auditoria individuais em logs de acesso.
Controlos de segurança de perímetro, por exemplo, regras de rede, que são reduzidos para abranger todos os componentes colocalizados, dando aos componentes individuais mais acesso do que o necessário.
Compensações de Eficiência de Desempenho com Excelência Operacional
Compensação: Observabilidade reduzida. O monitoramento é necessário para fornecer uma carga de trabalho com alertas significativos e ajudar a garantir a resposta bem-sucedida de incidentes.
Reduzir o volume de log e métrica 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 observabilidade reduzida resultante incluem:
- Ele limita os pontos de dados que são usados para criar alertas significativos.
- Isso leva a lacunas na cobertura de incidentes resposta atividades.
- 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. Os componentes são adicionados aos fluxos críticos. A estratégia de monitoramento da carga de trabalho e o monitoramento do desempenho devem 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 em todos os componentes interconectados.
Compensação: Aumento da complexidade nas operações. Um ambiente complexo tem interações mais complexas e uma maior probabilidade de um impacto negativo de operações de rotina, ad hoc e de emergência.
Melhorar a eficiência do desempenho através do aumento da 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 os procedimentos operacionais, como backups, rotações de chaves e estratégias de recuperação. Por exemplo, o particionamento e a 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: Stress cultural. A Excelência Operacional está enraizada numa cultura de irrepreensão, respeito e melhoria contínua.
A realização de análise de causa raiz de problemas de desempenho identifica deficiências em processos ou implementações que exigem correção. A equipa deve considerar o exercício uma oportunidade de aprendizagem. Se os membros da equipa forem culpados por problemas, o moral pode ser afetado.
Processos de rotina e ad hoc podem afetar o desempenho da carga de trabalho. Muitas vezes é considerado preferível realizar essas atividades fora do horário de pico. No entanto, fora do horário de pico pode ser inconveniente ou fora do horário normal para os membros da equipa que são responsáveis ou qualificados nessas tarefas.
Compensações de eficiência de desempenho com otimização de experiência
Compensação: Diminuição do envolvimento do utente. O pilar Otimização da Experiência prioriza experiências de utente mais envolventes.
A otimização para desempenho prioriza o uso de recursos da plataforma em detrimento das personalizações, que despriorizam componentes personalizados que poderiam levar a uma experiência do utente mais envolvente.
A otimização para desempenho pode se concentrar demais na minimização da complexidade, o que desprioriza recursos para experiências de utente mais envolventes, como componentes personalizados e integrações.
O desenvolvimento da interface do utente geralmente é feito em iterações e ciclos de envio mais rápidos, o que pode dificultar o aprimoramento contínuo do desempenho.