Partilhar via


Automatização da plataforma e DevOps para o acelerador de zonas de destino Serviço de Aplicações

Este artigo fornece considerações de design e recomendações para a automatização da plataforma e o DevOps que pode aplicar quando utiliza o acelerador de zonas de destino Serviço de Aplicações do Azure. A automatização da plataforma e o DevOps proporcionam oportunidades para modernizar a sua abordagem à implementação através da infraestrutura como código.

Saiba mais sobre a automatização da plataforma e a área de design de DevOps .

Considerações de design

A Automatização e o DevOps são práticas importantes no desenvolvimento de software moderno e Serviço de Aplicações é uma plataforma avançada para criar e implementar aplicações Web. Ao utilizar técnicas de automatização e DevOps, pode simplificar o fluxo de trabalho e melhorar a qualidade e fiabilidade das suas aplicações.

Tenha em conta as seguintes considerações quando se prepara para qualquer implementação de Serviço de Aplicações.

  • Compreenda os requisitos e objetivos do projeto para que possa determinar as ferramentas e abordagens mais adequadas para a automatização. Este passo envolve identificar as tarefas que pretende automatizar, como o aprovisionamento de infraestrutura, implementação de código e testes. Também envolve identificar as ferramentas e tecnologias que irá utilizar para implementar a automatização.

  • Torne a segurança uma prioridade máxima ao conceber um pipeline de automatização e CI/CD no Serviço de Aplicações. As tarefas de segurança podem incluir a implementação de medidas de autenticação e autorização para ajudar a proteger o acesso ao pipeline e aos respetivos componentes. Também podem incluir a implementação de encriptação e outras medidas de segurança para ajudar a proteger dados confidenciais.

  • Considere a integração e implementação contínuas. Serviço de Aplicações suporta a integração e implementação contínuas de vários sistemas de controlo de origem, incluindo repositórios do Azure, GitHub e Bitbucket. Pode utilizar estas ferramentas para automatizar o processo de compilação e implementação, garantindo que a sua aplicação está sempre atualizada e disponível.

  • Considere scripts de automatização. Serviço de Aplicações fornece vários scripts de automatização, incluindo modelos do PowerShell, CLI do Azure, Bicep e Azure Resource Manager (ARM). Pode utilizar estes scripts para automatizar tarefas comuns, como aprovisionamento e dimensionamento de recursos.

  • Avalie se precisa de utilizar agentes autoalojados. Consoante a configuração da rede, os Serviços de Aplicações poderão não estar disponíveis na Internet pública. Se não estiverem, os agentes alojados públicos não funcionarão para implementações. Planeie utilizar agentes autoalojados nestes cenários.

  • Adote uma estratégia de ramificação que o ajudará a colaborar, ao mesmo tempo que proporciona flexibilidade. Mantenha a sua estratégia simples, utilize o isolamento de funcionalidades de curta duração e permita modificações de volta ao ramo principal através de pedidos Pull com análise de código manual e automatizada.

  • Certifique-se de que a lógica de negócio é verificada pelos testes de unidades no pipeline de compilação. Utilize testes de integração no pipeline de versão para verificar se todos os serviços e recursos funcionam em conjunto após uma nova versão. Verifique os elementos de IU mais críticos com os testes de IU automatizados. Verifique os requisitos de desempenho não funcionais ao utilizar testes de carga através de ferramentas como k6 e JMeter no seu ambiente de teste.

  • Monitorize e mantenha a automatização e o pipeline CI/CD. Este processo pode envolver a implementação de ferramentas de registo e monitorização para controlar o desempenho e o estado de funcionamento do pipeline. Também pode envolver a implementação de um processo de revisão e atualização regular do pipeline para garantir que se mantém eficaz e eficiente.

A chave para a automatização bem-sucedida da plataforma e a implementação do pipeline CI/CD no Serviço de Aplicações é planear e estruturar cuidadosamente a solução, tendo em conta as necessidades e requisitos específicos das aplicações que está a implementar. Ao utilizar a abordagem correta, pode criar uma plataforma dimensionável, segura e eficiente para implementar e gerir as suas aplicações na cloud.

Recomendações de conceção

Tenha em atenção as seguintes melhores práticas quando implementar Serviço de Aplicações.

  • Utilize o Azure DevOps para o pipeline CI/CD. O Azure DevOps fornece uma solução completa para automatizar a compilação, teste e implementação das suas aplicações.

  • Utilize pipelines ou ações para:

    • Maximizar os benefícios das práticas aplicadas em toda a equipa.
    • Remova grande parte do fardo de reinventar processos.
    • Obtenha previsibilidade e informações sobre a qualidade e agilidade gerais.
  • Implemente antecipadamente e com frequência através de pipelines com base no acionador e agendados. Os pipelines baseados no acionador garantem que as alterações passam por uma validação adequada. Os pipelines agendados gerem o comportamento em ambientes em mudança.

  • Separar a implementação da infraestrutura da implementação de aplicações. A infraestrutura principal muda com menos frequência do que as aplicações. Trate cada tipo de implementação como um fluxo e pipeline separados.

  • Utilize a infraestrutura como ferramentas de código, como modelos arm ou Bicep, para automatizar o aprovisionamento e a gestão dos seus recursos do Azure. Pode utilizar modelos arm e Bicep para definir a sua infraestrutura como código, facilitando o controlo de versões, colabore e automatize a implementação dos seus recursos.

  • Armazene segredos e outros artefactos confidenciais no arquivo de segredos relevante (como o Azure Key Vault ou os segredos do GitHub). Permitir que as ações e outras partes do fluxo de trabalho as leiam conforme necessário.

  • Esforce-se por maximizar a simultaneidade da implementação ao evitar configurações e definições codificadas.

  • Implemente a segurança shift-left ao incluir ferramentas de análise de vulnerabilidades e segredos, como scanners de contentores, no início do pipeline.

  • Configure uma estratégia de implementação que implemente os princípios das implementações azuis/verdes ou canárias para minimizar o tempo de inatividade e reduzir o risco de falhas de implementação. Ao fazê-lo, permite-lhe implementar gradualmente novas versões da sua aplicação num pequeno subconjunto de utilizadores antes de a implementar para toda a base de utilizadores.

  • Utilize Serviço de Aplicações blocos de implementação para implementar uma estratégia de implementação azul/verde. Ao fazê-lo, permite-lhe validar e testar as suas implementações num ambiente de teste antes de as implementar na produção. Esta estratégia ajuda-o a garantir uma implementação suave e bem-sucedida, validar as alterações da aplicação e minimizar o tempo de inatividade.

  • Monitorize e controle o desempenho e a disponibilidade das suas aplicações com o Application Insights. O Application Insights fornece informações em tempo real sobre o estado de funcionamento e a utilização das suas aplicações. Também pode ajudá-lo a diagnosticar e resolver rapidamente problemas que surgem.

  • Implemente ferramentas e processos que facilitem a comunicação e colaboração, como metodologias e ferramentas de desenvolvimento ágil para controlar e gerir tarefas e dependências. Os processos de automatização de plataformas, DevOps e CI/CD bem-sucedidos dependem da colaboração e comunicação eficazes entre os membros da equipa.

A chave para automatização de plataformas com êxito, DevOps e CI/CD com Serviço de Aplicações é conceber e implementar processos e sistemas dimensionáveis, seguros, bem monitorizados e colaborativos. Estas recomendações podem ajudar os engenheiros de TI e da cloud a garantir que as suas aplicações e APIs proporcionam o melhor desempenho possível e experiência de utilizador.