Pianificare la migrazione HPC locale al cloud

Il termine “Lift-and-shift” nel contesto dell'High-Performance Computing (HPC) si riferisce principalmente al processo di migrazione di un ambiente e di un carico di lavoro locale al cloud. L'ideale sarebbe ridurre al minimo le modifiche (ad esempio, le applicazioni, i pianificatori di processi e le relative configurazioni dovrebbero rimanere per lo più invariate). È naturale che si verifichino modifiche a livello di archiviazione e sull'hardware, perché le risorse sono diverse dalle piattaforme locali e da quelle cloud. Con l'approccio lift-and-shift, le organizzazioni possono iniziare a trarre vantaggio dal cloud più rapidamente.

La figura seguente rappresenta un tipico cluster HPC locale in un ambiente di produzione, spesso fornito dal produttore dell'hardware. Tale ambiente locale include un set di nodi di calcolo, che possono essere usati o meno con immagini di macchine virtuali e contenitori. Tali nodi eseguono carichi di lavoro gestiti da un pianificatore di processi, che può essere Slurm, PBS o LSF. I carichi di lavoro provengono da più utenti a cui è associata la gestione delle identità. In genere sono presenti directory home, dischi scratch e archiviazione a lungo termine. Sono disponibili anche alcune forme di monitoraggio per controllare le prestazioni dei processi e l'integrità dei nodi di calcolo. Gli utenti possono accedere all'ambiente tramite riga di comando, browser o qualche tipo di tecnologia di visualizzazione remota. L'intero ambiente è ospitato in una rete privata, quindi gli utenti dispongono di un meccanismo per accedere alla struttura informatica, tramite VPN o portale.

Diagramma che illustra l'architettura dell'ambiente locale esistente.

Come illustrato in questo documento, l'ambiente nel cloud che segue il modello Infrastructure-as-a-Service, concettualmente, non è poi così diverso. Alcune tecnologie richiedono degli aggiornamenti e sono necessari alcuni passaggi durante la migrazione dall'ambiente locale al cloud.

Questo documento pertanto:

  • Esamina le opzioni per il processo di migrazione;
  • Fornisce indicazioni sui prodotti e sulle procedure consigliate per ogni componente;
  • E fornisce consigli per evitare insidie durante il processo.

Prima di passare alla descrizione dell'architettura, è importante comprendere i diversi personaggi in questo contesto, le loro esigenze e aspettative.

Personas ed esperienza utente

Esistono persone diverse che hanno bisogno di accedere all'ambiente HPC. Le loro attività e il modo in cui interagiscono con l'ambiente variano notevolmente.

Utente finale (ingegnere/scienziato/ricercatore)

Questa persona rappresenta l'esperto in materia (ad esempio, biologo, fisico, ingegnere, ecc.) che vuole eseguire esperimenti (ovvero inviare processi) e analizzare i risultati. Gli utenti finali interagiscono con gli amministratori di sistema per ottimizzare l'ambiente di elaborazione quando necessario. Potrebbero avere un'esperienza nell'uso di strumenti basati sull'interfaccia della riga di comando, ma alcuni di loro potrebbero affidarsi solo a portali Web o a interfacce utente grafiche tramite VDI per inviare i loro processi e interagire con i risultati generati.

Nuove responsabilità nell'ambiente cloud HPC:

  • L'utente finale non dovrebbe avere nuove responsabilità sulla base del lavoro svolto sia dall'amministratore HPC che dall'amministratore cloud. A seconda dell'ambiente locale, gli utenti finali hanno accesso a una maggiore capacità e a una varietà di risorse di elaborazione per diventare più produttivi.

Amministratore HPC

Questo utente tipo rappresenta la persona che ha competenze in materia di HPC ed è responsabile dell'implementazione dell'infrastruttura di elaborazione iniziale e del suo adattamento in base alle esigenze aziendali e degli utenti finali. Questa persona è anche responsabile della verifica dell'integrità del sistema e della risoluzione dei problemi. Gli amministratori HPC sono in grado di accedere all'architettura e ai relativi componenti tramite interfaccia della riga di comando, SDK e portali Web. Sono anche il primo punto di contatto quando gli utenti finali devono affrontare qualsiasi sfida con l'ambiente di elaborazione.

Nuove responsabilità nell'ambiente cloud HPC:

  • Gestione di risorse e servizi cloud (ad esempio, macchine virtuali, archiviazione, reti) tramite piattaforme di gestione cloud.
  • Implementazione e gestione di cluster e risorse tramite nuovi strumenti di orchestrazione delle risorse (ad esempio, CycleCloud).
  • Ottimizzazione della distribuzione delle applicazioni tramite la comprensione dei dettagli dell'infrastruttura (ovvero tipi di macchine virtuali, archiviazione e le opzioni di rete).
  • Ottimizzare l'uso delle risorse e i costi tramite funzionalità specifiche del cloud, come la scalabilità automatica e le istanze spot.

Amministratore cloud

Questo utente tipo collabora con l'amministratore HPC per contribuire alla distribuzione e alla manutenzione dell'infrastruttura di calcolo. Questo utente tipo non è (necessariamente) un esperto di HPC, ma un esperto di Cloud con una profonda conoscenza dell'infrastruttura IT aziendale complessiva, tra cui le configurazioni/criteri di rete, i diritti di accesso utente e i dispositivi utente. A seconda dei casi, l'amministratore HPC e l'amministratore cloud possono essere la stessa persona.

Nuove responsabilità nell'ambiente cloud HPC:

  • Collaborare con gli amministratori HPC per garantire la perfetta integrazione dei carichi di lavoro HPC con l'infrastruttura cloud.
  • Monitoraggio e gestione delle prestazioni, della sicurezza e della conformità dell'infrastruttura cloud.
  • Supporto della configurazione di soluzioni di rete e di archiviazione basate su cloud per supportare i carichi di lavoro HPC.

Responsabile aziendale/proprietario

Questo utente tipo rappresenta il responsabile dell'azienda che si occupa del budget e dei progetti per raggiungere gli obiettivi dell'organizzazione. Per questo utente tipo, il componente contabile dell'architettura è importante per comprendere i costi di ogni progetto. Questo utente tipo collabora con gli amministratori HPC e gli utenti finali per comprendere le esigenze della piattaforma, tra archiviazione, rete e risorse di calcolo. Pianificano anche i carichi di lavoro futuri.

Nuove responsabilità nell'ambiente cloud HPC:

  • Analisi di report dettagliati sui costi e metriche di utilizzo forniti dai provider di servizi cloud per gestire i budget e prevedere le spese.
  • Prendere decisioni strategiche basate sull'utilizzo delle risorse cloud e sulle opportunità di ottimizzazione dei costi.
  • Pianificare e approvare gli investimenti nell'infrastruttura cloud per supportare i futuri carichi di lavoro HPC e gli obiettivi aziendali.

Panoramica dell'architettura lift-and-shift

Diagramma che illustra l'architettura HPC Cloud di destinazione.

Un ambiente HPC di produzione nel cloud comprende diversi componenti. Per gestire un ambiente sono necessari alcuni componenti di base, ad esempio un pianificatore di processi, un provider di risorse, un puntatore di ingresso per consentire all'utente di accedere all'ambiente, ai dispositivi di calcolo e di archiviazione, tra gli altri. Quando l'ambiente entra in produzione, il monitoraggio, l'osservabilità, i controlli di integrità, la sicurezza, la gestione delle identità, la responsabilità, le diverse opzioni di archiviazione tra gli altri componenti iniziano a svolgere un ruolo fondamentale.

Potrebbero essere implementate anche delle estensioni, come nodi di accesso, spostamento dati, uso di contenitori, gestori di licenze, tra gli altri, che dipendono dall'installazione.

In questo ambiente di produzione potrebbe essere necessario configurare diversi componenti. Di conseguenza, gli addetti alla distribuzione dell'ambiente e i responsabili diventano fondamentali per automatizzare la distribuzione iniziale e aggiornarla rispettivamente lungo il percorso. Le installazioni più avanzate possono anche avere modelli di ambiente (o specifiche) con versioni e configurazioni software più ottimali e testate correttamente. Una volta che l'ambiente è in produzione con tutti i componenti necessari, nel corso del tempo, potrebbero essere necessarie delle modifiche per soddisfare le richieste degli utenti, incluse le modifiche apportate ai tipi di macchina virtuale o alle opzioni/funzionalità di archiviazione.

Istanziamento dell'architettura cloud HPC in modalità lift and shift

Qui vengono forniti maggiori dettagli per ogni componente dell'architettura, inclusi i puntatori ai prodotti Ufficiali di Azure, ai blog tecnici con alcune procedure consigliate, repository Git e collegamenti a soluzioni non di prodotto.

Avvio rapido. Per una soluzione di avvio rapido per creare un ambiente HPC nel cloud con blocchi predefiniti di base, è consigliabile usare l'Area di lavoro Slurm di Azure CycleCloud.