Arquitetura dos Pipelines do Azure para IaaS

Importante

CI/CD para aplicações IaaS é uma variante de Estruturar um pipeline CI/CD com o Azure DevOps. Este artigo centra-se nas especificidades da implementação de aplicações Web no Azure Máquinas Virtuais.

O Azure Máquinas Virtuais é uma opção para alojar aplicações personalizadas quando pretende uma gestão flexível e granular da sua computação. As máquinas virtuais (VMs) devem estar sujeitas ao mesmo nível de rigor de engenharia que as ofertas de Plataforma como Serviço (PaaS) ao longo do ciclo de vida de desenvolvimento. Por exemplo, implementar pipelines de compilação e versão automatizados para emitir alterações às VMs.

Este artigo descreve um fluxo de trabalho de alto nível do DevOps para implementar alterações de aplicações em VMs através de práticas de integração contínua (CI) e implementação contínua (CD) com o Azure Pipelines.

Arquitetura

Diagrama de arquitetura de um pipeline CI/CD com o Azure Pipelines.

Transfira um ficheiro do Visio desta arquitetura.

Fluxo de dados

Esta secção pressupõe que leu a arquitetura de linha de base dos Pipelines do Azure e foca-se apenas nas especificidades da implementação de uma carga de trabalho no Azure Máquinas Virtuais.

  1. Pipeline de - PRO mesmo que a linha de base

  2. Pipeline de CI – o mesmo que a linha de base, exceto os artefactos de compilação criados para implementar uma Aplicação Web no IaaS é um pacote de Implementação Web

  3. Acionador - de pipeline de CDO mesmo que a linha de base

  4. Versão de CD para teste - Igual à linha de base com 2 exceções: 1) o artefacto de compilação que é transferido é o Pacote de Implementação Web e 2) o pacote é implementado numa Máquina Virtual do Azure de teste.

  5. Lançamento de CD para produção – Igual à linha de base com 2 exceções:

    a. A versão para produção é efetuada através da atualização do Gestor de Tráfego do Azure para trocar a transição e a produção. Esta estratégia pode ser conseguida ao ter um perfil do Gestor de Tráfego com dois pontos finais, em que a produção está ativada e a transição está desativada. Para trocar a transição e a produção, desative a produção e ative a transição.
    b. Pode efetuar uma reversão ao atualizar o Gestor de Tráfego do Azure para trocar a produção e o teste.

  6. Monitorização - igual à linha de base

Componentes

Esta secção pressupõe que leu a secção componentes de arquitetura de linha de base do Azure Pipelines e foca-se apenas nas especificidades da implementação de uma carga de trabalho no Azure Máquinas Virtuais.

  • O Azure Máquinas Virtuais fornecer uma infraestrutura virtualizada a pedido, de alta escala, segura e virtualizada com servidores Windows ou Linux. Máquinas Virtuais são utilizadas nesta arquitetura para alojar cargas de trabalho.

  • Conjuntos de Dimensionamento de Máquinas Virtuais permitir-lhe criar e gerir um grupo de VMs idênticas com balanceamento de carga. O número de instâncias de VM pode aumentar ou diminuir automaticamente como resposta à procura ou horário definido. Os conjuntos de dimensionamento também podem ser utilizados para alojar cargas de trabalho.

  • O Gestor de Tráfego do Azure é um balanceador de carga de tráfego baseado em DNS que pode utilizar para distribuir o tráfego por pontos finais configurados. Nesta arquitetura, o Gestor de Tráfego é o ponto de entrada único para clientes e está configurado com vários pontos finais, representando a Máquina Virtual de produção e a Máquina Virtual de teste. O ponto final da Máquina Virtual de produção está ativado e o teste está desativado.

Alternativas

Este artigo centra-se na utilização do Gestor de Tráfego do Azure como balanceador de carga. O Azure oferece várias opções de Balanceamento de carga que pode considerar.

Considerações

Esta secção pressupõe que leu a secção de considerações na arquitetura de linha de base dos Pipelines do Azure e foca-se apenas nas considerações específicas da implementação de uma carga de trabalho no Azure Máquinas Virtuais.

Excelência Operacional

  • Uma vez que o Gestor de Tráfego é baseado em DNS, a colocação em cache de endereços IP por parte do cliente introduz latência. Apesar de poder ativar um ponto final e desativar outro no Gestor de Tráfego, os clientes continuarão a utilizar o respetivo endereço IP em cache até que o DNS Time-to-live (TTL) expire. Considere as opções de balanceamento de carga que atuam na camada 4 ou na camada 7.

  • Considere implementar ambientes além de apenas teste e produção para ativar elementos como reversões, testes de aceitação manual e testes de desempenho. O ato de utilizar a transição como o ambiente de reversão impede-o de utilizar esse ambiente para outras finalidades.

Passos seguintes