Ridimensionamento tra cloud - dati locali

Hub di Azure Stack
Macchine virtuali di Azure
Rete virtuale di Azure
Gateway VPN di Azure
Servizio app di Azure

Questa soluzione illustra come creare un'app ibrida che sfrutta i vantaggi seguenti:

  • Scalabilità della piattaforma cloud pubblico di Azure.
  • Vantaggi della conformità della piattaforma cloud privato dell'hub di Azure Stack.

Architettura

Diagram that shows an architecture for a hybrid app that spans Azure and Azure Stack Hub.

Scaricare un file di Visio di questa architettura.

Flusso di dati

  1. I server di compilazione di Azure Pipelines che si trovano nell'ambiente locale dell'hub di Azure Stack e nel cloud distribuiscono la stessa versione dell'app nei rispettivi ambienti. L'ambiente cloud non include un archivio dati. Entrambe le istanze dell'app sono configurate per connettersi allo stesso archivio dati locale.
  2. Le app Web vengono monitorate per il caricamento. Quando si verifica un aumento significativo del traffico, un'applicazione modifica i record DNS per reindirizzare il traffico al cloud pubblico. Quando il traffico non è più elevato, i record DNS vengono aggiornati per indirizzare il traffico al cloud privato.
  3. Un client invia una richiesta all'applicazione. Gestione traffico di Azure elabora la richiesta e la indirizza a uno degli ambienti dell'app.
  4. Con carico normale, la richiesta client viene instradata all'istanza dell'app ospitata in locale nell'hub di Azure Stack.
  5. L'app locale si connette all'archivio dati locale, in base alle esigenze.
  6. Con carico elevato, Gestione traffico instrada le richieste all'istanza cloud dell'app.
  7. L'istanza dell'app cloud elabora le richieste e si connette all'archivio dati locale in base alle esigenze tramite una connessione di sicurezza migliorata.

Componenti

  • app Azure Servizio consente di creare e ospitare app Web, app per le API RESTful e funzioni di Azure.

  • Rete virtuale di Azure rappresenta il blocco costitutivo delle reti private in Azure. Rete virtuale consente a più tipi di risorse di Azure, ad esempio macchine virtuali ,di comunicare tra loro, Internet e reti locali, con maggiore sicurezza. Questa soluzione illustra anche l'uso di componenti di rete aggiuntivi:

    • Subnet dell'app e del gateway.
    • Un gateway di rete locale.
    • Un gateway di rete virtuale che funge da connessione gateway VPN da sito a sito.
    • Un indirizzo IP pubblico.
    • Connessione VPN da punto a sito.
    • DNS di Azure per ospitare domini DNS e per fornire la risoluzione dei nomi.
  • Gestione traffico è un servizio di bilanciamento del carico basato su DNS. È possibile usarlo per controllare la distribuzione del traffico utente verso gli endpoint di servizio in data center diversi.

  • Application Insights è un servizio estendibile di gestione delle prestazioni delle applicazioni per sviluppatori Web che creano e gestiscono app su più piattaforme.

  • Funzioni di Azure consente di eseguire codice in un ambiente serverless senza dover prima creare una macchina virtuale o pubblicare un'app Web.

  • L'hub di Azure Stack è un'estensione di Azure che può eseguire carichi di lavoro in un ambiente locale fornendo servizi di Azure.

    • È possibile usare l'hub di Azure Stack per fornire lo stesso modello di app, il portale self-service e le API fornite da Azure. IaaS dell'hub di Azure Stack supporta un'ampia gamma di tecnologie open source per distribuzioni cloud ibride coerenti. Questa soluzione usa una macchina virtuale Windows Server per ospitare, ad esempio, SQL Server.
    • La soluzione usa app Azure Servizio nell'hub di Azure Stack per ospitare l'app Web in entrambi gli ambienti.
    • La rete virtuale dell'hub di Azure Stack funziona esattamente come la rete virtuale di Azure. Usa molti degli stessi componenti di rete, inclusi i nomi host personalizzati.
  • Azure DevOps è un set di servizi per sviluppatori che offre una gestione completa del ciclo di vita dell'applicazione e dell'infrastruttura. Azure DevOps include soluzioni di rilevamento del lavoro, controllo del codice sorgente, compilazione e CI/CD, gestione dei pacchetti e test.

  • Azure Pipelines è un servizio che fornisce CI/CD. È possibile usarlo per gestire gli agenti e le definizioni di compilazione e rilascio ospitati. La pipeline di sviluppo può usare vari repository di codice, tra cui GitHub, Bitbucket, Dropbox, OneDrive e Azure Repos.

Alternative

  • Per le applicazioni Web, è possibile usare Frontdoor di Azure. Frontdoor di Azure funziona al livello 7, il livello HTTP/HTTPS. Usa il protocollo anycast con TCP diviso e la rete globale Microsoft per migliorare la connettività globale. Il metodo di routing può garantire che Frontdoor di Azure instrada le richieste client al back-end dell'applicazione più veloce e disponibile.
  • È possibile usare Azure ExpressRoute anziché Azure Gateway VPN. È possibile usare ExpressRoute per connettere la rete locale direttamente alle risorse di Azure usando una connessione di rete privata dedicata.
  • Se il repository si trova in GitHub, è possibile usare GitHub Actions anziché Azure Pipelines.

Dettagli dello scenario

Questa soluzione illustra come creare un'app ibrida che si estende su Azure e l'hub di Azure Stack. Usa una singola origine dati locale, che è un requisito di conformità per alcune organizzazioni.

Molte organizzazioni raccolgono e archiviano grandi quantità di dati sensibili dei clienti. Spesso non possono archiviare dati sensibili nel cloud pubblico a causa di normative aziendali o criteri governativi, ma potrebbero voler sfruttare la scalabilità del cloud pubblico. Il cloud pubblico può gestire picchi stagionali nel traffico, consentendo alle organizzazioni di pagare esattamente l'hardware di cui hanno bisogno, quando necessario.

La soluzione sfrutta i vantaggi di conformità del cloud privato e li combina con la scalabilità del cloud pubblico. La combinazione del cloud di Azure e del cloud ibrido dell'hub di Azure Stack offre un'esperienza coerente per gli sviluppatori. Questa coerenza consente loro di applicare le proprie competenze sia ai cloud pubblici che agli ambienti locali.

Questa soluzione consente di distribuire un'app Web identica in un cloud pubblico e privato. È anche possibile accedere a una rete instradabile non Internet ospitata nel cloud privato.

Potenziali casi d'uso

Questa soluzione è applicabile in scenari come i seguenti:

  • L'organizzazione usa un approccio DevOps o prevede di usarlo a breve.
  • Si vogliono implementare procedure di integrazione continua e recapito continuo (CI/CD) in un'implementazione dell'hub di Azure Stack e nel cloud pubblico.
  • Si vuole consolidare la pipeline CI/CD in ambienti cloud e locali.
  • Si vogliono sviluppare app usando servizi cloud e locali.
  • Si vuole che le competenze necessarie per gli sviluppatori siano le stesse nelle app cloud e locali.
  • Si usa Azure ma si hanno sviluppatori che lavorano in un cloud dell'hub di Azure Stack locale.
  • Le app locali riscontrano picchi di domanda durante fluttuazioni stagionali, cicliche o imprevedibili.
  • Sono disponibili componenti locali e si vuole usare il cloud per ridimensionarli.
  • Si vuole la scalabilità del cloud, ma si vuole che l'app sia eseguita in locale il più possibile.

Considerazioni

Queste considerazioni implementano i pilastri di Azure Well-Architected Framework, che è un set di set di principi guida che possono essere usati per migliorare la qualità di un carico di lavoro. Per altre informazioni, vedere Framework ben progettato di Microsoft Azure.

Affidabilità

L'affidabilità garantisce che l'applicazione possa soddisfare gli impegni che l'utente ha preso con i clienti. Per altre informazioni, vedere Panoramica del pilastro dell'affidabilità.

La distribuzione globale presenta problemi, ad esempio la connettività variabile e le normative governative che differiscono in base all'area. Gli sviluppatori possono creare una sola app e distribuirla in diverse aree con requisiti diversi. Distribuire l'app nel cloud pubblico di Azure e quindi distribuire istanze o componenti aggiuntivi in locale. È possibile gestire il traffico tra tutte le istanze usando Azure.

È importante pensare a come gestire le interruzioni di rete o di alimentazione. Per informazioni sul miglioramento della resilienza, vedere Resilienza e dipendenze, Procedure consigliate e altre linee guida sull'affidabilità di Microsoft Azure Well-Architected Framework.

Sicurezza

La sicurezza offre garanzie contro attacchi intenzionali e l'abuso di dati e sistemi preziosi. Per altre informazioni, vedere Panoramica del pilastro della sicurezza.

  • Conformità e sovranità dei dati. Con l'hub di Azure Stack è possibile eseguire lo stesso servizio in più paesi o aree geografiche quando si usa un cloud pubblico. La distribuzione della stessa app nei data center in ogni paese/area geografica consente di soddisfare i requisiti di sovranità dei dati. Questa funzionalità garantisce che i dati personali vengano conservati entro i confini di ogni paese/area geografica. Per altre indicazioni, vedere Conformità alle normative in Well-Architected Framework.

  • Comportamento di sicurezza dell'hub di Azure Stack. La sicurezza richiede un processo di manutenzione continuo e solido. Ecco perché Microsoft ha investito in un motore di orchestrazione che applica patch e aggiornamenti nell'intera infrastruttura. Grazie alle partnership con i partner OEM (Original Equipment Manufacturer) dell'hub di Azure Stack, Microsoft estende la stessa postura di sicurezza ai componenti specifici dell'OEM, ad esempio l'host del ciclo di vita hardware e il software in esecuzione. Queste partnership assicurano che l'hub di Azure Stack abbia un comportamento di sicurezza uniforme e solido nell'intera infrastruttura. A sua volta, è possibile compilare e proteggere i carichi di lavoro dell'app.

  • Uso di entità servizio tramite PowerShell, interfaccia della riga di comando e portale di Azure. Per fornire l'accesso alle risorse a uno script o a un'app, configurare un'identità per l'app e autenticare l'app con le proprie credenziali. Questa identità è nota come entità servizio. È possibile usare le entità servizio per:

    • Assegnare autorizzazioni all'identità dell'app diverse dalle autorizzazioni utente e limitate alle esigenze dell'app.
    • Usare un certificato per l'autenticazione quando si esegue uno script automatico. Per altre informazioni sulla creazione dell'entità servizio e sull'uso di un certificato per le credenziali, vedere Usare un'identità dell'app per accedere alle risorse.
  • Una singola soluzione di gestione delle identità coerente. L'hub di Azure Stack funziona sia con l'ID Microsoft Entra che con Active Directory Federation Services (AD FS). Funziona con Microsoft Entra ID in scenari connessi. Per gli ambienti che non dispongono di connettività, è possibile usare AD FS come soluzione disconnessa. Le entità servizio vengono usate per concedere l'accesso alle app, consentendo loro di distribuire o configurare risorse tramite Azure Resource Manager.

Eccellenza operativa

L'eccellenza operativa copre i processi operativi che distribuiscono un'applicazione e la mantengono in esecuzione nell'ambiente di produzione. Per altre informazioni, vedere Panoramica del pilastro dell'eccellenza operativa.

  • Un unico approccio di sviluppo coerente. Con Azure e l'hub di Azure Stack è possibile usare un set coerente di strumenti di sviluppo nell'organizzazione. Questa coerenza semplifica l'implementazione di CI/CD. Molte app e servizi distribuiti in Azure o nell'hub di Azure Stack sono intercambiabili e possono essere eseguiti in entrambe le posizioni.

    Una pipeline CI/CD ibrida consente di:

    • Avviare una nuova compilazione in base ai commit nel repository di codice.
    • Distribuire automaticamente il codice appena compilato in Azure per i test di accettazione utente.
    • Eseguire automaticamente la distribuzione nell'hub di Azure Stack dopo che il codice supera i test.

Vedere altre indicazioni nella sezione Progettazione delle versioni di Azure Well-Architected Framework.

Efficienza prestazionale

L'efficienza delle prestazioni è la capacità di dimensionare il carico di lavoro per soddisfare in modo efficiente le richieste poste dagli utenti. Per altre informazioni, vedere Panoramica dell'efficienza delle prestazioni.

Azure e l'hub di Azure Stack supportano le esigenze delle aziende distribuite a livello globale.

  • Cloud ibrido facile da gestire. Microsoft offre l'integrazione degli asset locali con l'hub di Azure Stack e Azure in una soluzione unificata. Questa integrazione elimina la sfida di gestire più soluzioni punto e una combinazione di provider di servizi cloud. Con il ridimensionamento tra cloud, è sufficiente connettere l'hub di Azure Stack ad Azure con bursting cloud per rendere disponibili i dati e le app in Azure.

    • Eliminare la necessità di compilare e gestire un sito di ripristino di emergenza secondario.
    • Risparmiare tempo e denaro eliminando il backup su nastro. Archiviare fino a 99 anni di dati di backup in Azure.
    • Eseguire la migrazione di carichi di lavoro Hyper-V, Fisici (in anteprima) e VMware (in anteprima) ad Azure per trarre vantaggio dall'economia e dall'elasticità del cloud.
    • Eseguire report o analisi a elevato utilizzo di calcolo su una copia replicata dell'asset locale in Azure senza separare i carichi di lavoro di produzione.
    • Eseguire un burst nel cloud ed eseguire carichi di lavoro locali in Azure, con modelli di calcolo più grandi quando necessario.
    • Creare ambienti di sviluppo a più livelli. Replicare i dati di produzione live nell'ambiente di sviluppo/test per mantenerli sincronizzati quasi in tempo reale.
  • Scalabilità tra cloud con l'hub di Azure Stack. Il vantaggio principale del bursting cloud è che consente di risparmiare denaro. Si paga per risorse aggiuntive solo quando sono richieste. Non è necessario spendere denaro su capacità aggiuntiva non necessaria o provare a prevedere picchi e fluttuazioni della domanda.

  • Elaborazione nel cloud. È possibile usare il ridimensionamento tra cloud per ridurre i carichi di lavoro di elaborazione. Lo spostamento delle app di base nel cloud pubblico distribuisce i carichi, liberando risorse locali per le app critiche per le aziende. È possibile distribuire un'app nel cloud privato ed eseguirne il burst nel cloud pubblico in base alle esigenze per soddisfare la domanda.

Collaboratori

Questo articolo viene gestito da Microsoft. Originariamente è stato scritto dai seguenti contributori.

Autore principale:

Questo articolo viene gestito da Microsoft. Originariamente è stato scritto dai seguenti contributori.

Passaggi successivi

  • Guardare Ridimensionare dinamicamente le app tra data center e cloud pubblico per una panoramica di un'architettura simile.
  • Per altre informazioni sulle procedure consigliate, vedere Considerazioni sulla progettazione di app ibride.
  • Informazioni sull'intero portfolio di prodotti e soluzioni di Azure Stack.
  • Iscriversi e accedere ad Azure DevOps per configurare l'integrazione continua per la compilazione, il test e la distribuzione.
  • Informazioni sulla scalabilità automatica, una funzionalità predefinita di servizi cloud, macchine virtuali e app Web. Consente alle app di eseguire in modo ottimale quando la domanda cambia. Le app si adattano ai picchi di traffico, notificando quando le metriche cambiano e ridimensionano in base alle esigenze.
  • Quando si è pronti per distribuire questa soluzione, usare la guida alla distribuzione della soluzione di scalabilità tra cloud (dati locali). Vengono fornite istruzioni dettagliate per la distribuzione e il test della soluzione.