DevOps em um ambiente híbrido

Azure Active Directory
Boards
Key Vault
Monitor
Pipelines
Banco de Dados SQL
Aplicativos Web

Ideia da solução

se você quiser nos ver, expanda este artigo com mais informações, como casos de uso em potencial, serviços alternativos, considerações sobre implementação ou diretrizes de preços, fale conosco com GitHub comentários!

Em muitos cenários, a adoção da nuvem do Azure como uma solução de negócios envolve a migração de um ambiente local. Geralmente, não é prático preterir o ambiente local rapidamente e, em muitos casos, o ambiente local precisará persistir junto com o ambiente de nuvem por um período significativo. As ferramentas fornecidas no Azure permitem a implementação de uma DevOps que gerencia capivamente os ambientes locais e de nuvem em si.

Arquitetura Baixe um SVG dessa arquitetura.

Fluxo de dados

  1. GitHub Enterprise é usado como o repositório de código para o aplicativo
  2. As solicitações de pull disparam builds de CI e testes automatizados Azure Pipelines
  3. O monitoramento contínuo com Azure Monitor estende-se para liberar pipelines para versões de entrada ou reversões com base nos dados de monitoramento
  4. Uma versão no Azure Pipelines integra a ferramenta Terraform, gerenciando a infraestrutura local e de nuvem como código, provisionando recursos como Aplicativos Web do Azure, VMs e bancos de dados em ambos os locais
  5. Azure Pipelines cd (entrega contínua) para um ambiente de desenvolvimento na nuvem e implantações de lançamento para um ambiente de produção local.
  6. Azure Key Vault é usado para injetar segredos e credenciais com segurança em uma implantação, abstraindo segredos dos desenvolvedores
  7. Azure Monitor pode ser configurado para o Log Analytics dos ambientes locais e de nuvem. Os Insights aplicativos como parte Azure Monitor podem ser conectados a aplicativos locais e de nuvem para monitoramento
  8. O Azure AD na nuvem pode ser usado para fornecer serviços de identidade para o aplicativo, em execução no Azure e no local.

Componentes

  • Azure Boards:use o Azure Board para planejar o trabalho e acompanhar seu progresso, usando ferramentas Agile, como placas Kanban.
  • O código-fonte é hospedado no GitHub Enterprise, em que os desenvolvedores podem colaborar em sua organização e nas comunidades de software livre. GitHub Enterprise oferece recursos avançados de segurança para identificar vulnerabilidades no código que você escreve e em dependências de código aberto.
  • Azure Pipelines executa trabalhos de Integração Contínua e Entrega Contínua para seu aplicativo, bem como a criação de sua infraestrutura com a integração com o Terraform.
  • Você pode usar Azure Key Vault para armazenar certificados, cadeias de conexão, tokens e outros segredos. Eles são lidos pelo seu aplicativo em tempo de executar, portanto, eles são abstraídos de seus desenvolvedores
  • O Terraform é um produto de terceiros desenvolvido pela HashiCorp que permite a automação de infraestrutura no Azure, no local e em outros ambientes
  • Usar Azure Monitor permite obter informações sobre a disponibilidade e o desempenho do aplicativo e da infraestrutura.
  • O Azure AD fornece serviços de gerenciamento de identidade e acesso para seu aplicativo, localmente e na nuvem. O Azure AD pode sincronizar com um Active Directory local para permitir que os usuários se autentticem em todos os lugares.
  • Os Aplicativos Web do Azure são uma plataforma gerenciada para hospedar aplicativos baseados na Web na nuvem.
  • Banco de Dados SQL do Azure é um serviço de banco de dados gerenciado para aplicativos transacionais.

Próximas etapas