Desvantagens da Confiabilidade

Uma carga de trabalho confiável atende consistentemente aos objetivos de confiabilidade definidos. Ele deve atingir metas de resiliência estabelecidas, idealmente contornando eventos que afetam a confiabilidade. Realisticamente, no entanto, uma carga de trabalho deve tolerar e controlar o impacto de tais eventos e manter as operações em um nível predeterminado durante o mau funcionamento ativo. Mesmo durante um desastre, uma carga de trabalho confiável deve se recuperar para um estado específico dentro de um determinado período de tempo, ambos acordados entre as partes interessadas. Um plano de resposta a incidentes que permita obter detecção e recuperação rápidas é vital.

Durante a fase de design de uma carga de trabalho, você precisa considerar como as decisões baseadas nos princípios de design de confiabilidade e nas recomendações na lista de verificação de revisão de design para confiabilidade podem influenciar as metas e otimizações de outros pilares. Certas decisões podem beneficiar alguns pilares, mas constituem uma compensação para outros. Este artigo descreve exemplos de compensações que uma equipe de carga de trabalho pode encontrar ao projetar a arquitetura e as operações de carga de trabalho para confiabilidade.

Compensações de confiabilidade com segurança

Compensação: Aumento da área de superfície da carga de trabalho. O pilar 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.

  • A confiabilidade geralmente é obtida por meio da replicação. A replicação pode ocorrer no nível do componente, no nível dos dados ou até mesmo no nível geográfico. As réplicas, por design, aumentam a área de superfície de uma carga de trabalho. Do ponto de vista da segurança, uma área de superfície reduzida e contida é preferida para minimizar possíveis vetores de ataque e agilizar o gerenciamento dos controles de segurança.

  • Da mesma forma, as soluções de recuperação de desastres, como backups, aumentam a área de superfície de uma carga de trabalho. No entanto, eles geralmente são isolados do tempo de execução da carga de trabalho. Essas soluções exigem a implementação de controles de segurança adicionais, que podem ser específicos para a abordagem de recuperação de desastre.

  • Por causa das metas de confiabilidade, componentes adicionais podem ser necessários para a arquitetura, o que aumenta a área de superfície. Por exemplo, um barramento de mensagens pode ser incluído para tornar as solicitações resilientes por meio do desacoplamento. Essa complexidade aumentada aumenta a área de superfície da carga de trabalho adicionando novos componentes que precisam ser protegidos, possivelmente de maneiras que ainda não são usadas no sistema. Normalmente, esses componentes são acompanhados por código e bibliotecas adicionais para dar suporte ao seu uso ou padrões gerais de confiabilidade, o que também aumenta a área de superfície do aplicativo.

Compensação: Desvio de controle de segurança. O pilar Segurança recomenda que todos os controles permaneçam ativos em sistemas normais e estressados.

  • Quando uma carga de trabalho está passando por um evento de confiabilidade que está sendo tratado na resposta ativa a incidentes, a urgência pode criar pressão para que as equipes de carga de trabalho ignorem os controles de segurança otimizados para acesso de rotina.

  • As atividades de solução de problemas podem fazer com que a equipe desative temporariamente os protocolos de segurança, deixando um sistema já estressado potencialmente exposto a riscos de segurança adicionais. Também existe o risco de que os protocolos de segurança não sejam restabelecidos prontamente.

  • Implementações granulares de controles de segurança, como atribuições personalizadas de controle de acesso baseadas em função ou regras de firewall estreitas, introduzem complexidade e confidencialidade de configuração, aumentando a chance de configuração incorreta. Mitigar esse impacto potencial de confiabilidade usando regras amplas corrói todos os três princípios da arquitetura Zero Trust.

Compensação: versões antigas de software. O pilar Segurança incentiva uma abordagem de "atualize-se, mantenha-se atualizado" para os patches de segurança do fornecedor.

  • A aplicação de patches de segurança ou atualizações de software pode interromper o componente de destino, causando indisponibilidade durante a alteração do software. Atrasar ou evitar patches pode evitar os riscos potenciais de confiabilidade, mas deixa o sistema desprotegido contra ameaças em evolução.

  • A consideração anterior também se aplica ao código da carga de trabalho. Por exemplo, ele se aplica ao código do aplicativo que usa bibliotecas e contêineres antigos que usam imagens base antigas. Se a atualização e a implantação do código do aplicativo forem vistas como um risco de confiabilidade não mitigado, o aplicativo estará exposto a riscos de segurança adicionais ao longo do tempo.

Compensações de confiabilidade com otimização de custos

Compensação: Aumento da redundância ou desperdício de implementação. Uma carga de trabalho com custo otimizado minimiza os recursos subutilizados e evita o provisionamento excessivo de recursos.

  • A replicação é uma estratégia fundamental para a confiabilidade. Especificamente, a estratégia é ter replicação suficiente para lidar com um determinado número de falhas de nó simultâneas. A tolerância para mais falhas de nó simultâneas requer uma contagem de réplicas mais alta, o que leva a custos maiores.

  • O provisionamento excessivo é outra técnica para absorver carga inesperada em um sistema, como durante um evento de failover, que poderia levar a um problema de confiabilidade. Qualquer excesso de capacidade que não seja utilizado é considerado desperdício.

  • Se uma carga de trabalho usar uma solução de recuperação de desastre que satisfaça excessivamente os objetivos de ponto e tempo de recuperação da carga de trabalho, o excesso levará a custos mais altos devido ao desperdício.

  • As próprias implantações de carga de trabalho são uma fonte potencial de impacto na confiabilidade, e esse impacto geralmente é atenuado pela redundância no momento da implantação por meio de uma estratégia de implantação como azul/verde. Essa duplicação transitória de recursos durante a implantação segura normalmente aumenta o custo geral da carga de trabalho durante esses períodos. Os custos aumentam com a frequência das implantações.

