DevOps in un ambiente ibrido

Azure Active Directory
Boards
Key Vault
Monitoraggio
Pipelines
Database SQL
App Web

In molti scenari l'adozione del cloud di Azure come soluzione aziendale implica la migrazione di un ambiente locale.In many scenarios, the adoption of the Azure cloud as a business solution involves the migration of an on-premises environment. Non è in genere consigliabile deprecare rapidamente l'ambiente locale e in molti casi l'ambiente locale dovrà essere mantenuto insieme all'ambiente cloud per un periodo di tempo 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. Gli strumenti disponibili in Azure consentono di implementare una strategia DevOps che abilmente gestisce in tandem sia gli ambienti cloud che locali.The tools provided in Azure allow for the implementation of a DevOps strategy that capably manages both cloud and on-premises environments in tandem.

L'architettura Scarica un SVG di questa architettura.Architecture Download an SVG of this architecture.

Flusso di datiData flow

  1. GitHub Enterprise viene usato come repository di codice per l'applicazioneGitHub Enterprise is used as the code repository for the application
  2. Le richieste pull attivano le compilazioni CI e i test automatizzati in Azure PipelinesPull Requests trigger CI builds and automated testing in Azure Pipelines
  3. Il monitoraggio continuo con monitoraggio di Azure estende le pipeline di rilascio alle versioni di controllo o di ripristino in base ai dati di monitoraggioContinuous monitoring with Azure Monitor extends to release pipelines to gate or rollback releases based on monitoring data
  4. Una versione di Azure Pipelines integra lo strumento di bonifica, gestendo l'infrastruttura cloud e locale come codice, effettuando il provisioning di risorse come app Web di Azure, macchine virtuali e database in entrambe le posizioniA 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 definire il recapito continuo (CD) a un ambiente di sviluppo nel cloud e rilasciare le distribuzioni in un ambiente di produzione locale.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 viene usato per inserire in modo sicuro segreti e credenziali in una distribuzione, astrarre i segreti dagli sviluppatoriAzure Key Vault is used to securely inject secrets and credentials into a deployment, abstracting secrets away from developers
  7. È possibile configurare monitoraggio di Azure per log Analytics sia dal cloud che dagli ambienti locali.Azure Monitor can be configured to log analytics from both the cloud and on-premises environments. Application Insights come parte di monitoraggio di Azure può essere connesso alle applicazioni cloud e locali per il monitoraggioApplication Insights as a part of Azure Monitor can be connected to both cloud and on-premises applications for monitoring
  8. Azure AD nel cloud può essere usato per fornire servizi di identità per l'applicazione, sia in esecuzione in Azure che in locale.Azure AD in the cloud can be used to provide identity services for the application, both running on Azure and on-premises.

ComponentiComponents

  • Azure Boards: usare Azure Board per pianificare il lavoro e tenere traccia dello stato di avanzamento, usando strumenti agile come le lavagne Kanban.Azure Boards: Use Azure Board to plan work and track its progress, using Agile tools such as Kanban boards.
  • Il codice sorgente è ospitato in GitHub Enterprise, in cui gli sviluppatori possono collaborare all'interno dell'organizzazione e alle community open source.Source code is hosted on GitHub Enterprise, where developers can collaborate within your organization and the open source communities. GitHub Enterprise offre funzionalità di sicurezza avanzate per identificare le vulnerabilità nel codice scritto e nelle dipendenze open source.GitHub Enterprise offers advanced security features to identify vulnerabilities in the code you write and in open source dependencies.
  • Azure Pipelines esegue processi di integrazione continua e recapito continuo per l'applicazione, nonché la creazione dell'infrastruttura con l'integrazione con la bonifica.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.
  • È possibile usare Azure Key Vault per archiviare certificati, stringhe di connessione, token e altri segreti.You can use Azure Key Vault to store certificates, connection strings, tokens, and other secrets. Queste informazioni vengono lette dall'applicazione in fase di esecuzione, in modo che siano astratte dagli sviluppatoriThese are read by your application at run-time, so they're abstracted away from your developers
  • La bonifica è un prodotto di terze parti sviluppato da HashiCorp che consente l'automazione dell'infrastruttura in Azure, in locale e in altri ambientiTerraform is a third-party product developed by HashiCorp that allows infrastructure automation on Azure, on-premises, and other environments
  • Con monitoraggio di Azure è possibile ottenere informazioni dettagliate sulla disponibilità e sulle prestazioni dell'applicazione e dell'infrastruttura.Using Azure Monitor lets you get insights on the availability and performance of your application and infrastructure.
  • Azure ad fornisce servizi di gestione delle identità e degli accessi per l'applicazione, sia in locale che nel cloud.Azure AD provides identity and access management services for your application, both on-premises and on the cloud. Azure AD possibile eseguire la sincronizzazione con una Active Directory locale per consentire agli utenti di eseguire l'autenticazione in qualsiasi luogo.Azure AD can synchronize with an on-premises Active Directory to seamlessly allow your users to authenticate everywhere.
  • App Web di Azure è una piattaforma gestita per l'hosting di applicazioni basate sul Web nel cloud.Azure Web Apps is a managed platform for hosting web-based applications in the cloud.
  • Il database SQL di Azure è un servizio di database gestito per le applicazioni transazionali.Azure SQL Database is a managed database service for transactional applications.