Questa architettura combina Blockchain Automation Framework (BAF) open source e Kubernetes abilitato per Azure Arc per lavorare con DLL multiparty e per creare una soluzione blockchain tra cloud.
Architettura
Questa soluzione offre una rete DLT eterogenea, multiparty e indipendente dal cloud. Ogni entità può eseguire autonomamente l'hosting dei nodi e fare comunque parte della rete.
Workflow
Kubernetes è l'infrastruttura standard in cui viene eseguito l'hosting del libro mastro e dell'applicazione. Questo esempio presuppone tre cluster Kubernetes gestiti.
- L'entità A usa il servizio Azure Kubernetes.
- L'entità B usa GCP GKE (Google Kubernetes Engine).
- L'entità C usa Amazon Elastic Kubernetes Service (EKS).
Ogni entità esegue l'hosting dei propri nodi in una posizione diversa.
Il framework BAF distribuisce la rete tra i tre servizi cloud.
Kubernetes con abilitazione per Azure Arc gestisce e monitorizza in modo centralizzato tutti i cluster Kubernetes tramite:
Azure DevOps offre funzionalità di gestione del ciclo di vita dell'applicazione e dell'infrastruttura. Un controller Ansible in una macchina virtuale Linux di Azure ricopre il ruolo di agente personalizzato di integrazione continua e recapito continuo di Azure DevOps.
Registro Azure Container archivia e condivide immagini private del contenitore correlate all'applicazione. Il registro Docker estrae quindi immagini specifiche del libro mastro.
Componenti
Kubernetes è l'infrastruttura basata su contenitori in cui viene eseguito l'hosting del libro mastro e dell'applicazione. In questo esempio si presuppone la presenza di tre cluster Kubernetes gestiti, uno per ciascun servizio: AKS, Amazon EKS e GKE GCP. È possibile eseguire l'hosting dei cluster Kubernetes in pressoché tutte le posizioni pubbliche o private.
Il framework BAF (Blockchain Automation Framework) open source consente di distribuire in modo coerente tecnologie DLT pronte per la produzione in infrastrutture cloud pubbliche e private. Supporta le tecnologie DLT Quorum, Corda e Hyperledger.
Azure Arc applica standard comuni di visibilità, operatività e conformità su più risorse e posizioni estendendo il piano di controllo di Azure.
Kubernetes con abilitazione per Azure Arc gestisce in modo centralizzato tutti i cluster Kubernetes, indipendentemente dalla posizione in cui si trovano. Supporta qualsiasi cluster Kubernetes con certificazione CNCF (Cloud Native Computing Foundation), tra cui:
- Motore del servizio AKS in Azure
- Motore del servizio AKS nell'hub di Azure Stack
- Amazon EKS
- GCP GKE
- VMWare vSphere
Monitoraggio di Azure è una soluzione completa per la raccolta, l'analisi e l'esecuzione di operazioni sui dati di telemetria. Informazioni dettagliate sul contenitore del Monitoraggio di Azure monitorizza le prestazioni dei carichi di lavoro dei contenitori distribuiti nei cluster Kubernetes con abilitazione per Azure Arc.
Criteri di Azure consente di imporre standard aziendali e di valutare la conformità su larga scala. Criteri di Azure per Kubernetes può gestire e segnalare lo stato di conformità di tutti i cluster Kubernetes con abilitazione per Azure Arc.
Registro Azure Container può creare, archiviare e gestire immagini e artefatti di contenitori per tutti i tipi di distribuzioni di contenitori.
Azure DevOps è un set di servizi per sviluppatori che offrono 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.
Alternative
Gateway API Ambassador gestisce le comunicazioni tra nodi, ma è possibile usare anche un gateway API nativo del cloud come Gestione API di Azure tramite Internet. Per altre informazioni, vedere Distribuire nel servizio Azure Kubernetes.
È anche possibile usare ExternalDNS con il servizio DNS di Azure.
È possibile ottenere connessioni private IPSec (Internet Protocol Security) con strumenti come Submariner.
Dettagli dello scenario
Le reti blockchain e DLT (Distributed Ledger Technology) sono sistemi multiparty. in cui è possibile che ogni entità disponga di strumenti, metodologie e provider di servizi cloud propri. È possibile che le reti blockchain pubbliche o private di alcuni provider presentino dei limiti in termini di disponibilità a livello di area, scalabilità o separazione delle reti.
Il framework BAF (Blockchain Automation Framework) open source consente di distribuire in modo coerente tecnologie DLT pronte per la produzione in diversi cloud pubblici e privati. Il framework BAF è in grado di gestire le distribuzioni, ma non fornisce alcuna funzione centrale di gestione e monitoraggio dell'infrastruttura. Questa funzione viene fornita dai servizi blockchain di alcuni provider di servizi cloud, per i quali potrebbe essere tuttavia necessario che tutte le entità si trovino nello stesso cloud o nella stessa infrastruttura.
Per poter unire le forze e creare una rete blockchain, le entità che usano provider di servizi cloud e infrastrutture differenti devono quindi disporre di una piattaforma di gestione comune, in grado di offrire gli stessi standard di visibilità, operatività e conformità in un'ampia gamma di risorse e postazioni, indipendentemente dall'infrastruttura di hosting.
Questo articolo illustra come il framework BAF e Kubernetes con abilitazione per Azure Arc consentano di creare una soluzione blockchain tra cloud incentrata sulla portabilità e sul controllo.
Potenziali casi d'uso
Questo approccio supporta:
Distribuzioni DLT eterogenee in cui ogni nodo è di proprietà e gestito da organizzazioni diverse.
Gestione centralizzata di DevOps, monitoraggio e conformità tra reti multiparty.
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.
Per informazioni sulle procedure consigliate per il servizio Azure Kubernetes, vedere Architettura di base per un cluster del servizio Azure Kubernetes, in cui è possibile trovare informazioni analoghe anche per altri provider di servizi cloud.
Disponibilità e scalabilità
Sebbene Azure Arc sia in grado di gestire e monitorare cluster Kubernetes, ogni cluster deve implementare autonomamente le funzioni di scalabilità, disponibilità elevata e ripristino di emergenza.
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.
BAF usa l'insieme di credenziali HashiCorp per l'archiviazione di certificati e chiavi. Per usare il framework BAF, pertanto, è necessario almeno un server di insiemi di credenziali. BAF consiglia un insieme di credenziali per ogni organizzazione per i progetti pronti per la produzione.
Ottimizzazione dei costi
L'ottimizzazione dei costi riguarda l'analisi dei modi per ridurre le spese non necessarie e migliorare l'efficienza operativa. Per altre informazioni, vedere Panoramica del pilastro di ottimizzazione dei costi.
Per stimare i costi per le risorse di Azure, usare il Calcolatore prezzi di Azure.
Distribuire lo scenario
- Per questo esempio, creare cluster Kubernetes gestiti nel servizio Azure Kubernetes, GKE ed EKS ed eseguire l'onboarding dei cluster in Azure Arc.
- Seguire la procedura per l'installazione e la configurazione dei prerequisiti del framework BAF.
- (Facoltativo) Creare un'organizzazione e un progetto Azure DevOps e clonare il repository BAF nel nuovo progetto Azure DevOps.
- (Facoltativo) Creare una macchina virtuale del controller Ansible in Azure come agente di compilazione personalizzato per distribuire i componenti del framework BAF.
Collaboratori
Questo articolo viene gestito da Microsoft. Originariamente è stato scritto dai seguenti contributori.
Autore principale:
- Safi Ali | Senior Cloud Solution Architect
Per visualizzare i profili LinkedIn non pubblici, accedere a LinkedIn.
Passaggi successivi
- Risorse introduttive per Azure Arc
- Distribuire Hyperledger Fabric per consorzi nel servizio Azure Kubernetes
- Flusso di lavoro CI/CD con GitOps - Kubernetes con abilitazione per Azure Arc
Risorse correlate
- Architettura di base per un cluster del servizio Azure Kubernetes (servizio Azure Kubernetes AKS)
- Applicazione del flusso di lavoro blockchain
- Gestione e distribuzione ibrida di Azure Arc per i cluster Kubernetes
- Contenitori e agenti di orchestrazione per professionisti di Amazon Web Services
- Contenitori e agenti di orchestrazione per professionisti di GCP