Partilhar via


Recomendações para práticas de implementação seguras

Aplica-se a esta Power Platform recomendação de lista de verificação de Excelência Operacional bem arquitetada:

OE:10 Defina claramente as práticas de implementação segura da sua carga de trabalho. Enfatize os ideais de métodos de lançamento pequenos, incrementais e de qualidade. Utilize padrões de implementação modernos para controlar o risco. Contabilize as implementações de rotina e as implementações de emergência, ou correção.

Este guia descreve as recomendações para o uso de práticas de implantação seguras. Os processos e procedimentos de implementação segura definem como efetuar e implementar com segurança alterações à sua carga de trabalho. Implementá-los exige que você pense nas implantações através da lente do gerenciamento de riscos. Você pode minimizar o risco de erro humano em suas implantações e limitar os efeitos de implantações problemáticas em seus usuários implementando essas práticas.

Principais estratégias de design

Há diretrizes importantes a ter em conta ao implementar práticas de implantação segura:

  • Segurança e consistência: Todas as alterações na carga de trabalho de produção são inerentemente arriscadas e devem ser feitas com foco na segurança e consistência.
  • Modelos de integridade: as implantações devem passar por verificações de integridade antes que cada fase de exposição progressiva possa começar.
  • Deteção de problemas: quando problemas são detetados, a implantação deve ser imediatamente interrompida e a recuperação iniciada.

As secções seguintes fornecem recomendações detalhadas sobre cada um destes pontos.

Segurança e consistência

Se você está a implantar uma atualização para o código do aplicativo, infraestrutura como código (IaC), sinalizador de recurso ou configuração, você está a introduzir risco para a carga de trabalho. Não há implantações de baixo risco para a produção. Cada implementação deve seguir um padrão e deve ser automatizada para impor a consistência e minimizar o risco de erro humano. É fundamental que a sua cadeia de fornecimento de cargas de trabalho e os pipelines de implementação sejam fiáveis, seguros e tenham normas de implementação claramente definidas. Trate cada implementação como um risco possível e submetê-a ao mesmo nível de gestão de riscos.

Apesar dos riscos, deve continuar a implementar alterações regulares à sua carga de trabalho. A falha na implementação de atualizações regulares introduz outros riscos, como vulnerabilidades de segurança que devem ser resolvidas através de implementações. Saiba mais em Recomendações para projetar um cadeia de fornecimento de desenvolvimento de carga de trabalho.

As pequenas implementações frequentes são preferíveis às grandes implementações pouco frequentes. As pequenas alterações são mais fáceis de resolver quando surgem problemas e as implementações frequentes ajudam a sua equipa a ganhar confiança no processo de implementação. Também é importante que aprenda com a produção ao rever os seus processos de carga de trabalho quando encontra uma anomalia durante a implementação. Poderá encontrar pontos fracos na conceção da sua infraestrutura ou implementação. Quando ocorrerem problemas durante as implantações, certifique-se de que postmortems irrepreensíveis façam parte do seu processo para capturar lições sobre o incidente.

Modelos de estado de funcionamento

Desenvolva um modelo de estado de funcionamento robusto como parte da sua plataforma de monitorização da observabilidade e estratégias de fiabilidade. O seu modelo de estado de funcionamento deve fornecer uma visibilidade aprofundada dos componentes e do estado de funcionamento global da carga de trabalho. Monitore as métricas de integridade de perto após uma implantação. Se você receber um alerta sobre uma alteração de integridade durante a implantação, investigue o problema imediatamente e determine o próximo curso de ação, como reverter a alteração. Se os usuários não relatarem problemas e todos os indicadores de integridade permanecerem verdes, a implantação deve continuar. Certifique-se de incluir métricas de uso em seu modelo de integridade para ajudar a garantir que a falta de problemas relatados pelo utente e sinais negativos de integridade não esteja a ocultar um problema. Saiba mais em Recomendações para executar a análise do modo de falha.

Deteção de problemas

Quando a sua implementação causa um problema num dos grupos de implementação, a implementação deve ser interrompido imediatamente. Investigue a causa do problema e a gravidade dos efeitos assim que o alerta for recebido. A recuperação do problema pode incluir:

  • Reverter desfazendo as alterações feitas na implantação e revertendo para a última configuração de trabalho conhecida.
  • Avançando resolvendo o problema durante a implantação. Pode resolver os problemas a meio da implementação ao aplicar uma correção ou ao minimizar o problema.
  • Implantação de nova infraestrutura usando a última configuração de trabalho conhecida.

A reversão de alterações, especialmente de bases de dados, esquemas ou outras alterações de componentes com estado, pode ser complexa. Suas diretrizes de práticas de implantação seguras devem fornecer instruções claras sobre como lidar com alterações de dados de acordo com o design do conjunto de dados para sua carga de trabalho. Da mesma forma, a rolagem deve ser tratada com cuidado para garantir que os processos de implantação seguros não sejam negligenciados e que o hotfix ou outros esforços de minimização sejam executados com segurança.

Recomendações gerais

  • Implemente o controlo de versões nos seus artefactos de compilação para ajudar a garantir que consegue retroceder e avançar quando é necessário.

  • Utilize um fluxo de versões ou uma estrutura de ramificação baseada no tronco, que imponha uma colaboração bem sincronizada entre a equipa de desenvolvimento, em vez de uma estrutura de ramificação baseada no ambiente ou no Gitflow.

  • Automatize o máximo possível de sua prática de implantação segura. Saiba mais em Recomendações para implementar automação.

  • Utilize práticas de integração contínua (CI) para integrar regularmente as alterações de código nos repositórios. As práticas de CI podem ajudá-lo a identificar conflitos de integração e a reduzir a probabilidade de fusões grandes e arriscadas. Saiba mais em Recomendações para integração contínua.

  • Utilize sinalizadores de funcionalidades para ativar ou desativar seletivamente novas funcionalidades ou alterações na produção. Os sinalizadores de funcionalidades podem ajudá-lo a controlar a exposição do novo código e a reverter rapidamente a implementação se surgirem problemas.

  • Implemente alterações em ambientes de teste que espelham o seu ambiente de produção. Os ambientes de prática permitem testar as alterações num ambiente controlado antes de as implementar no ambiente real.

  • Estabeleça verificações de pré-implementação, incluindo revisão de código, análises de segurança e verificações de conformidade, para ajudar a garantir que as alterações são seguras para a implantação.

  • Implemente disjuntores para interromper automaticamente o tráfego para um serviço que esteja a enfrentar problemas e ajudar a evitar mais degradação do sistema.

Protocolos de emergência

Estabeleça protocolos prescritivos que definam como seus processos de implantação seguros podem ser ajustados para um hotfix ou para problemas de emergência, como uma violação de segurança ou exposição a vulnerabilidade. Por exemplo, seus protocolos de emergência podem incluir:

  • Aceleração da fase de promoção e aprovação
  • Teste de fumaça e aceleração de testes de integração
  • Redução do tempo de cozedura

Nalguns casos, a situação de emergência pode limitar a qualidade e os testes das portas, mas estas devem ser executadas o mais rapidamente possível como um exercício fora da banda. Certifique-se de definir quem pode aprovar a aceleração de implantação segura em uma emergência e os critérios que devem ser atendidos para que a aceleração seja aprovada. Alinhe seus protocolos de emergência com seu plano de resposta de emergência para ajudar a garantir que todas as emergências sejam tratadas de acordo com os mesmos protocolos.

Considerações

Criar e manter práticas de implantação seguras é complexo. O seu sucesso na implementação plena de normas sólidas depende da maturidade das suas práticas em muitas áreas do desenvolvimento de software. O uso de automação, somente IAC para alterações de infraestrutura, consistência em estratégias de ramificação, sinalizadores de recursos e outras práticas podem ajudar a garantir uma implantação segura. Utilize este guia para otimizar o seu volume de trabalho e informar os seus planos de melhoria à medida que as suas práticas evoluem.

Facilitação do Power Platform

Os pipelines visam Power Platform democratizar o gerenciamento do ciclo de vida dos aplicativos (ALM) para Power Platform e Dynamics 365 clientes, trazendo automação de ALM e recursos de integração contínua e entrega contínua (CI/CD) para o serviço.

Microsoft Power Platform O Build Tools for Azure DevOps pode ser usado para automatizar tarefas comuns de compilação e implantação relacionadas a aplicativos criados Power Platform.

Ações do GitHub para Power Platform permitir que os desenvolvedores criem fluxos de trabalho automatizados do ciclo de vida do desenvolvimento de software. Com as Ações GitHub para o Microsoft Power Platform, pode criar fluxos de trabalho no seu repositório para criar, testar, empacotar, lançar e implementar aplicações; executar automatização; e gerir bots e outros componentes criados no Power Platform.

O ALM Accelerator é uma ferramenta de código aberto que consiste em um conjunto de aplicativos, scripts e pipelines projetados para automatizar o processo de integração contínua/entrega contínua.

Automatize testes com o Azure Pipelines.

As variáveis de ambiente em soluções armazenam as chaves e os valores dos parâmetros, que servem como entrada para outros objetos de aplicativo. Separar os parâmetros dos objetos que consomem permite alterar os valores dentro do mesmo ambiente ou quando migra soluções para outros ambientes.

Power Platform Os ambientes fornecem a funcionalidade de restauração point-in-time que pode ajudá-lo a reverter.

Próximos passos