Compartilhar via


Princípios de design da Excelência Operacional

No centro do pilar de Excelência Operacional estão as práticas de DevOps que garantem a qualidade da carga de trabalho por meio de fluxos de trabalho padronizados e coesão da equipe. Esse pilar define procedimentos operacionais para práticas de desenvolvimento, observabilidade e gerenciamento de releases. O objetivo é minimizar a variação do processo, as chances de erro humano e a interrupção para os clientes. Para avaliar sua integridade operacional, comece com estas perguntas:

  • Você executa as operações com disciplina?
  • Os clientes estão utilizando a carga de trabalho com o máximo de previsibilidade?
  • Como você aprende com a experiência e os dados coletados para promover a melhoria contínua?

As operações de carga de trabalho podem se transformar em práticas caóticas quando não há propriedade ou liderança claras. Nesse tipo de ambiente, as equipes geralmente recorrem a métodos que são executados com muito esforço e produzem poucos resultados, o que leva a uma experiência ruim para o usuário. Essas abordagens atendem apenas a objetivos de curto prazo. Os benefícios de longo prazo são percebidos por meio de avaliação contínua e investimentos estratégicos.

Os princípios de design fornecem diretrizes para estratégias operacionais que devem ser consideradas para abordar as causas subjacentes e não apenas tratar os sintomas. Comece com as abordagens recomendadas e, em seguida, observe o que funciona e o que não funciona para identificar áreas de melhoria. Depois de definir sua estratégia, continue a impulsionar a ação usando a lista de verificação de Excelência Operacional.

Os requisitos operacionais de uma carga de trabalho são tão importantes quanto seus requisitos de negócios. Processos eficientes garantem que a carga de trabalho atinja os resultados de negócios dentro das restrições de conformidade, seja ela organizacional ou externa. O segredo é encontrar repetibilidade com consistência.

Os objetivos do pilar Excelência Operacional são fazer a coisa certa, fazer da maneira certa e resolver os problemas certos como equipe.

Se você atingir essas metas, as cargas de trabalho serão executadas de forma confiável e previsível, mesmo em tempos de alteração. A incapacidade de atender aos requisitos operacionais pode levar a implantações fracassadas, experiência do usuário inconsistente e custos adicionais que poderiam ter sido evitados por meio de planejamento adequado e execução simplificada.

Acolher a cultura de DevOps

Ícone de meta Capacite as equipes de desenvolvimento e operações para que aprimorem continuamente o design e os processos do sistema trabalhando em conjunto, com um espírito de colaboração, responsabilidade compartilhada e propriedade.

O DevOps é uma comunidade de práticas cuja diversidade de pontos de vista e de habilidades a impulsiona em direção a uma única missão. As equipes devem promover um ambiente colaborativo de conhecimento compartilhado em vez de aprendizado em silos. Use funções compartilhadas para se empenhar em superar as restrições de recursos.

Uma boa cultura de DevOps prospera com a responsabilidade compartilhada. As equipes de desenvolvimento e operações devem alinhar suas metas e prioridades às expectativas de seus clientes e manter o foco nos negócios. A equipe de desenvolvimento deve envolver a equipe de operações no loop de feedback para que as melhorias sejam impulsionadas upstream e outras equipes se beneficiem igualmente. Por seu lado, ao compartilhar recursos e um feedback que sejam relevantes para a carga de trabalho, as equipes de operações são responsáveis por fazer com que a equipe de desenvolvimento seja bem-sucedida em seus resultados de negócios.

Ao mesmo tempo, as práticas de DevOps aplicam linhas claras de propriedade e responsabilidade a cada equipe. Independentemente de onde o aplicativo é executado, a equipe de carga de trabalho é responsável por esse aplicativo.

O DevOps otimiza as tarefas operacionais para que sejam eficazes, mas sem sobrecarregar a equipe. Para se beneficiar ao máximo do DevOps, a cultura deve otimizar os processos por meio da tecnologia e implementar os processos necessários para que as pessoas na organização promovam uma comunicação transparente.

Abordagem Benefícios
Use sistemas e ferramentas comuns que promovam um ambiente colaborativo para a equipe se comunicar e acompanhar o progresso. Ferramentas e processos comuns permitem uma comunicação transparente. Tanto as equipes de desenvolvimento quanto as de operações se beneficiam de uma conscientização situacional dos vários ambientes, problemas de suporte comuns e desafios e vitórias de modo geral.

As equipes já deverão estar familiarizadas com os caminhos de escalonamento existentes, para o caso de ocorrer um incidente.

Uma lista de pendências compartilhada torna as prioridades mais claras, como trabalhar em novos recursos ou corrigir bugs.
Construa uma mentalidade de aprendizado e experimentação contínua durante todo o ciclo de desenvolvimento.

Apoiar o compartilhamento de conhecimento entre equipes e manter a documentação para reutilização.

Realizar análises irrepreensíveis e debriefing pós-lançamento e/ou revisões pós-incidente.
Por meio de mecanismos de experimentação, como testes A/B e desenvolvimento de provas de conceito, você pode incentivar a inovação e, ao mesmo tempo, manter os custos baixos.

Compartilhe conhecimento por meio de uma colaboração que torne a equipe mais experiente em abordagens de design, ferramentas e processos.

Fazer retrospectivas após um projeto ajuda a identificar áreas de melhoria e celebrar o sucesso.
Adote práticas ágeis comprovadas do setor que se concentram na otimização de ações.

Procure oportunidades para "mudar para a esquerda" nas operações para processos manuais e automatizados, práticas de implantação e garantia de qualidade e observabilidade.
As práticas de desenvolvimento ágil levam a ciclos de vida de lançamento mais curtos, que são um indicador do valor do negócio.

Detectar, resolver e, assim, prevenir problemas mais cedo geralmente é menos intrusivo para o processo.
Definir padrões para todos os procedimentos operacionais e de desenvolvimento e revisá-los e validá-los em uma cadência regular.

Esses procedimentos incluem tarefas de rotina, processos fora de banda, simulações e situações de emergência, escolha de ferramentas, procedimentos de monitoramento, planos de reciclagem profissional e até mesmo comunicados para stakeholders e divulgações para os clientes.

Seja intencional e explícito sobre suas decisões.
O uso de padrões adiciona previsibilidade às operações e torna os processos e práticas ampliáveis. Validar padrões é uma ótima maneira de extrair pontos de melhoria.

Esteja preparado para situações de emergência e recuperação realizando simulações regulares.

Executar com precisão e viabilizar a governança para evitar anomalias que levem a riscos.
Aproveite as vantagens de equipes de operações centralizadas com habilidades especializadas e ampla experiência. Há um custo benefício no uso de recursos compartilhados tanto para operações quanto para recursos.

Embora você seja o proprietário de sua carga de trabalho, a equipe centralizada ajuda você com habilidades multifuncionais, como gerenciamento de incidentes, uma perspectiva proativa de monitoramento e terceirização de experiência com confiança.

Estabelecer padrões de desenvolvimento

Ícone de meta Otimizar a produtividade padronizando as práticas de desenvolvimento, impondo portões de qualidade e acompanhando o progresso e o êxito através do gerenciamento sistemático de alterações.

A equipe de desenvolvimento é responsável por resolver os problemas de carga de trabalho antes do lançamento com o mínimo de atrito. Esteja atento à eficiência do desenvolvedor e otimize para ciclos de resposta rápidos, desde a codificação até os resultados dos testes. Implemente processos eficazes e de tamanho adequado que planejem e padronizem as atividades técnicas e também gerem consenso entre a equipe e os stakeholders.

Abordagem Benefícios
Documente os recursos de carga de trabalho e capture os benefícios do cliente.

Derivar escopo e requisitos funcionais e não funcionais detalhados da arquitetura.

Crie modelos de estimativa de dimensionamento para relatar o escopo e o custo das tarefas envolvidas.
Boas especificações reduzem os custos operacionais e as chances de falha, apoiando ciclos de desenvolvimento mais produtivos e simplificados.

Os desenvolvedores entendem o design técnico, as metas e os critérios de conclusão antes de iniciar o ciclo de codificação.

Uma boa documentação facilita a comunicação repetível e a integração de novos membros da equipe.
Use uma metodologia de desenvolvimento de software padrão do setor que seja ajustada adequadamente para as necessidades de sua carga de trabalho e tamanho de equipe.

Mantenha uma lista de pendências compartilhada entre todas as funções.
A adoção de uma metodologia bem conhecida dita dita o ritmo do projeto. Ele remove as ambiguidades do processo, dando aos membros da equipe expectativas claras e responsabilidade.

Ao rastrear uma lista comum, as tarefas podem ser refinadas e priorizadas com práticas padrão. O projeto terá mais chances de ser entregue no prazo.

Metodologias padrão ajudam no gerenciamento de riscos. Com as revisões granulares de marcos, os desenvolvedores podem resolver os possíveis problemas antes que eles se tornem obstáculos.
Use o controle unificado do código-fonte para todos os códigos, scripts, modelos de implantação, definições de pipeline e documentação relacionada.

A estratégia de ramificação deve oferecer suporte à liberação sem atrito de recursos independentes e interdependentes, correções de bugs e hotfixes.

Use o conhecimento compartilhado em toda a organização para criar sua estratégia de ramificação e processos de implantação.
O uso adequado do controle do código-fonte é crucial para suportar alterações simultâneas e controle de versão.

Mantenha um fluxo de trabalho repetível para liberar alterações de vários tamanhos e riscos, conduza revisões de pares como parte do processo e mantenha uma trilha de auditoria.
Tenha processos de garantia de qualidade que enfatizem os testes no início do ciclo de vida de desenvolvimento.

Inclua todos os artefatos para procedimentos de teste planejados, incluindo componentes de aplicativos, infraestrutura e operações de plano de dados que fazem parte de uma versão ou atualização de recurso.

Trate os artefatos como imutáveis quando eles forem promovidos pelos ambientes, ganhando confiança cada vez que passarem por um portão de qualidade.

Sempre que possível, automatize as verificações de rotina.
A garantia de qualidade assegura que os requisitos funcionais e não funcionais foram atendidos com confiança, o que leva a um impacto positivo para o cliente.

Ter planos de teste garante qualidade e integridade e leva em consideração possíveis casos de falha.

Com portões de qualidade, você pode aplicar as práticas recomendadas para reduzir os riscos.

A imutabilidade traz confiança porque garante que o sistema que você testa é exatamente o que você libera.

Os ciclos de teste bloqueiam eficientemente o progresso, a menos que os critérios de qualidade sejam atendidos.
Impulsione a consistência usando guias de estilo e ferramentas, que impõem convenções, e adotam uma cadeia de ferramentas comum para desenvolvimento, teste e comunicação com as partes interessadas.

Os padrões de tecnologia para desenvolvedores devem exigir a implementação de padrões, design de API, registro em log, tratamento de exceções e outros processos.
A consistência no código impulsiona a legibilidade e facilita a manutenção. Ele também reduz a complexidade e permite a reutilização de código.

Ferramentas e convenções comuns também ajudam as equipes a otimizar processos sem a necessidade de abordar escolhas pontuais.
Insista de forma consistente e deliberada na documentação do desenvolvedor do código como ele está escrito. A documentação de código claro garante que a lógica e a funcionalidade sejam facilmente compreendidas quando o código antigo precisar ser revisitado ou quando as equipes de desenvolvimento girarem.
Relate o progresso e as tendências para medir a eficiência. Tendências em bugs, atualizações com falha, tempo de implantação, loops de feedback e outras métricas são publicadas e isso gera melhorias.

