Share via


Compromissos de Eficiência de Desempenho

Uma carga de trabalho que cumpra os seus objetivos de desempenho sem sobreaprovisionamento é eficiente. O objetivo da eficiência de desempenho é ter apenas oferta suficiente para lidar sempre com a procura. As principais estratégias de eficiência de desempenho incluem a utilização adequada de otimizações de código, padrões de conceção, planeamento de capacidade e dimensionamento. Objetivos de desempenho claros e testes subjacentes a este pilar.

Durante o processo de negociação dos objetivos de desempenho de uma carga de trabalho e a conceção de uma carga de trabalho para eficiência de desempenho, é importante estar ciente de como os princípios de conceção da Eficiência de Desempenho e as recomendações na lista de verificação de revisão de design para Eficiência de Desempenho podem afetar os objetivos de otimização de outros pilares. Determinadas decisões de eficiência de desempenho podem beneficiar alguns pilares, mas constituem compromissos para outros. Este artigo apresenta exemplos de desvantagens que uma equipa de carga de trabalho pode encontrar ao conceber a arquitetura da carga de trabalho e as operações para eficiência de desempenho.

Compromissos de Eficiência de Desempenho com Fiabilidade

Desvantagem: replicação reduzida e maior densidade. Uma pedra angular da fiabilidade é garantir a resiliência utilizando a replicação e limitando o raio de explosão de avarias.

  • Uma carga de trabalho que alcança a eficiência ao atrasar o dimensionamento até ao último momento responsável satisfaz de perto a procura, mas está vulnerável a falhas imprevistas no nó e atrasos de dimensionamento.

  • A consolidação de recursos de carga de trabalho pode utilizar capacidade em excesso e melhorar a eficiência. No entanto, aumenta o raio de explosão de uma avaria no componente colocalizado ou na plataforma de aplicações.

  • Aumentar ou reduzir verticalmente para minimizar a capacidade excedentária pode deixar uma carga de trabalho subaprovisionada durante os picos de utilização, o que leva a interrupções do serviço devido a oferta insuficiente.

Desvantagem: maior complexidade. A fiabilidade prioriza a simplicidade.

  • A utilização do dimensionamento automático para equilibrar a oferta de cargas de trabalho em relação à procura introduz variabilidade na topologia da carga de trabalho e adiciona um componente que tem de funcionar corretamente para que o sistema seja fiável. O dimensionamento automático leva a acionar mais eventos de ciclo de vida da aplicação, como iniciar e parar.

  • A criação de partições e a fragmentação de dados ajudam a evitar problemas de desempenho em conjuntos de dados grandes ou frequentemente acedidos. No entanto, a implementação destes padrões aumenta a complexidade porque a consistência (eventual) tem de ser mantida em recursos adicionais.

  • A desnormalização de dados para padrões de acesso otimizados pode melhorar o desempenho, mas introduz complexidade porque várias representações de dados têm de ser mantidas sincronizadas.

  • Por vezes, os padrões de conceção da cloud centrados no desempenho exigem a introdução de componentes adicionais. A utilização destes componentes aumenta a área de superfície da carga de trabalho. Em seguida, os componentes têm de ser considerados fiáveis para manter toda a carga de trabalho fiável. Os exemplos incluem:

    • Um barramento de mensagens para redistribuição de carga, que introduz um componente crítico e com monitorização de estado.
    • Um balanceador de carga para réplicas dimensionadas automaticamente, que requer uma operação fiável e o alistamento de réplicas.
    • Descarregar dados para caches, o que requer abordagens fiáveis de invalidação da cache.

Desvantagem: teste e observação em ambientes ativos. Evitar a utilização desnecessária de sistemas de produção é uma abordagem de auto-preservação para fiabilidade.

  • Os testes de desempenho em ambientes ativos, como a utilização de transações sintéticas, apresentam 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 monitorização do desempenho de aplicações (APM) que permite que as equipas aprendam com ambientes ativos. As ferramentas APM são instaladas e configuradas no código da aplicação ou no ambiente de alojamento. Uma utilização inadequada, limitações excedidas ou configuração incorreta da ferramenta pode comprometer a funcionalidade e a manutenção, o que pode prejudicar potencialmente a fiabilidade.

Compromissos de Eficiência de Desempenho com Segurança

Desvantagem: redução dos controlos de segurança. Os controlos de segurança são estabelecidos em várias camadas, por vezes redundantes, para fornecer defesa em profundidade.

Uma estratégia de otimização de desempenho é remover ou ignorar componentes ou processos que contribuem para atrasos num fluxo, especialmente quando o tempo de processamento não é justificado. No entanto, esta estratégia pode comprometer a segurança e deve ser acompanhada por uma análise completa dos riscos. Considere os seguintes exemplos:

  • Remover a encriptação em trânsito ou inativo para melhorar as velocidades de transferência expõe os dados a potenciais falhas de integridade ou confidencialidade.

  • Remover ou reduzir a análise de segurança ou inspecionar ferramentas para reduzir os tempos de processamento pode comprometer a confidencialidade, integridade ou disponibilidade que essas ferramentas protegem.

  • Diminuir a frequência da aplicação de patches de segurança para limitar o impacto no desempenho pode deixar uma carga de trabalho mais vulnerável a ameaças emergentes.

  • Remover regras de firewall de fluxos de rede para melhorar a latência de 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.

  • Utilizar menos entropia em algoritmos de encriptação ou hash, por exemplo, no vetor de inicialização (IV), é mais eficiente, mas facilita a encriptação.

Desvantagem: maior área de superfície da carga de trabalho. A segurança prioriza uma área de superfície reduzida e contida para minimizar os vetores de ataque e reduzir a gestão dos controlos de segurança.

Por vezes, os padrões de conceção da cloud centrados no desempenho exigem a introdução de componentes adicionais. Estes componentes aumentam a área de superfície da carga de trabalho. Os novos componentes têm de ser protegidos, possivelmente de formas que ainda não são utilizadas no sistema e, muitas vezes, aumentam o âmbito de conformidade. Considere estes componentes normalmente adicionados:

  • Um barramento de mensagens para redistribuição de carga

  • Um balanceador de carga para réplicas dimensionadas automaticamente

  • Descarregar dados para caches, redes de entrega de aplicações ou redes de entrega de conteúdos

  • Descarregar o processamento para tarefas em segundo plano ou até mesmo computação de cliente

Desvantagem: remover a segmentação. O pilar Segurança prioriza a segmentação forte para permitir controlos de segurança detalhados e reduzir o raio de explosão.

A partilha de recursos é uma abordagem para melhorar a eficiência. Aumenta a densidade para otimizar a utilização da capacidade. Os exemplos incluem cenários multi-inquilino ou combinação de aplicações diferentes numa arquitetura numa plataforma de aplicação comum. O aumento da densidade pode levar às seguintes preocupações de segurança:

  • Aumento do risco de movimento lateral não autorizado de um inquilino para outro.

  • Uma identidade de carga de trabalho partilhada que viola o princípio do menor privilégio e obscurece os registos de auditoria individuais nos registos 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.

  • Um compromisso do anfitrião da plataforma de aplicações ou de um componente individual devido a um raio de explosão maior. Este aumento é causado por um acesso mais fácil aos componentes colocalizados.

  • Colocalizar componentes diferentes que levam a mais componentes no âmbito da conformidade devido ao anfitrião partilhado.

Desvantagens da Eficiência de Desempenho com a Otimização de Custos

Troca: Demasiada oferta para a procura. Tanto a Otimização de Custos como a Eficiência de Desempenho priorizam ter apenas oferta suficiente para servir a procura.

  • O sobreaprovisionamento é um risco quando as equipas tentam mitigar problemas de desempenho numa carga de trabalho. Algumas causas comuns do sobreaprovisionamento incluem:

    • O planeamento de capacidade inicial foi mal avaliado porque a equipa focou-se apenas nas estimativas de pico de carga, negligenciando as estratégias para atingir o pico de suavidade na conceção da carga de trabalho.
    • Aumentar ou reduzir verticalmente um recurso durante um passo de resolução de problemas de uma resposta a incidentes.
  • O dimensionamento automático pode ser configurado incorretamente. Alguns exemplos de dimensionamento automático configurado incorretamente incluem:

    • Aumentar verticalmente com alterações mínimas na procura ou um período de arrefecimento alargado pode incorrer em mais custos do que o necessário para a procura.
    • A utilização do dimensionamento automático sem um limite superior definido pode originar um crescimento descontrolado devido a avarias ou abusos do sistema e exceder os requisitos de carga de trabalho esperados.
  • Expandir para várias regiões pode melhorar o desempenho ao aproximar as cargas de trabalho do utilizador e evitar restrições temporárias de capacidade de recursos. No entanto, também adiciona complexidade e duplicação de recursos.