Compensação: Aumento do investimento em operações que não estão alinhadas com os requisitos funcionais. Uma abordagem para otimização de custos é avaliar o valor fornecido por qualquer solução implantada.

  • Para obter confiabilidade, um sistema requer observabilidade. Os sistemas de monitoramento exigem transferência e coleta de dados de observabilidade. À medida que os recursos de monitoramento aumentam, a frequência e o volume de dados aumentam, levando a custos adicionais.

  • As possibilidades de confiabilidade em cargas de trabalho exigem testes e exercícios. Projetar e executar testes leva tempo e ferramentas potencialmente especializadas, o que incorre em custos.

  • As cargas de trabalho com metas de alta confiabilidade geralmente têm um processo de resposta rápida que exige que os membros da equipe técnica façam parte de uma rotação formal de plantão. Esse processo incorre em custos adicionais de pessoal e custos de oportunidades perdidas devido à atenção que poderia ser direcionada para outro lugar. Também incorre em custos potenciais de ferramentas para o gerenciamento do processo.

  • Os contratos de suporte com provedores de tecnologia são um componente essencial de uma carga de trabalho confiável. Os contratos de suporte que não são utilizados porque o nível de suporte é provisionado em excesso incorrem em desperdício.

Compensações de confiabilidade com excelência operacional

Compensação: Maior complexidade operacional. A Excelência Operacional, assim como a própria Confiabilidade, prioriza a simplicidade.

  • A confiabilidade geralmente aumenta a complexidade de uma carga de trabalho. À medida que a complexidade de uma carga de trabalho aumenta, os elementos operacionais da carga de trabalho também podem aumentar para dar suporte aos componentes e processos adicionados em termos de coordenação de implantação e área de superfície de configuração.

  • Ter uma estratégia de monitoramento abrangente para uma carga de trabalho é uma parte fundamental da excelência operacional. A introdução de componentes adicionais em uma arquitetura para implementar padrões de design de confiabilidade resulta em mais fontes de dados para gerenciar, aumentando a complexidade da implementação de rastreamento distribuído e observabilidade.

  • O uso de várias regiões para superar restrições de capacidade de recursos de região única e/ou implementar uma arquitetura ativa/ativa aumenta a complexidade do gerenciamento operacional da carga de trabalho. Essa complexidade é introduzida pela necessidade de gerenciar várias regiões e pela necessidade de gerenciar a replicação de dados entre elas.

Compensação: Maior esforço para gerar conhecimento e conscientização da equipe. O pilar Excelência Operacional recomenda manter e manter um repositório de documentação para procedimentos e topologias.

  • À medida que uma carga de trabalho se torna mais robusta por meio da adição de componentes e padrões de confiabilidade, leva mais tempo para manter os procedimentos operacionais e a documentação do artefato.

  • O treinamento se torna mais complexo à medida que o número de componentes na carga de trabalho aumenta. Essa complexidade afeta o tempo necessário para a integração. A complexidade também aumenta o conhecimento necessário para rastrear roteiros de produtos e as diretrizes de nível de serviço mais recentes.

Compensações de confiabilidade com eficiência de desempenho

Compensação: Maior latência. A eficiência de desempenho requer que um sistema atinja metas de desempenho para fluxos de usuários e dados.

  • Os padrões de confiabilidade geralmente incorporam a replicação de dados para sobreviver ao mau funcionamento da réplica. A replicação introduz latência adicional para operações confiáveis de gravação de dados, o que consome uma parte do orçamento de desempenho para um usuário ou fluxo de dados específico.

  • Às vezes, a confiabilidade emprega várias formas de balanceamento de recursos para distribuir ou redistribuir a carga para réplicas íntegras. Um componente dedicado usado para balanceamento geralmente afeta o desempenho da solicitação ou do processo que está sendo balanceado.

  • A distribuição de componentes entre limites geográficos ou zonas de disponibilidade para sobreviver a um impacto no escopo introduz latência de rede na comunicação entre componentes que abrangem esses limites de disponibilidade.

  • Processos extensivos são usados para observar a integridade de uma carga de trabalho. Embora o monitoramento seja crítico para a confiabilidade, a instrumentação pode afetar o desempenho do sistema. À medida que a observabilidade aumenta, o desempenho pode diminuir.

Compensação: Aumento do excesso de provisionamento. O pilar Eficiência de Desempenho desencoraja o provisionamento excessivo, recomendando o uso de recursos suficientes para atender à demanda.

  • As operações de dimensionamento automático não são instantâneas e, portanto, não podem lidar de forma confiável com um aumento repentino e dramático na demanda que não pode ser moldado ou suavizado. Portanto, o provisionamento excessivo por meio de instâncias maiores ou mais instâncias é uma tática de confiabilidade crítica para levar em conta o atraso entre o sinal de demanda e a criação de fornecimento para ajudar a absorver intermitências. A capacidade não utilizada contraria as metas de eficiência de desempenho.

  • Às vezes, um componente não pode ser dimensionado em reação à demanda, e essa demanda não é totalmente previsível. O uso de instâncias grandes para cobrir o pior caso leva ao excesso de provisionamento de resíduos em situações que estão fora desse caso de uso.

Explore as compensações para os outros pilares: