Compensações de confiabilidade

Uma carga de trabalho confiável atende consistentemente aos seus 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 desses eventos e manter 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 os stakeholders. Um plano de resposta a incidentes que permite que você obtenha 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 com base nos princípios de design de confiabilidade e nas recomendações na lista de verificação 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 as compensações de exemplo 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: área de superfície de carga de trabalho aumentada. O pilar segurança prioriza uma área de superfície reduzida e contida para minimizar os 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 de dados ou até mesmo em um nível geográfico. As réplicas, por design, aumentam a área de superfície de uma carga de trabalho. Do ponto de vista de segurança, uma área de superfície reduzida e contida é preferencial para minimizar possíveis vetores de ataque e simplificar o gerenciamento de controles de segurança.

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

  • Para fins de 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 adicionado para tornar as solicitações resilientes. 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 a seus padrões de uso ou confiabilidade geral, o que também aumenta a área de superfície do aplicativo.

Compensação: bypass 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á enfrentando um evento de confiabilidade que está sendo abordado sob resposta a incidentes ativos, 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.

  • A solução de problemas de atividades pode fazer com que a equipe desabilite temporariamente os protocolos de segurança, deixando um sistema já estressado potencialmente exposto a riscos adicionais de segurança. Também há o risco de que os protocolos de segurança não sejam restabelecidos imediatamente.

  • Implementações granulares de controles de segurança, como atribuições de controle de acesso baseadas em função ou regras de firewall, introduzem complexidade e sensibilidade de configuração, aumentando a chance de configuração incorreta. Atenuar esse potencial impacto de confiabilidade usando regras amplas corroe todos os três princípios de arquitetura Confiança Zero.

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

  • A aplicação de patches de segurança ou atualizações de software pode potencialmente interromper o componente de destino, causando indisponibilidade durante a alteração do software. Atrasar ou evitar a aplicação de patch pode evitar os possíveis riscos 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 antigas e contêineres que usam imagens base antigas. Se a atualização e a implantação do código do aplicativo forem exibidas como um risco de confiabilidade nãomitigado, o aplicativo será 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 otimização de custo minimiza os recursos subutilizados e evita o excesso de recursos de provisionamento.

  • 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 falhas de nó mais simultâneas requer uma contagem de réplica maior, o que leva a custos maiores.

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

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

  • As implantações de carga de trabalho em si são uma fonte potencial de impacto na confiabilidade e esse impacto geralmente é mitigado 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 aos requisitos funcionais. Uma abordagem para otimização de custo é 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 acessibilidades de confiabilidade em cargas de trabalho exigem testes e análises. Projetar e executar testes leva tempo e ferramentas potencialmente especializadas, o que gera custos.

  • As cargas de trabalho com destinos 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 chamada. Esse processo incorre em custos adicionais de pessoal e custos de oportunidade perdidos devido à atenção que poderia ser direcionada para outro lugar. Ele 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 fundamental de uma carga de trabalho confiável. Contratos de suporte que não são utilizados porque o nível de suporte é um desperdício incur superprovisionado.

Compensações de confiabilidade com excelência operacional

Compensação: maior complexidade operacional. A Excelência Operacional, 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. Introduzir componentes adicionais em uma arquitetura para implementar padrões de design de confiabilidade resulta em mais fontes de dados a serem gerenciadas, aumentando a complexidade da implementação do rastreamento distribuído e da observabilidade.

  • Usar várias regiões para superar restrições de capacidade de recurso 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 e aumenta o conhecimento necessário para acompanhar roteiros de produtos e diretrizes de nível de serviço.

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ário e dados.

  • Os padrões de confiabilidade geralmente incorporam replicação de dados para sobreviver réplica mau funcionamento. A replicação introduz latência adicional para operações confiáveis de gravação de dados, que consome uma parte do orçamento de desempenho para um fluxo de dados ou usuário 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 equilibrado.

  • Distribuir 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 essencial 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 de Eficiência de Desempenho desencoraja o excesso de provisionamento, recomendando o uso de apenas recursos suficientes para atender à demanda.

  • As operações de dimensionamento automático não são instantâneas e, portanto, não podem lidar com um aumento repentino e dramático na demanda que não pode ser moldada ou suavizada. Portanto, o excesso de provisionamento por meio de instâncias maiores ou mais instâncias é uma tática de confiabilidade crítica para considerar o atraso entre o sinal de demanda e a criação da oferta. 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 resíduos de provisionamento em situações que estão fora desse caso de uso.

Explore as compensações para os outros pilares: