Princípios de design de 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. Este 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:

  • Executa operações com disciplina?
  • Os clientes estão usando a carga de trabalho com a máxima previsibilidade?
  • Como você aprende com a experiência e os dados coletados para impulsionar a melhoria contínua?

As operações de carga de trabalho podem se transformar em práticas caóticas quando não há uma propriedade ou liderança claras. Neste tipo de ambiente, as equipas recorrem frequentemente a métodos que são executados com elevado esforço e produzem baixos resultados, o que leva a uma má experiência do utilizador. Estas abordagens atingem apenas objetivos a curto prazo. Os benefícios a longo prazo são realizados através 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 os requisitos de negócios. Processos eficientes garantem que a carga de trabalho alcance resultados de negócios dentro das restrições de conformidade, seja ela organizacional ou externa. A chave é encontrar repetibilidade com consistência.

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

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

Adote a cultura DevOps

Ícone de golo Capacite as equipes de desenvolvimento e operações para melhorar continuamente o design e os processos de seus sistemas, trabalhando em conjunto com uma mentalidade de colaboração, responsabilidade compartilhada e propriedade.

DevOps é uma comunidade de prática onde a diversidade de perspetivas e habilidades direciona para uma missão. As equipas devem promover um ambiente colaborativo de conhecimento partilhado em vez de aprendizagem isolada. Use funções compartilhadas para se esforçar para superar as restrições de recursos.

Uma boa cultura de DevOps prospera com base na responsabilidade compartilhada. As equipes de desenvolvimento e operações devem alinhar seus objetivos e prioridades com as expectativas de seus clientes e manter o foco no negócio em mente. A equipe de desenvolvimento deve envolver a equipe de operações no ciclo de feedback para que as melhorias sejam impulsionadas a montante e outras equipes se beneficiem igualmente. Por outro lado, as equipes de operações são responsáveis por tornar a equipe de desenvolvimento bem-sucedida em seus resultados de negócios, compartilhando recursos e feedback que são relevantes para a carga de trabalho.

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 não onerosas. Para colher todos os benefícios do DevOps, a cultura deve otimizar processos através da tecnologia e ter processos para que as pessoas da organização promovam uma comunicação transparente.

Abordagem Benefícios
Use sistemas e ferramentas comuns que promovam um ambiente colaborativo para comunicação e acompanhamento do progresso. Ferramentas e processos comuns permitem uma comunicação transparente. As equipes de desenvolvimento e operações se beneficiam da consciência situacional em vários ambientes, problemas comuns de suporte e desafios e vitórias gerais.

As equipes já estarão familiarizadas com os caminhos de escalonamento existentes se houver um incidente.

Uma lista de pendências compartilhada deixa claras as prioridades, como trabalhar em novos recursos ou corrigir bugs.
Construa uma mentalidade de aprendizagem e experimentação contínua ao longo do ciclo de desenvolvimento.

Ofereça suporte ao compartilhamento de conhecimento entre equipes e mantenha a documentação para reutilização.

Realize análises irrepreensíveis e reveja revisões pós-lançamento e/ou pós-incidente.
Através de mecanismos de experimentação, como testes A/B e desenvolvimento de provas de conceito, você pode incentivar a inovação, mantendo os custos baixos.

Partilhe conhecimento através da colaboração que torna a equipa proficiente em abordagens de design, ferramentas e processos.

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

Procure oportunidades para "mudar para a esquerda" nas operações de 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 de valor comercial.

Detetar, resolver e, assim, prevenir problemas mais cedo é muitas vezes 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, exercícios e situações de emergência, escolha de ferramentas, procedimentos de monitoramento, planos de qualificação e até mesmo comunicação com as partes interessadas e divulgações ao cliente.

Seja intencional e explícito sobre as suas decisões.
As normas adicionam previsibilidade às operações e tornam os processos e práticas escaláveis. Validar padrões é uma ótima maneira de desenhar pontos de melhoria.

Esteja preparado para situações de emergência e recuperação, realizando exercícios regulares.

Executar com precisão e permitir a governança para evitar anomalias que levam a riscos.
Aproveite as 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 perspetiva proativa sobre monitoramento e terceirização de experiência com confiança.

Estabelecer padrões de desenvolvimento

Ícone de golo Otimize a produtividade padronizando as práticas de desenvolvimento, impondo barreiras de qualidade e acompanhando o progresso e o sucesso por meio do gerenciamento sistemático de mudanças.

A equipe de desenvolvimento é responsável por resolver 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. Implementar processos eficazes e do tamanho certo que planejem e padronizem as atividades técnicas e também gerem consenso dentro da equipe e das partes interessadas.

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

Derivar o escopo e os 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 fracasso , 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 e a integração repetíveis de novos membros da equipe.
Use uma metodologia de desenvolvimento de software padrão do setor que esteja adequadamente ajustada às necessidades de sua carga de trabalho e tamanho da equipe.

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

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

As metodologias normalizadas ajudam na gestão dos riscos. Com revisões granulares de marcos, os desenvolvedores podem resolver possíveis problemas antes que eles se tornem showstoppers.
Use o controle de origem unificado 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 no suporte a alterações e versionamento simultâneos .

Mantenha um fluxo de trabalho repetível para liberar alterações de vários tamanhos e riscos, conduza revisões por pares como parte do processo e mantenha uma trilha de auditoria.
Ter processos de garantia de qualidade que enfatizem os testes no início do ciclo de vida do 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 liberação ou atualização de recurso.

Trate os artefatos como imutáveis quando são promovidos através de ambientes, ganhando confiança cada vez que passam por um portão de qualidade.

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

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

Com portas de qualidade, você pode aplicar as melhores práticas 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.
Promova a consistência usando guias de estilo e ferramentas, que impõem convenções, e adote 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, 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 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 precisa ser revisitado ou quando as equipes de desenvolvimento se alternam.
Relatar 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 impulsiona melhorias.

Evolua as operações com observabilidade

Ícone de golo Obtenha visibilidade do sistema, obtenha 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 do Azure Well-Architected Framework. Permita que a equipe e as partes interessadas tomem decisões de curto e longo prazo em muitas facetas, fornecendo os dados, estatísticas e tendências necessários. Aprenda com os seus dados e promova melhorias.

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

Um aspeto crucial do monitoramento é o aplicativo usando 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 cobrir todas as camadas, incluindo infraestrutura, integridade do aplicativo e processos de compilação e lançamento.

A captura ou amostragem de dados de negócios está fora do escopo para implementações de observabilidade.
Desacople o monitoramento e as pilhas de carga de trabalho para separar os requisitos funcionais e os requisitos de observabilidade e tornar possível uma 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 interrupçõ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 variância na deteção e medição porque a familiaridade com recursos semelhantes reduz o tempo gasto correlacionando e analisando dados. Você tem uma perspetiva holística para antecipar problemas.

Emita telemetria a partir do código do aplicativo que correlaciona os pontos-chave do fluxo de execução e fornece uma visão de ponta a ponta em diferentes níveis de granularidade. Priorize ações com base no nível de gravidade e compreenda o contexto dada a sua verbosidade. Essas informações são cruciais para fins de solução de problemas.
Assuma 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 os 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 guarde-os por tempo suficiente.

Considere as compensações de custo associadas ao registro em log e ao armazenamento de dados.
A recolha intencional de dados ajuda-o a otimizar os custos financeiros e operacionais associados à recolha 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 o propósito certo.

Priorize o uso de métricas para acionar ações que dependem 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 revelar 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 visualizações, você pode analisar tendências, acompanhar metas de negócios e gerenciar incidentes.

Painéis adaptados ao interesse do cliente tornam a interpretação relevante e aceleram o tempo de deteçã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 que são agrupadas de várias fontes e rastreie desvios de metas de negócios.

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

Esforce-se por 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 remediação sem demora.

Implemente com confiança

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

Crie uma cadeia de suprimentos de carga de trabalho que permita alcançar consistentemente a meta de previsibilidade em todos os seus ambientes, nas plataformas de hospedagem, aplicativos, dados e 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 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 é necessariamente para uma execução mais rápida, mas para obter consistência e autodocumentação em várias iterações.

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

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

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

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

Tire partido da especialização dentro da equipa e do conhecimento partilhado dentro da organização.
A melhoria de competências aumenta a produtividade e promove um ambiente de colaboração através da aprendizagem partilhada.

Você pode preencher lacunas com treinamento em vez de contratar.
Siga as recomendações de software para desenvolvimento e manutenção do 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 onde as camadas inferiores permanecem constantes e as camadas superiores mudam conforme necessário.

Artefatos de implantação, como binários de aplicativos, modelos IaC e parâmetros, fazem parte da superfície de ataque. Aplique garantias, como gerenciamento secreto, controle de acesso e outros princípios do pilar Segurança.
Os artefatos experimentam o mesmo nível de rigor de engenharia que o código do aplicativo. Os controles de qualidade por meio de revisões e testes entre pares 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.

Adicionar controles de segurança a 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 manter vários ativos.

Se houver um desastre, a recuperação será rápida e confiável, porque você pode implantar um manifesto testado e comprovado em vez de criar um ambiente improvisado.
Procure 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.

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

Nota

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

Automatize para obter eficiência

Ícone de goloSubstitua tarefas manuais repetitivas por automação de software que as conclua mais rapidamente, com maior consistência e precisão, e reduza 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 realmente não precisam do intelecto humano. Dependendo da frequência, você pode gastar tempo considerável nesses esforços, investindo mais tempo à medida que a carga de trabalho cresce. Além disso, esses processos são muitas vezes propensos a erros devido à entrada humana.

Através da automação, poupa 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 tempo de vida.

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 acrescente valor para justificar o esforço humano.
Você pode reinvestir a capacidade da equipe em trabalhos 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 que são exclusivos para sua equipe e carga de trabalho. No entanto, há um impacto nos custos.

A escolha das ferramentas 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 aos recursos de automação. Evite a situação em que a falta de automação no projeto do seu sistema promove o anti-padrã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 de sua carga de trabalho e devem aderir aos cinco pilares do Well-Architected Framework.
Projete seu componente de automação para resistir a 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á a operar 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 de "projetar uma vez, executar em todos os lugares", fornecendo modelos e estruturas para integrar novos projetos e promover a reutilização de projetos e implementações existentes.
Utilize métodos testados e comprovados e reduza as chances de fracasso.

Adote práticas de implantação seguras

Ícone de golo Implemente guarda-corpos 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 à medida que os bugs são corrigidos.

O processo de implantação deve seguir um procedimento operacional padrão. Qualquer mudança deve ser implementada com o mesmo nível de rigor. Esse princípio se aplica igualmente ao código, à configuração e a todos os artefatos relacionados. O segredo é 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ê deve ser capaz de implementar as alterações de recuperação o mais rápido 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 do 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 com segurança, confiabilidade e repetibilidade.

A classificação facilita a visualização de logs de implantações anteriores e problemas que ocorreram. Talvez seja possível usar essas informações para agilizar as operações de reversão e roll-forward.
Implante pequenas atualizações incrementais em uma cadência regular. Atualizações frequentes, bem testadas e pequenas tornam a validação da versão mais fácil.

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

Use modelos de implantação que lhe dão 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 forma controlada para que os problemas sejam corrigidos no início da produção. Evite lançar uma atualização defeituosa 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 o retrocesso ou o avanço com base na criticidade do problema.

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 esta estratégia apenas 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 a 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 falhas de menor impacto.

Próximos passos

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