DevOps em um ambiente híbridoDevOps in a hybrid environment

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.In many scenarios, the adoption of the Azure cloud as a business solution involves the migration of an on-premises environment. Geralmente não é prático substituir o ambiente local rapidamente e, em muitos casos, o ambiente local precisará persistir junto com o ambiente de nuvem por um período significativo.It is usually not practical to deprecate the on-premises environment quickly, and in many cases the on-premises environment will need to persist alongside the cloud environment for a significant amount of time. As ferramentas fornecidas no Azure permitem a implementação de uma estratégia de DevOps que o capably gerencia ambientes locais e na nuvem em conjunto.The tools provided in Azure allow for the implementation of a DevOps strategy that capably manages both cloud and on-premises environments in tandem.

A arquitetura baixa um SVG dessa arquitetura.Architecture Download an SVG of this architecture.

Fluxo de dadosData flow

  1. O GitHub Enterprise é usado como o repositório de código para o aplicativoGitHub Enterprise is used as the code repository for the application
  2. As solicitações pull disparam compilações CI e testes automatizados no Azure PipelinesPull Requests trigger CI builds and automated testing in Azure Pipelines
  3. O monitoramento contínuo com Azure Monitor se estende aos pipelines de lançamento para as versões de entrada ou reversão com base nos dados de monitoramentoContinuous monitoring with Azure Monitor extends to release pipelines to gate or rollback releases based on monitoring data
  4. Uma versão do Azure Pipelines integra a ferramenta Terraform, gerenciando a infraestrutura de nuvem e local como código, Provisionando recursos como aplicativos Web, VMs e bancos de dados do Azure em ambos os locaisA release on Azure Pipelines integrates the Terraform tool, managing both cloud and on-premises infrastructure as code, provisioning resources such as Azure Web Apps, VMs, and databases in both locations
  5. Azure Pipelines definir o CD (entrega contínua) para um ambiente de desenvolvimento na nuvem e liberar implantações para um ambiente de produção local.Azure Pipelines define both Continuous Delivery (CD) to a development environment in the cloud, and release deployments to an on-premises production environment.
  6. Azure Key Vault é usado para injetar com segurança segredos e credenciais em uma implantação, abstraindo segredos de desenvolvedoresAzure Key Vault is used to securely inject secrets and credentials into a deployment, abstracting secrets away from developers
  7. Azure Monitor pode ser configurado para o log Analytics de ambientes de nuvem e locais.Azure Monitor can be configured to log analytics from both the cloud and on-premises environments. Application Insights como parte do Azure Monitor pode ser conectado a aplicativos na nuvem e locais para monitoramentoApplication Insights as a part of Azure Monitor can be connected to both cloud and on-premises applications for monitoring
  8. O Azure AD na nuvem pode ser usado para fornecer serviços de identidade para o aplicativo, ambos em execução no Azure e no local.Azure AD in the cloud can be used to provide identity services for the application, both running on Azure and on-premises.

ComponentesComponents

  • Azure boards: Use o painel do Azure para planejar o trabalho e acompanhar seu progresso, usando ferramentas Agile, como quadros Kanban.Azure Boards: Use Azure Board to plan work and track its progress, using Agile tools such as Kanban boards.
  • O código-fonte é hospedado no GitHub Enterprise, no qual os desenvolvedores podem colaborar em sua organização e nas comunidades de software livre.Source code is hosted on GitHub Enterprise, where developers can collaborate within your organization and the open source communities. O 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.GitHub Enterprise offers advanced security features to identify vulnerabilities in the code you write and in open source dependencies.
  • 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.Azure Pipelines runs Continuous Integration and Continuous Delivery jobs for your application, as well as the creation of your infrastructure with the integration with Terraform.
  • Você pode usar Azure Key Vault para armazenar certificados, cadeias de conexão, tokens e outros segredos.You can use Azure Key Vault to store certificates, connection strings, tokens, and other secrets. Eles são lidos por seu aplicativo em tempo de execução, para que eles sejam extraídos de seus desenvolvedoresThese are read by your application at run-time, so they're abstracted away from your developers
  • O Terraform é um produto de terceiros desenvolvido pelo HashiCorp que permite a automação da infraestrutura no Azure, no local e em outros ambientesTerraform is a third-party product developed by HashiCorp that allows infrastructure automation on Azure, on-premises, and other environments
  • O uso de Azure monitor permite que você obtenha informações sobre a disponibilidade e o desempenho do seu aplicativo e da infraestrutura.Using Azure Monitor lets you get insights on the availability and performance of your application and infrastructure.
  • O Azure ad fornece serviços de gerenciamento de acesso e identidade para seu aplicativo, tanto localmente quanto na nuvem.Azure AD provides identity and access management services for your application, both on-premises and on the cloud. O Azure AD pode sincronizar com um Active Directory local para permitir que seus usuários se autentiquem em qualquer lugar.Azure AD can synchronize with an on-premises Active Directory to seamlessly allow your users to authenticate everywhere.
  • Os aplicativos Web do Azure são uma plataforma gerenciada para hospedar aplicativos baseados na Web na nuvem.Azure Web Apps is a managed platform for hosting web-based applications in the cloud.
  • O banco de dados SQL do Azure é um serviço de banco de dados gerenciado para aplicativos transacionais.Azure SQL Database is a managed database service for transactional applications.