Desenvolver operações com observabilidade

Ícone de meta Obtenha visibilidade do sistema, insights e tome decisões baseadas em dados.

Crie uma cultura que melhore continuamente a qualidade monitorando a carga de trabalho e levando em consideração todos os pilares da Estrutura Bem-Arquitetada do Azure. Permita que a equipe e as partes interessadas tomem decisões de curto e longo prazo em diversas facetas, fornecendo os dados, estatísticas e tendências necessários. Aprenda com seus dados e promova melhorias.

As operações criadas para fins de observabilidade são fundamentais na manutenção proativa do aplicativo, garantia de qualidade e segurança, planejamento de capacidade e gerenciamento de produtos.

Um aspecto crucial do monitoramento é o aplicativo que usa modelagem de integridade para ajudá-lo a antecipar problemas antes que eles se tornem incidentes e afetem a experiência do cliente. O monitoramento eficiente reduz os ciclos reativos gastos no gerenciamento de incidentes.

Abordagem Benefícios
Construa um sistema de monitoramento com sua própria pilha e fluxos.

Trate o sistema de monitoramento como uma dimensão da carga de trabalho dissociada de sua utilidade. A pilha deve abranger todas as camadas, incluindo infraestrutura, integridade do aplicativo e processos de compilação e liberação.

A captura ou amostragem de dados corporativos está fora do escopo para implementações de observabilidade.
Desacople pilhas de monitoramento e carga de trabalho para separar requisitos funcionais e requisitos de observabilidade e tornar possível a evolução independente. As alterações no código não devem afetar o monitoramento e vice-versa.

Como os requisitos de observabilidade são separados dos requisitos funcionais, os dados corporativos não serão interrompidos pelo monitoramento de alterações de configuração ou paralisações.
Aumente a consistência no processo de coleta para cada tipo de fonte de dados.

Padronize a instrumentação em código usando padrões do setor para telemetria, coleta de métricas de infraestrutura e ferramentas.
A consistência evita a variação na detecção e na medição, pois a familiaridade com recursos semelhantes reduz o tempo gasto na correlação e análise de dados. Você tem uma perspectiva holística para antecipar problemas.

Emita telemetria do código do aplicativo que correlaciona os pontos-chave do fluxo de execução e fornece uma exibição de ponta a ponta em diferentes níveis de granularidade. Priorize ações de acordo com o nível de gravidade e compreenda o contexto com base na sua verbosidade. Essas informações são cruciais para fins de solução de problemas.
Tenha a responsabilidade de emitir e coletar dados, mesmo quando os coletores de dados são compartilhados por várias equipes e gerenciados por equipes centrais. Ao localizar dados de monitoramento para o ambiente de carga de trabalho, a equipe pode acessar logs e métricas para resolver problemas de carga de trabalho.
Colete dados suficientes e retenha-os por tempo suficiente.

Considere as compensações de custo associadas ao registro em log e ao armazenamento de dados.
A coleta intencional de dados ajuda a otimizar os custos financeiros e operacionais associados à coleta de mais dados do que o necessário.

Minimize o ruído e evite computação intensiva durante a análise e reduza o custo de armazenamento de dados que você não precisa mais.
Faça uma distinção entre os diferentes sinais de monitoramento: perfis, logs, métricas e rastreamentos. Use cada sinal para a finalidade certa.

Priorize o uso de métricas para acionar ações que dependam de medições numéricas.

Use perfis para obter visibilidade de nível inferior, como alocação de memória, no sistema.

Reserve o uso de logs e rastreamentos para fornecer contexto para fluxos e dependências.
Ao usar os sinais para os fins certos, você pode evitar a implementação ineficiente do sistema de monitoramento.

Por exemplo, o uso de logs para ações requer análise. Você pode conseguir atingir os mesmos objetivos mais rapidamente com métricas.
Agregue e visualize dados em painéis para apresentar dados de monitoramento que atendam ao público e mantenham o contexto de negócios em mente.

Use painéis situacionais para exibir dados para aumentar a conscientização entre as partes interessadas.

Use painéis operacionais e pastas de trabalho com recursos de detalhamento para atividades do operador, como resposta a incidentes. Atualize frequentemente os painéis e forneça dados granulares.
Com as visualizações, você pode analisar tendências, rastrear metas de negócios e gerenciar incidentes.

Painéis adaptados ao interesse do cliente tornam a interpretação relevante e aceleram o tempo de detecção e ação.
Torne os alertas acionáveis notificando as funções responsáveis com descrições padronizadas e níveis de gravidade. Forneça informações agrupadas de várias fontes e rastreie desvios das metas de negócios.

Dispare alertas apenas para incidentes que exijam ação.

Esforce-se para alertas proativos e instigantes que iniciem ações antes que um estado degradado se torne uma falha.
Os alertas chamam a atenção para eventos significativos, conforme definido pela organização.

Um bom sistema de alerta identifica ações e gravidade e fornece apenas dados suficientes para gerar clareza e propósito. Os operadores podem iniciar a correção sem demora.

Implante com confiança

Ícone de meta Alcance o estado desejado de implantação com previsibilidade.

Crie uma cadeia de suprimentos de carga de trabalho que permita atingir consistentemente a meta de previsibilidade em todos os seus ambientes, nas plataformas de hospedagem, nos aplicativos, nos dados e nos recursos de configuração da carga de trabalho. O mecanismo de implantação deve ser capaz de automação, teste, monitoramento e controle de versão. Ele deve ser modularizado e estar pronto para ser executado sob demanda. Não deve ser representado como um processo monolítico de ponta a ponta. A cadeia de suprimentos não visa necessariamente uma execução mais rápida, mas sim alcançar consistência e autodocumentação ao longo de múltiplas iterações.

A equipe de carga de trabalho é responsável pela cadeia de suprimentos no que se refere à sua própria carga de trabalho.

Abordagem Benefícios
Use Infraestrutura como Código (IaC) para definir os aspectos repetíveis da cadeia de suprimentos que estão prontos para produção.

Prefira abordagens declarativas em vez de métodos imperativos.
As tecnologias declarativas de IaC são projetadas tendo em mente a automação e a reutilização. Você pode transferir as implantações de infraestrutura de indivíduos para ferramentas e obter uma qualidade consistente.

Do ponto de vista da infraestrutura, ter menos opções de tecnologia remove a variação nas ferramentas e facilita a detecção de descompassos de configuração. A manutenção também será mais fácil. Se você alinhar as opções com o conjunto de habilidades existentes da equipe, ela poderá adotá-las facilmente.
Preparar a equipe para utilizar a tecnologia IaC escolhida. Saiba mais sobre seu modelo de extensibilidade, recursos e limitações.

Aproveite a especialização dentro da equipe e o conhecimento compartilhado dentro da organização.
O upskilling aumenta a produtividade e promove um ambiente de colaboração por meio do aprendizado compartilhado.

Você pode preencher lacunas com treinamento em vez de contratação.
Siga as recomendações de software para desenvolvimento e manutenção IaC.

Modularize com moderação. Evite abstrações personalizadas ou de baixo valor.

Siga uma abordagem em camadas para refletir diferentes ciclos de vida. Forme camadas fundamentais em que as camadas inferiores permaneçam constantes e as camadas superiores sejam alteradas conforme necessário.

Os artefatos de implantação, como binários de aplicativos, modelos de IaC e parâmetros, fazem parte da superfície de ataque. Aplique garantias, como gerenciamento de segredos, controle de acesso e outros princípios do pilar de segurança.
Os artefatos têm o mesmo nível de rigor de engenharia que o código do aplicativo. Os controles de qualidade por meio de revisões em pares e testes lhe dão confiança na implantação.

Uma abordagem em camadas facilita a manutenção e cria limites que estabelecem linhas claras de responsabilidade.

A adição de controles de segurança aos artefatos ajuda a fortalecer o sistema durante o processo de implantação.
Desenvolva um manifesto de implantação comum que seja usado em todos os ambientes. Use esse manifesto como o mecanismo padrão para projetos greenfield, atualizações incrementais de carga de trabalho ou recuperação de desastres. Remova a sobrecarga de manutenção de vários ativos.

Se houver um desastre, a recuperação será rápida e confiável porque você poderá implantar um manifesto testado e aprovado em vez de criar um ambiente improvisado.
Esforce-se por uma infraestrutura imutável e efêmera implantada por meio da automação IaC. Proibir desvio de configuração e tornar a implantação idempotente.

Esse tipo de infraestrutura elimina encargos operacionais significativos, como a aplicação de patches. Ele também beneficia os principais cenários de validação, como implantações de infraestrutura azul-verde.

Observação

Reduza o escopo do uso do portal para apenas tarefas de investigação não repetitivas.

Automatizar para obter eficiência

Ícone de metaSubstitua tarefas manuais repetitivas por automação de software que as completa mais rapidamente, com maior consistência e precisão, e reduz os riscos.

A carga de trabalho pode ter fluxos de trabalho com processos que envolvem membros da equipe fazendo tarefas mundanas, repetitivas e demoradas que não precisam de intelecto humano. Dependendo da frequência, você pode gastar um tempo considerável nesses esforços, investindo mais tempo à medida que a carga de trabalho aumenta. Além disso, esses processos geralmente são propensos a erros devido à entrada humana.

Por meio da automação, você economiza tempo, esforço e dinheiro e evita erros.

Abordagem Benefícios
Avalie todos os fluxos de trabalho com base em critérios que estejam no nível certo de complexidade, esforço, frequência, precisão, pontualidade e vida útil.

Automatize fluxos de trabalho com base nessa avaliação e priorize os fluxos de trabalho com os maiores retornos esperados.

Remova fluxos de trabalho redundantes ou agregue valor para justificar o esforço humano.
Você pode reinvestir a capacidade da equipe em um trabalho de maior valor e aumentar a produtividade e a consistência.

A criação de um inventário de fluxos de trabalho garante que você automatize as tarefas certas. A remoção de tarefas redundantes reduz a complexidade e os erros.
Seja explícito sobre sua decisão ao avaliar se deseja criar ferramentas personalizadas ou comprar software.

Reserve a automação predial para trabalhos altamente especializados e de alto valor.
Ao comprar software pronto para uso e aproveitar o contrato de suporte, você economiza nos custos de manutenção.

Ao criar software, você tem mais controle e pode atender a casos de uso exclusivos de sua equipe e carga de trabalho. No entanto, há um impacto nos custos.

A escolha do ferramental traz um nível de padronização para suas operações. Com o treinamento, você pode alcançar um nível uniforme de prontidão para adoção.
Projete seus componentes de carga de trabalho para oferecer suporte a recursos de automação. Evite a situação em que a falta de automação no design do sistema promove o antipadrão de tarefas repetitivas, desacelera o crescimento e começa a acumular dívidas técnicas.
Trate toda a automação como uma dependência crítica da sua carga de trabalho. Adapte-se ao crescimento esperado da carga de trabalho.

Suas ferramentas de automação são parte integrante da carga de trabalho e devem seguir os cinco pilares da Well-Architected Framework.
Projete seu componente de automação para suportar riscos, como ameaças à segurança. Com as práticas recomendadas aplicadas, você pode evitar a expansão da implementação.

A carga de trabalho continuará operando com uma garantia de alto nível se essa dependência for mantida funcional e segura.
Automatize em escala explorando opções além da sua carga de trabalho.

Favoreça um modelo "design once, run everywhere" fornecendo modelos e estruturas para integrar novos projetos e promover a reutilização de projetos e implementações existentes.
Empregar métodos experimentados e testados e reduzir as chances de fracasso.

Adotar práticas de implantação seguras

Ícone de meta Implemente guardrails no processo de implantação para minimizar o efeito de erros ou condições inesperadas.

Durante o ciclo de desenvolvimento, os artefatos de carga de trabalho passam por muitas alterações à medida que são implementados e testados e como bugs são corrigidos.

O processo de implantação deve seguir um procedimento operacional padrão. Qualquer mudança deve ser implantada com o mesmo nível de rigor. Esse princípio se aplica igualmente ao código, à configuração e a todos os artefatos relacionados. A chave é aplicar práticas seguras o mais cedo possível para que você tenha previsibilidade na produção. Mesmo que os erros cheguem aos clientes, você deverá ser capaz de implementar as alterações de recuperação assim que possível.

Abordagem Benefícios
Padronize o processo para implantar qualquer alteração usando processos de implantação automatizados, como pipelines.

Todos os ambientes devem usar pipelines.

Classifique ativos e versões por ambiente para torná-los facilmente rastreáveis e identificáveis.
Métodos de implantação consistentes reduzem os problemas causados por erros e variações de processo e permitem que você concentre seus esforços nas preocupações com a carga de trabalho.

A padronização garante que a implantação seja concluída de forma segura, confiável e com repetibilidade.

A classificação facilita a exibição de logs de implantações e problemas anteriores que ocorreram. Você pode usar essas informações para agilizar operações de reversão e reversão.
Implante pequenas atualizações incrementais em uma cadência regular. Atualizações frequentes, bem testadas e pequenas facilitam a validação da versão.

Solucione problemas mais rapidamente com o mínimo de impacto no cliente devido a uma área de cobertura menor.
Atualizações de teste rigorosamente usando diferentes mecanismos ao longo do ciclo de vida de desenvolvimento. Detecte problemas nos estágios iniciais de desenvolvimento. Correções iterativas e práticas de implantação consistentes fazem com que os problemas diminuam no momento em que a atualização estiver pronta para produção.
Implemente atualizações gradualmente, com a devida diligência.

Use modelos de implantação que forneçam o controle para aumentar progressivamente o número de instâncias e clientes até que a atualização seja adotada com segurança por todos.
Teste cada atualização de maneira controlada para que os problemas sejam corrigidos no início da produção. Evite distribuir uma atualização com falha que afete toda a sua base de clientes.

Teste se a atualização é compatível com versões anteriores e futuras.
Tenha uma estratégia de mitigação para se recuperar rapidamente de falhas de implantação.

A estratégia deve abranger a tomada de decisões sobre a reversão ou a prossecução com base na criticidade da questão.

Tenha processos bem definidos e sistemas automatizados que possam implementar rapidamente correções usando os pipelines de implantação padrão.
Reduzir a duração do impacto potencial.

Restaure o sistema de volta para a versão de trabalho anterior ou avance para uma versão que tenha correções que foram exaustivamente testadas.
Tenha um plano de fallback que redefina o sistema para um estado de funcionamento em caso de emergência e para se recuperar de falhas inesperadas. Use essa estratégia somente quando necessário e com aprovação.

Esforce-se para melhorar o plano ao longo do tempo.
Você pode acelerar correções de alta prioridade, como correção de segurança.

O pipeline acelerado pode não ter todas as verificações de seus procedimentos operacionais padrão, mas você levará os clientes a uma versão segura da maneira mais rápida possível, o que supera as falhas de menor impacto.

Próximas etapas

Recomendamos que você revise a lista de verificação de Excelência Operacional para explorar outros conceitos.