Compensações de excelência operacional para cargas de trabalho Power Platform
A Excelência Operacional apoia a qualidade da carga de trabalho por meio da implementação de padrões claros de 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, 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 entrega na busca por melhorias.
Durante a fase de design de uma carga de trabalho e ao longo de seu ciclo de vida, à medida que 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 as metas e otimizações de outros pilares. Certas decisões podem beneficiar alguns pilares, mas constituem compensações para outros. Este artigo descreve exemplos de vantagens e desvantagens que uma equipe de carga de trabalho pode encontrar ao projetar a arquitetura e as operações da carga de trabalho.
Vantagens e Desvantagens da 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 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 teste e pode levar a complexidades ou problemas de integridade com os dados da carga de trabalho.
Estruturas altamente camadas, modularizadas ou parametrizadas podem aumentar a chance de configuração incorreta acidental devido à complexidade da interação entre os componentes da carga de trabalho.
Os padrões de design de nuvem que beneficiam as operações às vezes exigem a introdução de mais componentes, por exemplo, o uso de armazenamento secreto ou a adoção de uma dependência Application Insights. Os componentes adicionais aumentam os pontos de interação no sistema, aumentando o potencial de mau funcionamento ou configuração incorreta.
Compensação: Aumento de atividades potencialmente desestabilizadoras. O pilar Confiabilidade incentiva a evitar atividades ou escolhas de design que possam desestabilizar um sistema e levar a interrupções, interrupções ou mau funcionamento.
A implantação de pequenas mudanças incrementais é uma técnica para mitigar riscos, mas os usuários esperam que essas pequenas mudanças sejam entregues à produção com mais frequência. As implantações podem desestabilizar um sistema, de modo 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 realizará mais implantações em um período mais curto.
Aumentar a densidade para simplificar as operações reduzindo o número de pontos de controle e observabilidade também pode levar a um maior risco de disponibilidade, porque o mau funcionamento ou a configuração incorreta aumentam o efeito de um evento desestabilizador.
Vantagens e Desvantagens da 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 vulnerabilidades e produz um escopo Smaller para controle e testes de segurança.
Os componentes que envolvem a carga de trabalho e dão suporte às operações, como a 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, não planejadas e emergenciais aumentam os pontos de contato com a carga de trabalho. Uma abordagem de confiança zero exige que esses processos sejam considerados vulnerabilidades e sejam 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.
Os agentes de compilação, a configuração externalizada e os armazenamentos de alternância de recursos aumentam a área de superfície do aplicativo que requer segurança.
Uma frequência de implantação mais alta causada por pequenas mudanças incrementais ou por esforços do tipo "fique atualizado e permaneça atualizado" resulta em mais testes de segurança no ciclo de vida de desenvolvimento de software (SDLC).
Compensação: Maior desejo por transparência. Uma carga de trabalho segura é baseada 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 maior de que os controles de classificação de dados, como 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 ambientes compartilhados e recursos de 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.
A coleta de 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 dificultar ou impossibilitar o fornecimento de segurança baseada em linhas para tratar dados confidenciais com os controles de auditoria necessários.
Simplificar o gerenciamento da segurança baseada em atributos ou funções, reduzindo a granularidade das funções e suas atribuições, pode levar a permissões inadequadamente amplas.
Vantagens e Desvantagens da Excelência Operacional com Otimização de Experiência
Compensação: Prioridades concorrentes. O pilar Otimização da Experiência recomenda uma mentalidade centrada no usuário.
O desenvolvimento da experiência do usuário que exige recursos significativos pode ser despriorizado, o que pode fazer com que a experiência não tenha a usabilidade, as interações e o design visual que os usuários da carga de trabalho precisam.
O desenvolvimento da interface do usuário geralmente é feito em iterações e ciclos de entrega mais rápidos, o que pode sobrecarregar os processos de SDLC da equipe.
Compensações entre excelência operacional e eficiência de desempenho
Compensação: Maior utilização de recursos. O pilar Eficiência de Desempenho recomenda alocar o máximo possível de recursos de computação e rede disponíveis para os requisitos da carga de trabalho.
- A estrutura de monitoramento de uma carga de trabalho exige 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.
Compensação: Maior latência. Para criar cargas de trabalho de alto desempenho, as equipes buscam maneiras de reduzir o tempo e os recursos que as cargas de trabalho consomem para executar suas tarefas.
- Alguns padrões de design de nuvem que oferecem suporte a abordagens de "mudança independente ao longo do tempo" para dar suporte aos ideais de melhoria incremental podem introduzir latência devido à travessia de componentes adicionais.