Share via


Compensações de excelência operacional

A Excelência Operacional fornece qualidade de carga de trabalho por meio da implementação de padrões de equipe claros, responsabilidade e responsabilidade 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, por fim, 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. Ele também é medido pelo valor que a equipe oferece na busca por melhorias.

Durante a fase de design de uma carga de trabalho e ao longo de seu ciclo de vida, à medida que as etapas de melhoria contínua são executadas, é importante considerar como as decisões baseadas nos princípios de design de Excelência Operacional e as recomendações na lista de verificação de revisão de design para Excelência Operacional podem influenciar as metas e otimizações de outros pilares. Certas decisões podem beneficiar alguns pilares, mas constituem compensações para outros. Este artigo descreve as compensações de exemplo que uma equipe de carga de trabalho pode encontrar ao projetar operações e arquitetura de carga de trabalho.

Compensações de excelência operacional com confiabilidade

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

  • Estratégias de implantação seguras geralmente exigem alguma quantidade de compatibilidade com versões anteriores e futuras entre a lógica do aplicativo e os dados na carga de trabalho. Essa complexidade adicional aumenta a carga de teste 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 de 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 repositório de configuração externo ou a coordenação de implantações de sidecar em uma plataforma de aplicativo em contêineres. Os componentes adicionais aumentam os pontos de interação no sistema, aumentando a área da superfície para mau funcionamento ou configuração incorreta.

  • Os componentes de carga de trabalho projetados para evoluir independentemente para dar suporte ao desenvolvimento ágil e à hospedagem introduzem dependências na descoberta de serviço ou até mesmo no DNS como uma camada de indireção. A descoberta de serviço pode não ter capacidade de resposta para mudar e o mau funcionamento pode ser difícil de diagnosticar.

Compensação: aumento de atividades potencialmente desestabilizadoras. O pilar Confiabilidade incentiva a prevenção de atividades ou opções de design que podem desestabilizar um sistema e levar a interrupções, interrupções ou mau funcionamento.

  • A implantação de pequenas alterações incrementais é uma técnica para mitigar o risco, 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 aumento do 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: maior á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 a operações. Essa redução minimiza os vetores de ataque e produz um escopo menor para controle e teste de segurança.

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

  • As 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 para a carga de trabalho.

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

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

  • Uma frequência de implantação mais alta causada por pequenas alterações incrementais ou por esforços "atualize-se, mantenha-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 baseia-se em designs que protegem a confidencialidade dos dados que fluem pelos componentes do sistema.

As plataformas de observabilidade ingerem dados de todos os tipos para obter insights 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 aumentado 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 é criar uma estratégia de segmentação forte. Esse design é implementado por meio de isolamento de recursos e controles de identidade.

  • Colocalizar componentes de aplicativos diferentes em recursos de computação, rede e dados compartilhados para facilitar a segmentação inversa do gerenciamento ou torna a segmentação baseada em função mais difícil de alcançar. 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 log 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 atributo ou função, reduzindo a granularidade das funções e suas atribuições pode levar a permissões inadequadamente amplas.

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

O pilar excelência operacional nunca recomenda atividades que reduzam a produtividade ou comprometam o retorno sobre o investimento de uma carga de trabalho. 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 sua carga de trabalho estiver se aproximando da data de pôr do sol, provavelmente não faz sentido investir muito em recomendações que disparem essas compensações.

Compensação: aumento dos gastos com recursos. Um dos principais motores de custo para uma carga de trabalho é o custo de seus recursos. A implantação de menos recursos, o dimensionamento correto de recursos e a redução do consumo geralmente ajudam a manter os custos baixos.

  • Implementar 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 componente de aplicativo ou infraestrutura para que o tráfego possa ser deslocado de maneira controlada. Esse aumento é mais pronunciado em uma carga de trabalho que usa uma abordagem de infraestrutura imutável.

  • Talvez a equipe precise introduzir componentes de carga de trabalho adicionais para implementar padrões de design de nuvem alinhados operacionalmente ou automação de carga de trabalho. Por exemplo, para dar suporte à agilidade da implantação, eles podem adicionar um componente de roteamento de gateway. Para dar suporte a um melhor gerenciamento de configuração, eles podem adicionar um repositório 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 de 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 de 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 habilitar a eficácia das plataformas de observabilidade, esses dados precisam ser persistidos. A maioria dos armazenamentos de dados operacionais tem preços baseados em uma combinação de taxas de ingestão e volume. Em geral, à medida que a quantidade de telemetria de baixa latência e alta diversidade aumenta, os custos também aumentam. Para implantações de várias regiões, espera-se que esses coletores de dados operacionais sejam implantados por região, portanto, os 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 fornecem maior valor de carga de trabalho executando tarefas alinhadas com eficiência às suas funcionalidades.

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

  • O treinamento é uma parte crítica do processo de melhoria contínua pessoal de uma equipe de carga de trabalho. Esse treinamento pode ser formal ou autodirecionado durante o tempo de enriquecimento pessoal. À medida que o tempo de treinamento aumenta, o tempo disponível para o desenvolvimento direto da carga de trabalho diminui. O investimento em treinamento é diminuído quando o treinamento não é baseado em função ou especificamente relevante para a carga de trabalho ou 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. Esse tempo não é gasto diretamente na entrega. Alguns exemplos dessas tarefas são análise abrangente de impacto de alterações, processos de controle de alterações, testes completos e aumento do gerenciamento de patch. À medida que a frequência, a integralidade ou a carga operacional dessas tarefas aumentam, o tempo investido também aumenta.

Compensação: aumento das demandas de ferramentas e diversidade. O pilar otimização de custos recomenda a redução da expansão de ferramentas, da consolidação de fornecedores e de 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 executadas durante todo o SDLC (ciclo de vida de desenvolvimento de software), incluindo planejamento e design, desenvolvimento e teste e monitoramento. O marketplace para ferramentas nesse espaço está crescendo. As ferramentas são oferecidas a vários pontos de preço que geralmente correspondem aos recursos e funcionalidades das ferramentas. Com exceção das ofertas gratuitas, essas ferramentas incorrem em custos iniciais de licenciamento, que podem ser por estação ou em todo o site. Muitas vezes, eles também exigem contratos de manutenção contínuos. Talvez seja necessário estabelecer novas relações de fornecedor. Aqui estão alguns exemplos de ferramentas esperadas ou gastos de hardware associados aos princípios de excelência operacional:

  • Requisitos e gerenciamento de lista de pendências
  • Ferramentas de design de arquitetura
  • Ferramentas de design de interface do usuário/experiência do usuário
  • Hospedagem de código e ativo
  • Ambientes de desenvolvimento de código e de baixo código
  • 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 teste
  • 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 de computação e rede disponíveis para os 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 implantação segura, podem introduzir implantações lado a lado na plataforma de aplicativo de produção. Essas implantações exigem dimensionamento preemptivo para fornecer oferta suficiente para atender à demanda futura ou deixar uma implantação quase inativa em vigor 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, o que pode introduzir latência. Essa latência se baseia no orçamento da meta de desempenho para os fluxos relacionados.

  • Alguns padrões de design de nuvem que dão suporte a abordagens de "alteração independente ao longo do tempo" para dar suporte aos 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: