Partilhar via


Compensações de Excelência Operacional

A Excelência Operacional proporciona a qualidade da carga de trabalho através da implementação de padrões claros da equipe, responsabilidade e prestação de contas compreendidas, atenção aos resultados do cliente e coesão da equipe. A implementação dessas metas está enraizada no DevOps, que recomenda minimizar a variação do processo, reduzir o erro humano e, finalmente, aumentar o retorno de valor para a carga de trabalho. Esse valor não é medido apenas em relação aos requisitos funcionais atendidos pelos componentes da carga de trabalho. Também é medido pelo valor que a equipe entrega na busca por melhorias.

Durante a fase de projeto de uma carga de trabalho e ao longo de seu ciclo de vida, à medida que as etapas de melhoria contínua são tomadas, é importante considerar como as decisões baseadas nos princípios de design de Excelência Operacional e nas recomendações na lista de verificação de revisão de Design para Excelência Operacional podem influenciar os objetivos e otimizações de outros pilares. Certas decisões podem beneficiar alguns pilares, mas constituem compensações 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 da carga de trabalho.

Compensações de Excelência Operacional com Confiabilidade

Compensação: Maior complexidade. A confiabilidade prioriza a simplicidade, porque o design simples minimiza a configuração incorreta e reduz interações inesperadas.

  • As estratégias de implantação segura geralmente exigem alguma quantidade de compatibilidade direta e retroativa entre a lógica do aplicativo e os dados na carga de trabalho. Essa complexidade adicional aumenta a carga de testes e pode levar a complexidades ou problemas de integridade com os dados da carga de trabalho.

  • A infraestrutura altamente em camadas, modularizada ou parametrizada como código pode aumentar a chance de configuração incorreta acidental devido à complexidade da interação entre os componentes do código.

  • Os padrões de design de nuvem que beneficiam as operações às vezes exigem a introdução de componentes adicionais, por exemplo, o uso de um armazenamento de configuração externo ou a coordenação de implantações de sidecar em uma plataforma de aplicativos em contêineres. Os componentes adicionais e as camadas adicionadas de indireção aumentam os pontos de interação no sistema, aumentando a área de superfície para mau funcionamento ou configuração incorreta.

  • Os componentes de carga de trabalho projetados para evoluir de forma independente para dar suporte ao desenvolvimento e à hospedagem ágeis introduzem dependências na descoberta de serviços como uma camada de indireção. A descoberta de serviços pode não ter capacidade de resposta para alterações e o mau funcionamento pode ser difícil de diagnosticar.

Compensação: aumento das atividades potencialmente desestabilizadoras. O pilar Confiabilidade incentiva a evitar atividades ou escolhas de projeto que podem desestabilizar um sistema e levar a interrupções, interrupções ou avarias.

  • A implantação de pequenas alterações incrementais é uma técnica para mitigar riscos, mas espera-se que essas pequenas alterações também sejam entregues à produção com mais frequência. As implantações podem desestabilizar um sistema, de modo que, à medida que a taxa de implantação aumenta, esse risco também aumenta.

  • Uma cultura que se mede com métricas de velocidade, como implantações por semana, e usa automação que pode facilitar a introdução de alterações em um ritmo mais rápido também provavelmente executará mais implantações em um período mais curto.

  • Aumentar a densidade para simplificar as operações, reduzindo o número de superfícies de controle e observabilidade, também pode levar a um maior risco de disponibilidade, porque o mau funcionamento ou configuração incorreta aumenta o raio de impacto de um evento desestabilizador.

Compensações de Excelência Operacional com Segurança

Compensação: Aumento da área de superfície. O pilar Segurança recomenda uma área de superfície de carga de trabalho reduzida em termos de componentes e exposição às operações. Essa redução minimiza os vetores de ataque e produz um escopo menor para controle e testes de segurança.

  • Os componentes que cercam a carga de trabalho e dão suporte às suas operações, como automação ou um plano de controle personalizado, também devem estar no escopo para proteção e testes de segurança regulares.

  • Operações de rotina, ad hoc e de emergência aumentam os pontos de contato com a carga de trabalho. Uma abordagem de confiança zero requer que esses processos sejam considerados vetores de ataque e devem ser incluídos nos controles de segurança e na validação da carga de trabalho.

  • A plataforma de observabilidade do sistema coleta logs e métricas sobre a carga de trabalho, o que pode ser uma fonte valiosa de divulgação de informações. Portanto, a segurança da carga de trabalho precisa se estender para proteger os coletores de dados contra ameaças internas e externas.

  • Agentes de compilação, configuração externalizada e repositórios de alternância de recursos e abordagens de implantação lado a lado aumentam a área de superfície do aplicativo que requer segurança.

  • Uma maior frequência de implantação causada por pequenas alterações incrementais ou por esforços de "manter-se atualizado, manter-se atualizado" resulta em mais testes de segurança no ciclo de vida de desenvolvimento de software.

Compensação: Maior desejo de transparência. Uma carga de trabalho segura é baseada em designs que protegem a confidencialidade dos dados que fluem através dos componentes do sistema.

As plataformas de observabilidade ingerem dados de todos os tipos para obter informações sobre a integridade e o comportamento de uma carga de trabalho. À medida que as equipes tentam obter maior fidelidade nos dados de observabilidade, há um risco maior de que os controles de classificação de dados, como o mascaramento de dados, dos sistemas de origem não se estendam aos logs e coletores de log da plataforma de observabilidade.

Compensação: Segmentação reduzida. Uma abordagem de segurança fundamental para isolar o acesso e a função é projetar uma estratégia de segmentação forte. Esse design é implementado por meio de isolamento de recursos e controles de identidade.

  • A colocalização de componentes de aplicativos diferentes em recursos compartilhados de computação, rede e dados para facilitar o gerenciamento reverte a segmentação ou dificulta a segmentação baseada em funções. Os componentes colocalizados também podem precisar compartilhar uma identidade de carga de trabalho, o que pode levar à atribuição excessiva de permissões ou à falta de rastreabilidade.

  • Coletar todos os logs de todo o sistema em um coletor de logs unificado pode facilitar a consulta e a criação de alertas. No entanto, isso também pode tornar mais difícil ou impossível fornecer segurança baseada em linha para tratar dados confidenciais com os controles de auditoria necessários.

  • Simplificar o gerenciamento de segurança baseada em atributos ou em funções, reduzindo a granularidade de funções e suas atribuições, pode levar a permissões inapropriadamente amplas.

Compensações de Excelência Operacional com Otimização de Custos

O pilar de Excelência Operacional nunca recomenda atividades que reduzam a produtividade ou comprometam o retorno do investimento de uma carga de trabalho. As recomendações que parecem mudar o foco das atividades de entrega levam em conta os melhores interesses de longo prazo para a carga de trabalho e a equipe. Se a sua carga de trabalho está se aproximando da data de expiração, provavelmente não faz sentido investir muito em recomendações que desencadeiem essas compensações.

Compensação: Aumento do gasto de recursos. Um dos principais fatores de custo para uma carga de trabalho é o custo de seus recursos. Implantar menos recursos, dimensionar corretamente os recursos e reduzir o consumo geralmente ajuda a manter os custos baixos.

  • A implementação de práticas de implantação seguras, mesmo que as alterações sejam relativamente pequenas, pode levar a um aumento no número de recursos implantados simultaneamente. Esses padrões exigem a implantação de várias instâncias simultâneas do aplicativo ou componente de infraestrutura para que o tráfego possa ser deslocado de forma controlada. Esse aumento é mais pronunciado em uma carga de trabalho que usa uma abordagem de infraestrutura imutável.

  • A equipe pode precisar introduzir componentes de carga de trabalho adicionais para implementar padrões de projeto de nuvem alinhados operacionalmente ou automação de carga de trabalho. Por exemplo, para dar suporte à agilidade de implantação, eles podem adicionar um componente de roteamento de gateway. Para oferecer suporte a um melhor gerenciamento de configuração, eles podem adicionar um armazenamento de configuração externo. Para dar suporte a eventos de ciclo de vida do locatário, eles podem criar um plano de controle. Esses recursos também influenciam os custos dos ambientes de pré-produção.

  • Aumentar o número de ambientes de pré-produção para melhorar a experiência de desenvolvimento e teste por meio do isolamento também aumenta o número de recursos. Esses recursos, que não são usados para fornecer oferta contra a demanda de produção, aumentam o custo da solução.

  • Aumentar a paridade dos ambientes de pré-produção com o ambiente de produção, em termos de contagem de recursos, SKUs e volumes de dados, melhora o processo de garantia de qualidade. O custo aumenta à medida que a paridade aumenta.

  • Embora os dados de telemetria não sejam diretamente um recurso, para permitir a eficácia das plataformas de observabilidade, esses dados precisam ser persistentes. A maioria dos armazenamentos de dados operacionais tem preços baseados em uma combinação de taxas de ingestão e volume. Geralmente, à medida que a quantidade de telemetria de baixa latência e alta diversidade aumenta, os custos também aumentam. Para implantações em várias regiões, espera-se que esses coletores de dados operacionais sejam implantados por região, portanto, quaisquer custos por recurso se tornam um fator.

Compensação: Diminuição do foco nas atividades de entrega. Os membros da equipe de carga de trabalho oferecem maior valor de carga de trabalho executando eficientemente tarefas alinhadas às suas capacidades.

  • As equipes de carga de trabalho que gastam tempo criando e refinando uma estrutura de suporte saudável e responsável e a resposta a incidentes estão fornecendo um serviço valioso aos usuários da carga de trabalho. À medida que o esforço de suporte aumenta (por exemplo, rotações formais de plantão), geralmente devido a uma mudança na criticidade do negócio, os custos dessas atividades aumentam. Esse aumento de custo pode ser o resultado de um aumento na equipe ou pode ser incorrido indiretamente na forma de atenção que é deslocada das atividades de entrega para as funções de apoio.

  • O treinamento é uma parte crítica do processo de melhoria contínua pessoal de uma equipe de carga de trabalho. Esta formação pode ser formal ou autodirigida durante o tempo de enriquecimento pessoal. À medida que a quantidade de tempo de treinamento aumenta, a quantidade de tempo disponível para o desenvolvimento direto da carga de trabalho diminui. O investimento em formação é diminuído quando a formação não é baseada em funções ou especificamente relevante para a carga de trabalho ou para o seu futuro.

  • Tarefas operacionais de rotina padronizadas para proteger a confiabilidade, a segurança e a eficiência de desempenho de uma carga de trabalho levam tempo para definir, refinar e executar. Este tempo não é gasto diretamente na entrega. Alguns exemplos dessas tarefas são a análise abrangente do impacto das alterações, os processos de controle de alterações, testes completos e o aumento do gerenciamento de patches. À medida que a frequência, a abrangência ou a carga operacional dessas tarefas aumenta, o tempo investido também aumenta.

Compensação: aumento das exigências de ferramentas e diversidade. O pilar de Otimização de Custos recomenda a redução da expansão de ferramentas, a consolidação de fornecedores e uma abordagem de tamanho certo para todas as compras de ferramentas.

Uma equipe de carga de trabalho compra ferramentas e hardware para dar suporte a atividades que são executadas durante todo o ciclo de vida de desenvolvimento de software (SDLC), incluindo planejamento e design, desenvolvimento e teste e monitoramento. O mercado de ferramentas neste espaço está crescendo. As ferramentas são oferecidas a vários preços que geralmente correspondem às características e capacidades das ferramentas. Com exceção das ofertas gratuitas, essas ferramentas incorrem em custos iniciais de licenciamento, que podem ser por usuário, por dispositivo ou em todo o site. Muitas vezes, também exigem contratos de manutenção contínuos. Talvez seja necessário estabelecer novas relações com fornecedores. Aqui estão alguns exemplos de gastos esperados com ferramentas ou hardware associados aos princípios de excelência operacional:

  • Gestão de requisitos e backlog
  • Ferramentas de projeto de arquitetura
  • Ferramentas de design UI/UX
  • Hospedagem de código e ativos
  • Ambientes de desenvolvimento de código e low-code
  • Ferramentas de automação
  • Estações de trabalho de desenvolvimento e garantia de qualidade
  • Pipelines de desenvolvimento e implantação
  • Execução e acompanhamento de testes
  • Ferramentas de observabilidade

Compensações de Excelência Operacional com Eficiência de Desempenho

Compensação: Maior utilização de recursos. O pilar Eficiência de Desempenho recomenda a alocação do máximo possível da computação e da rede disponíveis aos requisitos da carga de trabalho.

  • A estrutura de observabilidade de uma carga de trabalho requer que os componentes na arquitetura aloquem tempo e recursos para criar, coletar e transmitir logs e métricas. Esses pontos de dados ajudam a garantir que alertas e monitoramento eficazes sejam possíveis para confiabilidade, segurança e desempenho. À medida que o nível de instrumentação aumenta, a pressão sobre os recursos do sistema também pode aumentar.

  • Alguns modelos de implantação, como a implantação azul/verde, que uma carga de trabalho pode usar para uma implantação segura, podem introduzir implantações lado a lado na plataforma de aplicativos de produção. Essas implantações exigem dimensionamento preventivo para fornecer oferta suficiente para atender à demanda futura ou deixar uma implantação praticamente inativa por um período de tempo para dar suporte à reversão.

Compensação: Maior latência. Para criar cargas de trabalho de alto desempenho, as equipes procuram maneiras de reduzir o tempo e os recursos que as cargas de trabalho consomem para executar suas tarefas.

  • Muitos modelos de implantação exigem o uso de padrões de acesso de roteamento de gateway, que podem introduzir latência. Essa latência se baseia no orçamento-alvo de desempenho para os fluxos relacionados.

  • Alguns padrões de design de nuvem que suportam abordagens de "mudança independente ao longo do tempo" para suportar os ideais de melhoria incremental podem introduzir latência devido à passagem de componentes adicionais. Essa latência pode ser introduzida por gateways, agentes de mensagens ou camadas anticorrupção.

Explore as compensações para os outros pilares: