Princípios de design de Excelência Operacional

No centro do pilar excelência operacional estão as práticas do DevOps que garantem a qualidade da carga de trabalho através de fluxos de trabalho padronizados e coesão de equipa. Este pilar define procedimentos operacionais para práticas de desenvolvimento, observabilidade e gestão de versões. O objetivo é minimizar a variância do processo, as hipóteses de erro humano e a interrupção para os clientes. Para avaliar o seu estado de funcionamento operacional, comece com estas perguntas:

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

As operações de carga de trabalho podem transformar-se em práticas caóticas quando não existe 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 de utilizador. Estas abordagens cumprem apenas os objetivos de 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 conceção 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 identifica áreas de melhoria. Depois de definir a sua estratégia, continue a impulsionar a ação com a lista de verificação Excelência Operacional.

Os requisitos operacionais de uma carga de trabalho são tão importantes quanto os requisitos empresariais. Os processos eficientes garantem que a carga de trabalho alcança os resultados de negócio dentro das restrições de conformidade, quer essa conformidade seja organizacional ou externa. A chave é encontrar a repetibilidade com consistência.

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

Se cumprir estes objetivos, as cargas de trabalho serão executadas de forma fiável e previsível, mesmo durante os períodos de alteração. A incapacidade de cumprir os requisitos operacionais pode levar a implementações falhadas, experiência de utilizador inconsistente e custos adicionais que poderiam ter sido evitados através de um planeamento adequado e de uma execução simplificada.

Adotar a cultura de DevOps

Ícone de objetivo Capacite as equipas de desenvolvimento e operações para melhorar continuamente o design e os processos do sistema ao trabalhar em conjunto com uma mentalidade de colaboração, responsabilidade partilhada e propriedade.

O DevOps é uma comunidade de práticas em que a diversidade de perspetivas e competências impulsiona uma missão. O Teams tem de fomentar um ambiente de colaboração de conhecimentos partilhados em vez de aprendizagem siloed. Utilize funções partilhadas para se esforçar para ultrapassar as restrições de recursos.

Uma boa cultura de DevOps prospera na responsabilidade partilhada. As equipas de desenvolvimento e operações devem alinhar os seus objetivos e prioridades com as expectativas dos seus clientes e manter o foco empresarial em mente. A equipa de desenvolvimento deve envolver a equipa de operações no ciclo de comentários para que as melhorias sejam impulsionadas a montante e outras equipas beneficiem igualmente. Por outro lado, as equipas de operações são responsáveis por tornar a equipa de desenvolvimento bem-sucedida nos resultados empresariais ao partilhar recursos e comentários relevantes para a carga de trabalho.

Ao mesmo tempo, as práticas do DevOps aplicam linhas claras de propriedade e responsabilidade a cada equipa. Independentemente de onde a aplicação é executada, a equipa de carga de trabalho é responsável por essa aplicação.

O DevOps otimiza as tarefas operacionais para que sejam eficazes, mas não onerosas. Para colher o benefício total do DevOps, a cultura deve otimizar os processos através da tecnologia e ter processos para que as pessoas na organização promovam a comunicação transparente.

Abordagem Benefícios
Utilize sistemas e ferramentas comuns que promovem um ambiente de colaboração para comunicação e controlo do progresso. As ferramentas e os processos comuns permitem uma comunicação transparente. Tanto as equipas de desenvolvimento como de operações beneficiam da consciencialização da situação em vários ambientes, problemas comuns de suporte e desafios e vitórias gerais.

O Teams já estará familiarizado com os caminhos de escalamento existentes se ocorrer um incidente.

Um atraso partilhado torna as prioridades, como trabalhar em novas funcionalidades ou corrigir erros, desmarcar.
Crie uma mentalidade de aprendizagem e experimentação contínua ao longo do ciclo de desenvolvimento.

Suporte a partilha de conhecimentos entre equipas e a manutenção da documentação para reutilização.

Realize análises sem culpa e interrogue análises 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, pode incentivar a inovação mantendo os custos baixos.

Partilhe conhecimentos 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 para melhorar e celebrar o sucesso.
Adote práticas ágeis comprovadas da indústria que se focam na otimização de ações.

Procure oportunidades para "mudar para a esquerda" em operações para processos manuais e automatizados, práticas de implementaçã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 comercial.

A deteção, a resolução e, assim, a prevenção de problemas anteriores são, muitas vezes, menos intrusivas no processo.
Defina normas para todos os procedimentos operacionais e de desenvolvimento e reveja-os e valide-os numa cadência regular.

Estes procedimentos incluem tarefas de rotina, processos fora de banda, exercícios e situações de emergência, escolha de ferramentas, procedimentos de monitorização, planos de qualificação e até mesmo comunicação com intervenientes e divulgações de clientes.

Seja intencional e explícito sobre as suas decisões.
As normas adicionam previsibilidade às operações e tornam os processos e práticas dimensionáveis. A validação de normas é uma excelente forma de desenhar pontos de melhoria.

Prepare-se para situações de emergência e recuperação ao realizar exercícios regulares.

Execute com precisão e ative a governação para evitar anomalias que levam a riscos.
Tire partido das equipas de operações centralizadas com competências especializadas e amplitude de experiência. Existe um benefício de custo na utilização de recursos partilhados para operações e recursos.

Embora seja o proprietário da sua carga de trabalho, a equipa centralizada ajuda-o com competências multifuncionais, como a gestão de incidentes, uma perspetiva proativa sobre a monitorização e a subcontratação de conhecimentos com confiança.

Estabelecer normas de desenvolvimento

Ícone de objetivo Otimize a produtividade ao uniformizar as práticas de desenvolvimento, impor portas de qualidade e controlar o progresso e o sucesso através da gestão sistemática das alterações.

A equipa de desenvolvimento é responsável por resolver problemas de cargas de trabalho antes do lançamento com um mínimo de atrito. Tenha em atenção a eficiência do programador e otimize-os para ciclos de reviravolta rápidos, desde a codificação até aos resultados dos testes. Implemente processos eficazes e de dimensão correta que planeiem e uniformizem atividades técnicas e também impulsionem o consenso dentro da equipa e dos intervenientes.

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

Derivar âmbito e requisitos funcionais e não funcionais detalhados da arquitetura.

Crie modelos de estimativa de dimensionamento para comunicar o âmbito e o custo das tarefas envolvidas.
As boas especificações reduzem os custos operacionais e as possibilidades de falha ao suportar ciclos de desenvolvimento mais produtivos e simplificados.

Os programadores compreendem o design técnico, os objetivos e os critérios de conclusão antes de iniciarem o ciclo de codificação.

Uma boa documentação facilita a comunicação repetível e a integração de novos membros da equipa.
Utilize uma metodologia de desenvolvimento de software padrão da indústria adequadamente ajustada para as necessidades da carga de trabalho e do tamanho da equipa.

Mantenha um registo de tarefas pendentes partilhado entre todas as funções.
A adoção de uma metodologia conhecida define o ritmo do projeto. Elimina as ambiguidades do processo, dando aos membros da equipa expectativas claras e responsabilidade.

Ao controlar uma lista comum, as tarefas podem ser refinadas e priorizadas com práticas padrão. O projeto terá melhores hipóteses de ser entregue a tempo.

As metodologias padrão ajudam na gestão de riscos. Com as revisões de marcos granulares, os programadores podem resolver potenciais problemas antes de se tornarem showstoppers.
Utilize o controlo de código fonte unificado para todos os códigos, scripts, modelos de implementação, definições de pipeline e documentação relacionada.

A estratégia de ramificação tem de suportar a libertação sem atritos de funcionalidades independentes e interdependentes, correções de erros e correções.

Utilize conhecimentos partilhados em toda a organização para criar a sua estratégia de ramificação e processos de implementação.
A utilização adequada do controlo de código fonte é fundamental para suportar alterações simultâneas e controlo de versões.

Mantenha um fluxo de trabalho repetível para lançar alterações de vários tamanhos e riscos, realizar revisões ponto a ponto como parte do processo e manter um registo de auditoria.
Ter processos de garantia de qualidade que enfatizam os testes no início do ciclo de vida de desenvolvimento.

Inclua todos os artefactos para procedimentos de teste planeados, incluindo componentes da aplicação, infraestrutura e operações do plano de dados que fazem parte de uma versão ou atualização de funcionalidades.

Trate os artefactos como imutáveis quando são promovidos através de ambientes, ganhando confiança sempre que passam por uma porta de qualidade.

Quando for prático, automatize as verificações de rotina.
A garantia de qualidade garante que os requisitos funcionais e não funcionais foram cumpridos com confiança, o que leva a um impacto positivo do cliente.

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

Com as portas de qualidade, pode impor as melhores práticas para reduzir os riscos.

A imutabilidade traz confiança porque garante que o sistema que testa é exatamente o que lança.

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

As normas tecnológicas para programadores devem exigir a implementação de padrões, design de API, registo, processamento de exceções e outros processos.
A consistência no código impulsiona a legibilidade e a manutenção mais fácil. Também reduz a complexidade e permite a reutilização de código.

As ferramentas e convenções comuns também ajudam as equipas a otimizar processos sem a necessidade de abordar opções pontuais.
De forma consistente e deliberada, insistem na documentação de código do programador, tal como está escrita. Limpar documentação de código garante que a lógica e a funcionalidade são facilmente compreendidas quando o código antigo precisa de ser revisitado ou quando as equipas de desenvolvimento giram.
Comunicar o progresso e as tendências para medir a eficiência. São publicadas tendências em erros, atualizações falhadas, tempo de implementação, ciclos de comentários e outras métricas, o que impulsiona melhorias.

Desenvolver operações com observabilidade

Ícone de objetivo Obtenha visibilidade sobre o sistema, obtenha informações e tome decisões condicionadas por dados.

Crie uma cultura que melhore continuamente a qualidade ao monitorizar a carga de trabalho e levar em consideração todos os pilares do Azure Well-Architected Framework. Permita que a equipa e os intervenientes tome decisões de curto e longo prazo em muitas facetas ao fornecer os dados, estatísticas e tendências necessários. Saiba mais sobre os seus dados e melhoramentos de unidades.

As operações criadas para efeitos de observabilidade são fundamentais na manutenção proativa da aplicação, garantia de qualidade e segurança, planeamento de capacidade e gestão de produtos.

Um aspeto crucial da monitorização é a aplicação que utiliza a modelação de estado de funcionamento para o ajudar a antecipar problemas antes de se tornarem incidentes e afetarem a experiência do cliente. A monitorização eficiente reduz os ciclos reativos gastos na gestão de incidentes.

Abordagem Benefícios
Crie um sistema de monitorização com a sua própria pilha e fluxos.

Trate o sistema de monitorização como uma dimensão da carga de trabalho desacoplada do respetivo utilitário. A pilha tem de abranger todas as camadas, incluindo os processos de infraestrutura, estado de funcionamento da aplicação e compilação e versão.

A captura ou amostragem de dados empresariais está fora do âmbito das implementações de observabilidade.
Desacoplar pilhas de monitorização e cargas de trabalho para separar requisitos funcionais e requisitos de observabilidade e tornar possível uma evolução independente. As alterações no código não devem afetar a monitorização e vice-versa.

Uma vez que os requisitos de observabilidade estão separados dos requisitos funcionais, os dados empresariaisnão serão interrompidos através da monitorização de alterações ou interrupções da configuração.
Aumentar a consistência no processo de recolha para cada tipo de origem de dados.

Uniformize a instrumentação no código através de normas do setor para telemetria, coleção de métricas de infraestrutura e ferramentas.
A consistência impede a variância na deteção e medição porque a familiaridade entre recursos semelhantes reduz o tempo gasto a correlacionar e analisar dados. Tem uma perspetiva holística para antecipar problemas.

Emita telemetria do código da aplicação que correlaciona os pontos-chave do fluxo de execução e proporciona uma vista ponto a ponto em diferentes níveis de granularidade. Priorize as ações com base no nível de gravidade e compreenda o contexto dada a sua verbosidade. Estas informações são cruciais para fins de resolução de problemas.
Possua a responsabilidade de emitir e recolher dados, mesmo quando os sinks de dados são partilhados por várias equipas e geridos por equipas centrais. Ao localizar dados de monitorização para o ambiente de carga de trabalho, a equipa pode aceder a registos e métricas para resolver problemas de cargas de trabalho.
Recolha apenas dados suficientes e retenha-os durante tempo suficiente.

Considere as trocas de custos associadas ao registo e ao armazenamento de dados.
A recolha de dados intencional 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 a computação intensiva durante a análise e reduza o custo de armazenamento de dados de que já não precisa.
Faça uma distinção entre os diferentes sinais de monitorização: perfis, registos, métricas e rastreios. Utilize cada sinal para o objetivo certo.

Priorize a utilização de métricas para acionar ações que dependem de medições numéricas.

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

Reserve a utilização de registos e rastreios para fornecer contexto para fluxos e dependências.
Ao utilizar os sinais para os fins corretos, pode impedir a implementação ineficiente do sistema de monitorização.

Por exemplo, a utilização de registos para ações requer análise. Poderá conseguir atingir os mesmos objetivos mais rapidamente com as métricas.
Agregar e visualizar dados em dashboards para apresentar dados de monitorização que são atendidos às audiências e mantém o contexto empresarial em mente.

Utilize dashboards situacionais para obter dados para aumentar a consciencialização entre os intervenientes.

Utilize dashboards operacionais e livros com capacidades de desagregação para atividades do operador, como a resposta a incidentes. Atualize frequentemente os dashboards e forneça dados granulares.
Com as visualizações, pode analisar tendências, controlar os destinos empresariais e gerir incidentes.

Os dashboards 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 ao notificar as funções responsáveis com descrições padronizadas e níveis de gravidade. Forneça informações que estão agrupadas a partir de várias origens e controle desvios de destinos empresariais.

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

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

Um bom sistema de alertas identifica ações e gravidade e fornece dados suficientes para impulsionar a clareza e a finalidade. Os operadores podem iniciar a remediação sem demora.

Implementar com confiança

Ícone de objetivo Atinja o estado pretendido de implementação com previsibilidade.

Crie uma cadeia de fornecimento de cargas de trabalho que lhe permita alcançar consistentemente o objetivo de previsibilidade em todos os seus ambientes, nas plataformas de alojamento, aplicações, dados e recursos de configuração da carga de trabalho. O mecanismo de implementação tem de ser capaz de automatização, teste, monitorização e controlo de versões. Deve ser modularizado e pronto para ser executado a pedido. Não deve ser representado como um processo monolítico ponto a ponto. A cadeia de fornecimento não é necessariamente para uma execução mais rápida, mas para obter consistência e auto-documentação em várias iterações.

A equipa de carga de trabalho é responsável pela cadeia de fornecimento, uma vez que está relacionada com a sua própria carga de trabalho.

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

Prefere abordagens declarativas em vez de métodos imperativos.
As tecnologias IaC Declarativas são concebidas com automatização e reutilização em mente. Pode descarregar implementações de infraestrutura de indivíduos para ferramentas e alcançar uma qualidade consistente.

Do ponto de vista da infraestrutura, ter menos opções tecnológicas remove a variância nas ferramentas e facilita a deteção da deriva da configuração. A manutenção também será mais fácil. Se alinhar escolhas com o conjunto de competências existente da equipa, a equipa pode adotá-las facilmente.
Prepare a equipa para utilizar a tecnologia IaC escolhida. Saiba mais sobre o seu modelo de extensibilidade, capacidades e limitações.

Tire partido da especialização na equipa e do conhecimento partilhado na organização.
O upskilling aumenta a produtividade e promove um ambiente de colaboração através da aprendizagem partilhada.

Pode preencher lacunas com formação em vez de contratar.
Siga as recomendações de software para o desenvolvimento e manutenção de 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.

Os artefactos de implementação, como binários de aplicações, modelos IaC e parâmetros, fazem parte da superfície de ataque. Aplique garantias, como a gestão de segredos, o controlo de acesso e outros princípios do pilar Segurança.
Os artefactos experimentam o mesmo nível de rigor de engenharia que o código da aplicação. Os controlos de qualidade através de revisões e testes em modo de peering dão-lhe confiança na implementação.

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

Adicionar controlos de segurança a artefactos ajuda a proteger o sistema durante o processo de implementação.
Desenvolva um manifesto de implementação comum que é utilizado em todos os ambientes. Utilize esse manifesto como o mecanismo predefinido para projetos de campo verde, atualizações incrementais da carga de trabalho ou recuperação após desastre. Remova a sobrecarga da manutenção de múltiplos recursos.

Se ocorrer um desastre, a recuperação será rápida e fiável porque pode implementar um manifesto experimentado e testado em vez de criar um ambiente improvisado.
Esforce-se por uma infraestrutura imutável e efémera implementada através da automatização IaC. Proíba o desfasamento da configuração e torne o idempotente de implementação.

Este tipo de infraestrutura elimina encargos operacionais significativos, como a aplicação de patches. Também beneficia cenários de validação fundamentais, como implementações de infraestruturas verde-azulada.

Nota

Reduza o âmbito da utilização do portal para apenas tarefas de investigação não repetidas.

Automatizar a eficiência

Ícone de Objetivo: substitua tarefas manuais repetitivas pela automatização de software que as conclua 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 de equipa que fazem tarefas mundanas, repetitivas e morosas que não precisam realmente de intelecto humano. Consoante a frequência, poderá passar um tempo considerável nestes esforços, investindo mais tempo à medida que a carga de trabalho cresce. Além disso, estes processos são frequentemente propensos a erros devido à entrada humana.

Através da automatização, poupa tempo, esforço e dinheiro e evita erros.

Abordagem Benefícios
Avalie todos os fluxos de trabalho em relação a critérios que estão no nível certo de complexidade, esforço, frequência, precisão, linha cronológica e vida útil.

Automatize os fluxos de trabalho com base nessa avaliação e dê prioridade aos fluxos de trabalho com os retornos esperados mais elevados.

Remova fluxos de trabalho redundantes ou adicione valor para justificar o esforço humano.
Pode reinvestir a capacidade da equipa no trabalho de maior valor e aumentar a produtividade e consistência.

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

Reserve a automatização de edifícios para trabalhos altamente especializados e de elevado valor.
Ao comprar software off-the-shelf e tirar partido do contrato de suporte, poupa nos custos de manutenção.

Ao criar software, tem mais controlo e pode atender a casos de utilização exclusivos da sua equipa e carga de trabalho. No entanto, há um impacto nos custos.

A escolha das ferramentas proporciona um nível de uniformização às suas operações. Com a preparação, pode alcançar um nível uniforme de preparação para a adoção.
Crie os componentes da carga de trabalho para suportar capacidades de automatização. Evite a situação em que a falta de automatização no design do sistema promove o anti-padrão de tarefas repetitivas, abranda o crescimento e começa a acumular dívida técnica.
Trate toda a automatização como uma dependência crítica da carga de trabalho. Adapte-se ao crescimento esperado da carga de trabalho.

As ferramentas de automatização são parte integrante da sua carga de trabalho e devem cumprir os cinco pilares Well-Architected Framework.
Crie o componente de automatização para suportar riscos, como ameaças de segurança. Com as melhores práticas aplicadas, pode evitar a expansão da implementação.

A carga de trabalho continuará a funcionar com uma garantia de alto nível se esta dependência for mantida funcional e segura.
Automatize em escala ao explorar opções para além da carga de trabalho.

Favoreça um modelo de "estruturar uma vez, executar em todo o lado" ao fornecer modelos e arquiteturas para integrar novos projetos e promover a reutilização de designs e implementações existentes.
Utilize métodos experimentados e testados e reduza as hipóteses de falha.

Adotar práticas de implementação segura

Ícone de objetivo Implemente proteções no processo de implementação para minimizar o efeito de erros ou condições inesperadas.

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

O processo de implementação tem de seguir um procedimento operacional padrão. Qualquer alteração tem de ser implementada com o mesmo nível de rigor. Este princípio aplica-se igualmente ao código, à configuração e a todos os artefactos relacionados. A chave é aplicar práticas seguras o mais cedo possível para que tenha previsibilidade na produção. Mesmo que os erros cheguem aos clientes, deverá conseguir implementar as alterações de recuperação o mais rapidamente possível.

Abordagem Benefícios
Uniformize o processo para implementar qualquer alteração através de processos de implementação automatizados, como pipelines.

Todos os ambientes têm de utilizar pipelines.

Classifique recursos e versões por ambiente para torná-los facilmente rastreáveis e identificáveis.
Os métodos de implementação consistentes reduzem os problemas causados por erros de processo e variância e permitem-lhe concentrar o seu esforço nas preocupações da carga de trabalho.

A uniformização garante que a implementação é concluída de forma segura, fiável e com repetibilidade.

A classificação facilita a visualização de registos de implementações e problemas anteriores que ocorreram. Poderá utilizar essas informações para acelerar as operações de reversão e reversão.
Implemente pequenas atualizações incrementais numa cadência regular. As atualizações pequenas frequentes e bem testadas facilitam a validação da versão.

Resolva problemas mais rapidamente com um impacto mínimo do cliente devido a uma quantidade de espaço mais pequena.
Teste as atualizações rigorosamente ao utilizar diferentes mecanismos ao longo do ciclo de vida de desenvolvimento. Detetar problemas nas fases iniciais do desenvolvimento. As correções iterativas e as práticas de implementação consistentes fazem com que os problemas se ativem quando a atualização estiver pronta para produção.
Implemente atualizações gradualmente, com a devida diligência.

Utilize modelos de implementação que lhe dão o controlo para aumentar progressivamente o número de instâncias e clientes até que a atualização seja adotada em segurança por todos.
Teste cada atualização de forma controlada para que os problemas sejam corrigidos no início da produção. Evite implementar uma atualização com falhas que afeta toda a sua base de clientes.

Teste se a atualização é retroativa e compatível.
Tenha uma estratégia de mitigação para recuperar rapidamente de falhas de implementação.

A estratégia deve abranger a tomada de decisões sobre reverter ou avançar com base na importância do problema.

Tenha processos bem definidos e sistemas automatizados que podem implementar rapidamente correções com os pipelines de implementação padrão.
Reduza a duração do impacto potencial.

Restaure o sistema novamente para a versão de trabalho anterior ou avance para uma versão que tenha correções que foram completamente testadas.
Tenha um plano de contingência que repõe o sistema para um estado de funcionamento em caso de emergência e para recuperar de falhas inesperadas. Utilize esta estratégia apenas quando necessário e com aprovação.

Esforce-se para melhorar o plano ao longo do tempo.
Pode controlar rapidamente as correções de alta prioridade, como a remediação de segurança.

O pipeline acelerado pode não ter todas as verificações dos seus procedimentos operacionais padrão, mas irá colocar os clientes numa versão segura da forma mais rápida possível, o que supera as falhas de menor impacto.

Passos seguintes

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