Compromisso: Mais componentes. Uma técnica de otimização de custos é consolidar com um número menor de recursos ao aumentar a densidade, remover a duplicação e a funcionalidade de colocalização.

  • Por vezes, os padrões de conceção da cloud centrados no desempenho exigem a introdução de componentes adicionais. Normalmente, estes componentes adicionais levam a um aumento global dos custos da carga de trabalho. Por exemplo, pode incluir um barramento de mensagens para tarefas de redistribuição ou descarga de carga para uma aplicação ou rede de entrega de conteúdos para melhores tempos de resposta.

  • A segmentação de recursos permite que diferentes partes de uma carga de trabalho tenham características de desempenho distintas, o que permite otimizar independentemente cada segmento. No entanto, pode aumentar os custos totais de propriedade porque requer múltiplos segmentos otimizados em vez de um único componente generalizado.

Desvantagem: aumento do investimento em itens que não estão alinhados com os requisitos funcionais. Uma abordagem à otimização de custos é avaliar o valor fornecido por qualquer solução implementada.

  • Os serviços Premium e os SKUs podem ajudar uma carga de trabalho a cumprir os objetivos de desempenho. Normalmente, estes serviços custam mais e podem fornecer funcionalidades adicionais. Poderão ser subutilizadas se muitas das funcionalidades premium não forem utilizadas especificamente para cumprir os objetivos de desempenho.

  • Uma carga de trabalho de desempenho requer dados telemétricos para observabilidade que têm de ser transferidos e armazenados. Um aumento da telemetria de desempenho que está a ser recolhida pode aumentar o custo da transferência e armazenamento de dados telemétricos.

  • As atividades de teste de desempenho adicionam custos que não estão associados ao valor do sistema de produção. Exemplos de custos de teste de desempenho incluem:

    • Instanciar ambientes dedicados a testes centrados no desempenho.
    • Utilizar ferramentas de desempenho especializadas.
    • Gastar tempo para executar os testes.
  • Os membros da equipa de formação para tarefas de otimização de desempenho especializadas ou para pagar serviços de otimização do desempenho aumentam o custo de uma carga de trabalho.

Compromissos de Eficiência de Desempenho com Excelência Operacional

Desvantagem: observabilidade reduzida. A observabilidade é necessária para fornecer uma carga de trabalho com alertas significativos e ajudar a garantir uma resposta a incidentes com êxito.

  • Reduzir o volume de registos e métricas para reduzir o tempo de processamento gasto na recolha de telemetria em vez de outras tarefas reduz a observabilidade geral do sistema. Alguns exemplos da observabilidade reduzida resultante incluem:

    • Limita os pontos de dados que são utilizados para criar alertas significativos.
    • Conduz a lacunas na cobertura das atividades de resposta a incidentes.
    • Limita a observabilidade em interações e limites sensíveis à conformidade ou sensíveis à segurança.
  • Quando os padrões de conceção de desempenho são implementados, a complexidade da carga de trabalho aumenta frequentemente. Os componentes são adicionados a fluxos críticos. A estratégia de monitorização da carga de trabalho e a monitorização do desempenho têm de incluir esses componentes. Quando um fluxo abrange vários componentes ou limites de aplicações, a complexidade da monitorização do desempenho desse fluxo aumenta. O desempenho do fluxo tem de estar correlacionado em todos os componentes interligados.

Desvantagem: maior complexidade nas operações. Um ambiente complexo tem interações mais complexas e uma maior probabilidade de um impacto negativo das operações de rotina, ad hoc e de emergência.

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

  • À medida que os padrões de conceção de desempenho são implementados, influenciam procedimentos operacionais como cópias de segurança, rotações de chaves e estratégias de recuperação. Por exemplo, a criação de partições de dados e a fragmentação podem complicar as tarefas de rotina quando as equipas tentam garantir que essas tarefas não afetam a consistência dos dados.

Tradeoff: Stress cultural. A Excelência Operacional está enraizada numa cultura de impotência, respeito e melhoria contínua.

  • A realização da análise da causa principal dos problemas de desempenho identifica deficiências em processos ou implementações que requerem correção. A equipa deve considerar o exercício como uma oportunidade de aprendizagem. Se os membros da equipa forem culpados por problemas, a moral pode ser afectada.

  • Os processos de rotina e ad hoc podem afetar o desempenho da carga de trabalho. Muitas vezes, é considerado preferível realizar estas atividades fora das horas de ponta. No entanto, as horas fora do pico podem ser inconvenientes ou fora do horário normal para os membros da equipa responsáveis ou qualificados nestas tarefas.

Explore as vantagens dos outros pilares: