Compromissos de fiabilidade

Uma carga de trabalho fiável cumpre consistentemente os objetivos de fiabilidade definidos. Deve atingir os objetivos de resiliência estabelecidos, idealmente ao contornar os eventos que afetam a fiabilidade. No entanto, de forma realista, uma carga de trabalho tem de tolerar e controlar o impacto desses eventos e manter as operações a um nível pré-determinada durante o mau funcionamento ativo. Mesmo durante um desastre, uma carga de trabalho fiável tem de recuperar para um estado específico num determinado período de tempo, ambos acordados entre os intervenientes. Um plano de resposta a incidentes que lhe permite obter uma deteção e recuperação rápidas é vital.

Durante a fase de conceção de uma carga de trabalho, tem de considerar como as decisões com base nos princípios de conceção de fiabilidade e nas recomendações na lista de verificação De revisão de Estrutura para Fiabilidade podem influenciar os objetivos e otimizações de outros pilares. Determinadas decisões podem beneficiar alguns pilares, mas constituem uma desvantagem para outros. Este artigo descreve as desvantagens de exemplo que uma equipa de carga de trabalho pode encontrar ao conceber a arquitetura da carga de trabalho e as operações de fiabilidade.

Compromissos de fiabilidade com a Segurança

Desvantagem: aumento da área da superfície da carga de trabalho. O pilar 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.

  • A fiabilidade é frequentemente obtida através da replicação. A replicação pode ocorrer ao nível do componente, ao nível dos dados ou mesmo a nível geográfico. As réplicas, por predefinição, aumentam a área de superfície de uma carga de trabalho. Do ponto de vista de segurança, é preferível uma área de superfície reduzida e contida para minimizar potenciais vetores de ataque e simplificar a gestão dos controlos de segurança.

  • Da mesma forma, as soluções de recuperação após desastre, como cópias de segurança, aumentam a área de superfície de uma carga de trabalho. No entanto, muitas vezes estão isolados do runtime da carga de trabalho. Isto requer a implementação de controlos de segurança adicionais, que podem ser específicos da solução de recuperação após desastre.

  • Para fins de fiabilidade, poderão ser necessários componentes adicionais para a arquitetura, o que aumenta a área da superfície. Por exemplo, um barramento de mensagens pode ser adicionado para tornar os pedidos resilientes. Esta maior complexidade aumenta a área de superfície da carga de trabalho ao adicionar novos componentes que precisam de ser protegidos, possivelmente de formas que ainda não são utilizadas no sistema. Normalmente, estes componentes são acompanhados por códigos e bibliotecas adicionais para suportar a utilização ou padrões de fiabilidade geral, o que também aumenta a área de superfície da aplicação.

Troca: desativação do controlo de segurança. O pilar Segurança recomenda que todos os controlos permaneçam ativos em sistemas normais e stressados.

  • Quando uma carga de trabalho está a ter um evento de fiabilidade que está a ser resolvido sob resposta a incidentes ativos, a urgência pode criar pressão para que as equipas de cargas de trabalho ignorem os controlos de segurança otimizados para o acesso de rotina.

  • As atividades de resolução de problemas podem fazer com que a equipa desative temporariamente os protocolos de segurança, deixando um sistema já stressado potencialmente exposto a riscos de segurança adicionais. Existe também o risco de os protocolos de segurança não serem restabelecidos rapidamente.

  • Implementações granulares de controlos de segurança, como atribuições de controlo de acesso baseadas em funções ou regras de firewall, introduzem complexidade e sensibilidade de configuração, aumentando a probabilidade de configuração incorreta. Mitigar este potencial impacto de fiabilidade ao utilizar regras amplas corrói os três princípios de arquitetura Confiança Zero.

Tradeoff: Versões de software antigas. O pilar Segurança incentiva uma abordagem "atual, manter-se atual" para os patches de segurança do fornecedor.

  • A aplicação de patches de segurança ou atualizações de software pode potencialmente perturbar o componente de destino, causando indisponibilidade durante a alteração do software. Adiar ou evitar a aplicação de patches pode evitar potenciais riscos de fiabilidade, 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, aplica-se ao código da aplicação que utiliza bibliotecas e contentores antigos que utilizam imagens de base antigas. Se a atualização e implementação do código da aplicação for vista como um risco de fiabilidade não mitigado, a aplicação será exposta a riscos de segurança adicionais ao longo do tempo.

Compromissos de fiabilidade com a Otimização de Custos

Contrapartida: redundância ou desperdício de implementação aumentado. Uma carga de trabalho otimizada para custos minimiza os recursos subutilizados e evita o aprovisionamento excessivo de recursos.

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

  • O aprovisionamento excessivo é outra técnica para absorver carga inesperada num sistema que, de outra forma, poderia levar a um problema de fiabilidade. Qualquer capacidade em excesso que não seja utilizada é considerada um desperdício.

  • Se uma carga de trabalho utilizar uma solução de recuperação após desastre que satisfaça excessivamente os objetivos de tempo e ponto de recuperação da carga de trabalho, o excesso origina custos mais elevados devido ao desperdício.

  • As próprias implementações de cargas de trabalho são uma potencial fonte de impacto na fiabilidade e esse impacto é muitas vezes mitigado pela redundância no momento da implementação através de uma estratégia de implementação como azul/verde. Normalmente, esta duplicação transitória de recursos durante a implementação segura aumenta o custo global da carga de trabalho durante esses períodos. Os custos aumentam com a frequência das implementações.

Contrapartida: aumento do investimento em operações que não estão alinhadas com os requisitos funcionais. Uma abordagem à otimização de custos é avaliar o valor fornecido por qualquer solução implementada.

  • Para alcançar a fiabilidade, um sistema requer observabilidade. Os sistemas de monitorização requerem transferência e recolha de dados de observabilidade. À medida que as capacidades de monitorização aumentam, a frequência e o volume de dados aumentam, o que leva a custos adicionais.

  • As acessibilidades de fiabilidade nas cargas de trabalho necessitam de testes e explorações. A conceção e execução de testes demora tempo e ferramentas potencialmente especializadas, que implicam custos.

  • Muitas vezes, as cargas de trabalho com destinos de alta fiabilidade têm um processo de resposta rápida que requer que os membros da equipa técnica façam parte de uma rotação formal de chamada. Este processo implica custos adicionais de pessoal e custos de oportunidade perdidos devido à atenção que poderia ser direcionada para outro local. Também implica potenciais custos de ferramentas para a gestão do processo.

  • Os contratos de suporte com fornecedores de tecnologia são um componente fundamental de uma carga de trabalho fiável. Os contratos de suporte que não são utilizados porque o nível de suporte é excessivamente aprovisionado incorrem em resíduos.

Compromissos de fiabilidade com Excelência Operacional

Desvantagem: maior complexidade operacional. A Excelência Operacional, como a Própria Fiabilidade, prioriza a simplicidade.

  • Normalmente, a fiabilidade 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 suportar os componentes e processos adicionados em termos de coordenação de implementação e área de superfície de configuração.

  • Ter uma estratégia de monitorização abrangente para uma carga de trabalho é uma parte fundamental da excelência operacional. Introduzir componentes adicionais numa arquitetura para implementar padrões de conceção de fiabilidade resulta em mais origens de dados para gerir, aumentando a complexidade da implementação do rastreio distribuído e da observabilidade.

  • Utilizar várias regiões para ultrapassar as restrições de capacidade de recursos de região única e/ou implementar uma arquitetura ativa/ativa aumenta a complexidade da gestão operacional da carga de trabalho. Esta complexidade é introduzida pela necessidade de gerir várias regiões e pela necessidade de gerir a replicação de dados entre elas.

Desvantagem: maior esforço para gerar conhecimento e deteção de equipa. 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 através da adição de componentes e padrões de fiabilidade, demora mais tempo a manter os procedimentos operacionais e a documentação do artefacto.

  • A preparação torna-se mais complexa à medida que o número de componentes na carga de trabalho aumenta. Esta complexidade afeta o tempo necessário para a integração e aumenta os conhecimentos necessários para controlar os roteiros dos produtos e a documentação de orientação ao nível do serviço.

Compromissos de fiabilidade com Eficiência de Desempenho

Desvantagem: aumento da latência. A Eficiência de Desempenho requer um sistema para atingir os objetivos de desempenho para fluxos de dados e utilizadores.

  • Os padrões de fiabilidade incorporam frequentemente a replicação de dados para sobreviver ao mau funcionamento da réplica. A replicação introduz latência adicional para operações fiáveis de escrita de dados, que consomem uma parte do orçamento de desempenho para um utilizador ou fluxo de dados específico.

  • Por vezes, a fiabilidade utiliza várias formas de balanceamento de recursos para distribuir ou redistribuir a carga para réplicas em bom estado de funcionamento. Um componente dedicado que é utilizado para balanceamento afeta normalmente o desempenho do pedido ou processo que está a ser equilibrado.

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

  • Os processos extensos são utilizados para observar o estado de funcionamento de uma carga de trabalho. Embora a monitorização seja fundamental para a fiabilidade, a instrumentação pode afetar o desempenho do sistema. À medida que a observabilidade aumenta, o desempenho pode diminuir.

Contrapartida: Aumento do aprovisionamento excessivo. O pilar Eficiência de Desempenho desencoraja o aprovisionamento excessivo, recomendando, em vez disso, a utilização de recursos suficientes para satisfazer a procura.

  • As operações automáticas de dimensionamento não são instantâneas e, por conseguinte, não conseguem lidar de forma fiável com um aumento repentino e dramático da procura que não pode ser moldado ou suavado. Por conseguinte, o aprovisionamento excessivo através de instâncias maiores ou de mais instâncias é uma táctica de fiabilidade crítica para contabilizar o desfasamento entre o sinal de procura e a criação da oferta. A capacidade não utilizada contraria os objetivos de eficiência de desempenho.

  • Por vezes, um componente não pode ser dimensionado em reação à procura e essa procura não é totalmente previsível. A utilização de instâncias grandes para cobrir o pior caso leva ao excesso de resíduos de aprovisionamento em situações fora desse caso de utilização.

Explore as vantagens dos outros pilares: