Zona di destinazione per HPC

La metodologia Ready di Cloud Adoption Framework per Azure consente di preparare l'ambiente per l'adozione del cloud. Durante la fase di preparazione, è possibile usare una zona di destinazione di Azure. Una zona di destinazione è un acceleratore tecnico che fornisce il blocco predefinito di base per qualsiasi ambiente di adozione del cloud. Una zona di destinazione può automatizzare la configurazione dell'ambiente Azure, allineandosi alle linee guida sulle procedure consigliate di Cloud Adoption Framework. Durante la preparazione per hpc (High Performance Computing), è possibile che si verifichino configurazioni di ambiente che dipendono dal caso d'uso e dai requisiti del settore.

Architettura concettuale della zona di destinazione di Azure

Quando si prepara l'ambiente per l'adozione prolungata del cloud, è possibile usare un'architettura concettuale della zona di destinazione di Azure che rappresenta uno stato finale di destinazione. Per HPC sono disponibili più riferimenti all'architettura concettuale basati sui tre settori attualmente affrontati da Cloud Adoption Framework:

Prendere in considerazione questi riferimenti all'architettura durante lo sviluppo di una visione a lungo termine per la zona di destinazione. Questi riferimenti forniscono un punto di partenza. In base ai requisiti aziendali dell'organizzazione e alle esigenze degli utenti finali, potrebbe essere necessario modificarli.

Valutazione per HPC

Le decisioni prese durante la valutazione strategica dell'impatto e la pianificazione tecnica influenzano la configurazione della zona di destinazione scelta per le distribuzioni HPC in Azure. È consigliabile considerare le domande seguenti:

  • Quanto è maturo l'ambiente in Azure? È nella fase di verifica del concetto? Oppure è già un'applicazione matura che serve gli utenti? A seconda della fase, è possibile includere o omettere governance, sicurezza o organizzazione delle risorse.
  • L'applicazione che si sta creando in Azure di breve durata o in un progetto di lunga durata? La risposta a questa domanda consente di scegliere le opzioni di calcolo e archiviazione.
  • L'organizzazione richiede che gli utenti accevano alle risorse di Azure a vari livelli?

Come si può vedere da queste domande, il modello di distribuzione varia a seconda dell'utilizzo aziendale, del settore e dell'applicazione.

Accelerazione della zona di destinazione di Azure per HPC

Azure Batch e Azure CycleCloud sono entrambi servizi di prima parte forniti da Azure, mentre Azure HPC OnDemand Platform (AzHOP) è un'automazione basata su Azure Cycle Cloud che offre un meccanismo di distribuzione end-to-end per una soluzione di cluster HPC completa in Azure.

Azure Batch

  • Batch è progettato per eseguire processi batch paralleli e HPC su larga scala in modo efficiente in Azure.
  • Batch crea e gestisce un pool di nodi di calcolo o macchine virtuali. È anche possibile usare Batch per installare le applicazioni da eseguire e pianificare l'esecuzione dei processi nei nodi.
  • Non è necessario installare, gestire o dimensionare cluster o software di pianificazione dei processi.
  • Batch funziona bene con carichi di lavoro intrinsecamente paralleli. Questi carichi di lavoro dispongono di applicazioni che possono essere eseguite in modo indipendente, con ogni istanza che completa parte del lavoro.
  • È anche possibile usare Batch per eseguire carichi di lavoro strettamente associati, in cui le applicazioni eseguite devono comunicare tra loro anziché eseguire in modo indipendente.
  • Le attività batch possono essere eseguite direttamente nelle macchine virtuali o nei nodi in un pool di Batch. Ma è anche possibile configurare un pool di Batch per eseguire attività nei contenitori compatibili con Docker nei nodi.

Azure CycleCloud

  • Supporta diverse utilità di pianificazione HPC, ad esempio SLURM, OpenPBS, PBSPro, LSF, Grid Engine e HTCondor12.
  • Consente di effettuare il provisioning dell'infrastruttura per sistemi HPC, ad esempio macchine virtuali, set di scalabilità, interfacce di rete e dischi.
  • Ridimensiona automaticamente l'infrastruttura per eseguire i processi in modo efficiente su qualsiasi scala in base ai requisiti di carico, disponibilità e tempo del processo.
  • Offre un formato avanzato, dichiarativo e di creazione di modelli per costruire ambienti HPC completi in Azure.
  • Si integra con i servizi di Azure, ad esempio Monitoraggio di Azure e strumenti di Gestione costi Microsoft.

AzHop

  • AzHop fornisce un meccanismo di distribuzione end-to-end per un'infrastruttura HPC di base in Azure che usa CycleCloud per orchestrare i processi.
  • Offre una soluzione di cluster HPC completa pronta per consentire agli utenti di eseguire applicazioni in ed è facile per gli amministratori HPC di distribuire e gestire.
  • AzHop usa diverse applicazioni predefinite che è possibile usare "così come sono", oppure è possibile personalizzare ed estendere facilmente per soddisfare qualsiasi requisito non soddisfatto.
  • Include un portale Open OnDemand per l'accesso utente unificato, l'accesso alla shell remota, l'accesso alla visualizzazione remota, l'invio di processi, l'accesso ai file e altro ancora.
  • Usa Active Directory per l'autenticazione utente e il controllo del dominio.
  • Usa OpenPBS o Simple Linux Utility for Resource Management (SLURM) come utilità di pianificazione dei processi.
  • Il provisioning e la scalabilità automatica delle risorse dinamiche vengono eseguiti dalle code di processi preconfigurate CycleCloud e dai controlli di integrità integrati per evitare rapidamente nodi non ottimali.
  • Azure NetApp Files offre un file system condiviso per la home directory e le applicazioni.

Grafico di confronto

Funzionalità Azure Batch Azure CycleCloud
Utilità di pianificazione Sono disponibili API e strumenti batch. È anche possibile usare script della riga di comando nativi del cloud nel portale di Azure. È possibile usare utilità di pianificazione HPC standard, ad esempio SLURM, OpenPBS, PBSPro, LSF, Grid Engine e HTCondor. In alternativa, è possibile estendere i plug-in di scalabilità automatica di Azure CycleCloud per lavorare con un'utilità di pianificazione personalizzata.
Risorse di calcolo Nodi SaaS (Software as a Service): piattaforma distribuita come servizio (PaaS). Software PaaS: PaaS.
Strumenti di monitoraggio Monitoraggio di Azure. Monitoraggio di Azure e Grafana.
Personalizzazione È possibile usare pool di immagini personalizzati, immagini di terze parti o accesso all'API Batch. È possibile usare l'API RESTful completa per personalizzare ed estendere le funzionalità, distribuire un'utilità di pianificazione personalizzata e supportare i gestori dei carichi di lavoro esistenti.
Integrazione Pipeline di Azure Synapse Analytics, Azure Data Factory e l'interfaccia della riga di comando di Azure. Interfaccia della riga di comando predefinita per Windows e Linux.
Tipo di utente Sviluppatori. Amministratori e utenti HPC classici.
Tipo di lavoro Batch e flussi di lavoro. Flussi di lavoro strettamente associati che usano l'interfaccia MPI (Message Passing Interface).
Supporto Windows Fornito. Dipende dalla scelta dell'utilità di pianificazione.

Azure CycleCloud e Azure Batch sono strumenti potenti per le attività HPC in Azure, ma sono progettati per casi d'uso diversi.

Azure CycleCloud è uno strumento aziendale per orchestrare e gestire ambienti HPC in Azure. È destinato agli amministratori e agli utenti HPC che vogliono distribuire un ambiente HPC tenendo presente un'utilità di pianificazione specifica. Azure CycleCloud offre potenti strumenti per costruire ambienti HPC completi in Azure, inclusi server NFS (Network File Sharing), file system paralleli, host di accesso, server licenze e servizi directory. È utile per le organizzazioni che hanno gestito ambienti HPC per un po' e hanno accumulato anni di esperienza e strumenti interni per un'utilità di pianificazione specifica.

Al contrario, Batch è destinato principalmente a sviluppatori e team che creano una funzionalità nel proprio prodotto o servizio. Batch include un'utilità di pianificazione personalizzata ed è progettata per eseguire processi paralleli su larga scala in modo efficiente senza software del cluster o dell'utilità di pianificazione dei processi. Batch è utile quando non è necessario gestire un'utilità di pianificazione del carico di lavoro.

In sintesi, usare Azure CycleCloud quando si vuole distribuire un ambiente HPC con un'utilità di pianificazione specifica e occorre un ambiente HPC completo. Usare Batch quando si sviluppa un prodotto o un servizio che richiede un'elaborazione parallela su larga scala e non si vuole gestire un'utilità di pianificazione del carico di lavoro.

Passaggi successivi

  • Esaminare le dimensioni delle macchine virtuali a prestazioni elevate disponibili.
  • Dopo aver preparato la zona di destinazione HPC, iniziare a esaminare la migrazione.
  • Vedere l'acceleratore globale della zona di destinazione HPC.