Modello di scalabilità tra cloud (dati locali)
Informazioni su come creare un'app ibrida che si estende su Azure e Azure Stack Hub. Questo modello illustra anche come usare un'unica origine dati locale per la conformità.
Contesto e problema
Molte organizzazioni raccolgono e archiviano grandi quantità di dati sensibili dei clienti. Spesso sono impediti di archiviare dati sensibili nel cloud pubblico a causa di normative aziendali o criteri di governo. Tali organizzazioni vogliono anche sfruttare la scalabilità del cloud pubblico. Il cloud pubblico può gestire i picchi stagionali nel traffico, consentendo ai clienti di pagare esattamente l'hardware necessario, quando necessario.
Soluzione
La soluzione sfrutta i vantaggi di conformità del cloud privato, combinandoli con la scalabilità del cloud pubblico. Il cloud ibrido di Azure e Azure Stack Hub offre un'esperienza coerente per gli sviluppatori. Questa coerenza consente loro di applicare le proprie competenze sia agli ambienti cloud pubblici che locali.
La guida alla distribuzione della soluzione consente di distribuire un'app Web identica a un cloud pubblico e privato. È anche possibile accedere a una rete instradabile non Internet ospitata nel cloud privato. Le app Web vengono monitorate per il caricamento. Dopo un aumento significativo del traffico, un programma modifica i record DNS per reindirizzare il traffico al cloud pubblico. Quando il traffico non è più significativo, i record DNS vengono aggiornati per indirizzare il traffico al cloud privato.
Componenti
In questa soluzione vengono usati i componenti seguenti:
Livello | Componente | Descrizione |
---|---|---|
Azure | Servizio app di Azure | Servizio app di Azure consente di creare e ospitare app Web, app PER LE API RESTful e Funzioni di Azure. Tutto nel linguaggio di programmazione preferito, senza gestire l'infrastruttura. |
Rete virtuale di Azure |
Azure Rete virtuale (rete virtuale) è il blocco predefinito fondamentale per le reti private in Azure. La rete virtuale consente a più tipi di risorse di Azure, ad esempio macchine virtuali (VM), di comunicare in modo sicuro tra loro, internet e reti locali. La 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. - indirizzo IP pubblico. - connessione VPN da punto a sito. - DNS di Azure per ospitare domini DNS e fornire la risoluzione dei nomi. |
|
Gestione traffico di Azure | Gestione traffico di Azure è un servizio di bilanciamento del carico basato su DNS. Consente di controllare la distribuzione del traffico utente per gli endpoint di servizio in data center diversi. | |
Azure Application Insights | L'applicazione Insights è un servizio di gestione delle prestazioni delle applicazioni estendibile per sviluppatori Web che creano e gestiscono le app in più piattaforme. | |
Funzioni di Azure | Funzioni di Azure consente di eseguire il codice in un ambiente serverless senza dover prima creare una macchina virtuale o pubblicare un'app Web. | |
Scalabilità automatica di Azure | La scalabilità automatica è una funzionalità predefinita di Servizi cloud, macchine virtuali e app Web. La funzionalità consente alle app di eseguire al meglio le modifiche della domanda. Le app verranno modificate per i picchi di traffico, notificando quando le metriche cambiano e ridimensionano in base alle esigenze. | |
Hub di Azure Stack | Calcolo IaaS | L'hub di Azure Stack consente di usare lo stesso modello di app, il portale self-service e le API abilitate da Azure. Azure Stack Hub IaaS consente una vasta gamma di tecnologie open source per distribuzioni cloud ibride coerenti. L'esempio di soluzione usa una macchina virtuale server Windows per SQL Server, ad esempio. |
Servizio app di Azure | Analogamente all'app Web di Azure, la soluzione usa Servizio app di Azure nell'hub di Azure Stack per ospitare l'app Web. | |
Rete | L'hub di Azure Stack Rete virtuale funziona esattamente come il Rete virtuale di Azure. Usa molti degli stessi componenti di rete, inclusi i nomi host personalizzati. | |
Azure DevOps Services | Iscrizione | Configurare rapidamente l'integrazione continua per compilazione, test e distribuzione. Per altre informazioni, vedere Iscriversi, accedere a Azure DevOps. |
Azure Pipelines | Usare Azure Pipelines per il recapito continuo/integrazione continua. Azure Pipelines consente di gestire gli agenti e le definizioni di compilazione e rilascio ospitati. | |
Repository di codice | Sfruttare più repository di codice per semplificare la pipeline di sviluppo. Usare repository di codice esistenti in GitHub, Bitbucket, Dropbox, OneDrive e Azure Repos. |
Considerazioni e problemi
Prendere in considerazione i punti seguenti quando si decide come implementare questa soluzione:
Scalabilità
Azure e Azure Stack Hub sono particolarmente adatti per supportare le esigenze dell'azienda distribuita a livello globale.
Cloud ibrido senza problemi
Microsoft offre un'integrazione senza pari degli asset locali con l'hub di Azure Stack e Azure in una soluzione unificata. Questa integrazione elimina la difficoltà di gestire più soluzioni punto e una combinazione di provider di servizi cloud. Con la scalabilità tra cloud, la potenza di Azure è solo pochi clic. Connettere l'hub di Azure Stack ad Azure con il bursting cloud e i dati e le app saranno disponibili in Azure quando necessario.
- Eliminare la necessità di compilare e gestire un sito di ripristino di emergenza secondario.
- Risparmiare tempo e denaro eliminando il backup del nastro e ospitando fino a 99 anni di dati di backup in Azure.
- Eseguire facilmente l'esecuzione di carichi di lavoro Hyper-V, Fisici (in anteprima) e VMware (in anteprima) in Azure per sfruttare l'economia e l'elasticità del cloud.
- Eseguire report o analisi con utilizzo intensivo di calcolo in una copia replicata dell'asset locale in Azure senza influire sui carichi di lavoro di produzione.
- Eseguire carichi di lavoro locali nel cloud in Azure con modelli di calcolo più grandi quando necessario. L'ibrido offre la potenza necessaria, quando necessario.
- Creare ambienti di sviluppo a più livelli in Azure con pochi clic, anche replicare i dati di produzione live nell'ambiente di sviluppo/test per mantenerlo in tempo quasi in tempo reale.
Economia della scalabilità tra cloud con l'hub di Azure Stack
Il vantaggio principale per il bursting cloud è un risparmio economico. Si paga solo per le risorse aggiuntive quando è presente una richiesta per queste risorse. Nessuna spesa per capacità aggiuntiva non necessaria o cercare di prevedere i picchi di domanda e le fluttuazioni.
Ridurre i carichi di domanda elevata nel cloud
Il ridimensionamento tra cloud può essere usato per sostenere i carichi di elaborazione. Il carico viene distribuito spostando le app di base nel cloud pubblico, liberando risorse locali per le app business-critical. È possibile applicare un'app al cloud privato, quindi eseguire il burst nel cloud pubblico solo quando necessario per soddisfare le esigenze.
Disponibilità
La distribuzione globale ha le proprie sfide, ad esempio la connettività variabile e le diverse normative per enti pubblici in base all'area. Gli sviluppatori possono sviluppare solo un'app e quindi distribuirla in diversi motivi con requisiti diversi. Distribuire l'app nel cloud pubblico di Azure, quindi distribuire istanze o componenti aggiuntivi in locale. È possibile gestire il traffico tra tutte le istanze usando Azure.
Gestione
Un unico approccio di sviluppo coerente
Azure e l'hub di Azure Stack consentono di usare un set coerente di strumenti di sviluppo nell'organizzazione. Questa coerenza semplifica l'implementazione di una pratica di integrazione continua e sviluppo continuo (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 senza problemi.
Una pipeline CI/CD ibrida consente di:
- Avviare una nuova compilazione in base ai commit del codice nel repository di codice.
- Distribuire automaticamente il codice appena compilato in Azure per i test di accettazione utente.
- Dopo che il codice ha superato il test, eseguire automaticamente la distribuzione nell'hub di Azure Stack.
Una singola soluzione di gestione delle identità coerente
L'hub di Azure Stack funziona sia con Azure Active Directory (Azure AD) che con Active Directory Federation Services (ADFS). L'hub di Azure Stack funziona con Azure AD in scenari connessi. Per gli ambienti che non dispongono di connettività, è possibile usare ADFS come soluzione disconnessa. Le entità servizio vengono usate per concedere l'accesso alle app, consentendo loro di distribuire o configurare le risorse tramite Azure Resource Manager.
Sicurezza
Garantire la conformità e la sovranità dei dati
L'hub di Azure Stack consente di eseguire lo stesso servizio in più paesi come si farebbe se si usasse un cloud pubblico. La distribuzione della stessa app nei data center in ogni paese consente di soddisfare i requisiti di sovranità dei dati. Questa funzionalità garantisce che i dati personali vengano mantenuti entro i confini di ogni paese.
Hub di Azure Stack - Comportamento di sicurezza
Non esiste un comportamento di sicurezza senza un processo di manutenzione continuo solido. Per questo motivo, Microsoft ha investito in un motore di orchestrazione che applica patch e aggiornamenti senza problemi nell'intera infrastruttura.
Grazie alle partnership con i partner OEM dell'hub di Azure Stack, Microsoft estende la stessa postura di sicurezza ai componenti specifici dell'OEM, come l'host del ciclo di vita hardware e il software in esecuzione su di esso. Questa partnership garantisce che l'hub di Azure Stack abbia un comportamento di sicurezza uniforme e solido nell'intera infrastruttura. A sua volta, i clienti possono creare e proteggere i carichi di lavoro delle app.
Uso di entità servizio tramite PowerShell, interfaccia della riga di comando e portale di Azure
Per concedere alle risorse l'accesso 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 e consente di:
- Assegnare le autorizzazioni all'identità dell'app diverse dalle proprie autorizzazioni e sono limitate esattamente alle esigenze dell'app.
- Usare un certificato per l'autenticazione in caso di esecuzione di 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.
Quando usare questo modello
- L'organizzazione sta usando un approccio DevOps o ne ha pianificato uno per il prossimo futuro.
- Si vogliono implementare procedure CI/CD nell'implementazione dell'hub di Azure Stack e nel cloud pubblico.
- Si vuole consolidare la pipeline CI/CD tra ambienti cloud e locali.
- Voglio la possibilità di sviluppare app senza problemi usando servizi cloud o locali.
- Si vogliono sfruttare competenze per sviluppatori coerenti 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.
- I componenti locali sono disponibili e si vuole usare il cloud per ridimensionarli senza problemi.
- Si vuole la scalabilità del cloud, ma si vuole che l'app sia eseguita in locale il più possibile.
Passaggi successivi
Per altre informazioni sugli argomenti introdotti in questo articolo:
- Guardare Ridimensionare dinamicamente le app tra data center e cloud pubblico per una panoramica del modo in cui viene usato questo modello.
- Per altre informazioni sulle procedure consigliate e per rispondere ad altre domande, vedere Considerazioni sulla progettazione di app ibride .
- Questo modello usa la famiglia di prodotti Azure Stack, incluso l'hub di Azure Stack. Vedere la famiglia di prodotti e le soluzioni di Azure Stack per altre informazioni sull'intero portfolio di prodotti e soluzioni.
Quando si è pronti per testare l'esempio di soluzione, continuare con la guida alla distribuzione della soluzione di scalabilità tra cloud (dati locali). Questa guida contiene istruzioni dettagliate per la distribuzione e il test dei componenti.