CAST Highlight per la migrazione in cloud – le “ Cloud Service Recommendation”

By on
 

Introduzione

La migrazione di un’applicazione al cloud è un processo di spostamento di un'applicazione software da un server locale all'ambiente di un provider cloud. Questo processo di migrazione al cloud include il trasferimento di database, dati, applicazioni e processi IT.

IaaS (Infrastructure as a Service)

Questa è la modalità più semplice: è sufficiente eseguire il ‘Rehosting’ (‘Lift & Shift’) delle applicazioni esistenti. Questa scelta cela però moltissimi problemi, a breve, ma soprattutto a lungo termine. Ne abbiamo parlato nell'articolo "La strategia Lift&Shift per il Cloud. Quali sono i pro e i CONTRO?"

PaaS (Platform as a Service)

Questa modalità permette di eseguire l’applicazione sfruttando al meglio i Servizi e le caratteristiche cloud dell'infrastruttura del provider. La sua adozione richiede maggiore attività sull’applicazione ovvero un ‘Refactoring’ o ‘Rearchitect’ a seconda di quanto bisogna intervenire sul codice dell’applicazione.

Recommendations

La piattaforma Cast Highlight (in seguito HL) esegue in breve tempo l'analisi automatizzata del codice sorgente delle applicazioni fornendo dettagli sulla loro ‘Cloud Readiness’.

Cast HL realizza in modo automatizzato e intelligente la segmentazione del portafoglio di applicazioni per la migrazione al cloud. La modalità consigliata di passaggio in cloud (vedi Figura 1) si basa sulle 5R: Rehost, Refactor, Rearchitect, Rebuild e Retire.

cast-highlight-portfolio-advisor-for-cloud-centered

Figura 1: Portfolio Advisor for Cloud

 

Cast HL, oltre a segmentare il portfolio delle applicazioni, per le applicazioni che sono predisposte ad essere migrate (cloud-ready), fornisce Recommendation di servizi PaaS specifici che potrebbero essere adottati dopo la migrazione in base alle caratteristiche tecniche dell'applicazione. Queste raccomandazioni sono disponibili per i provider: AWS, Azure, GoogleCloud e IBM Cloud.
Le Recommendation sono originate analizzando aspetti del software che potrebbero essere migliorati o corretti in ottica cloud, in particolare sono state combinate quattro categorie di informazioni:

  1. Technology inventory: in base alle diverse tecnologie rilevate durante la scansione, possono essere consigliati alcuni servizi Cloud. Ad esempio, se un'applicazione è composta da 10k righe di codice di script SHELL o Python, potrebbe sfruttare i servizi Batch basati su cloud come Azure Batch, AWS Batch o IBM Workload Automation.
  2. Pattern CloudReady: le centinaia di pattern, blocker e booster Cloud vengono utilizzati anche per identificare i servizi Cloud idonei. Ad esempio, se CAST Highlight ha rilevato durante la scansione del codice che un'applicazione si basa su un database PostgreSQL (un booster CloudReady), segnala che l’applicazione può adottare un'istanza Amazon RDS o un database di Azure per l'esecuzione di PostgreSQL. Al contrario, quando viene visualizzato un blocco del cloud, ad esempio manipolazioni dirette di file nel codice, segnala che si potrebbero sfruttare servizi di archiviazione basati su cloud come Azure Storage, Amazon S3 o IBM Cloud Object Storage.
  3. Componenti Open Source: utilizzando le funzionalità di composizione del software alcuni componenti OSS/di terze parti rilevati sono correlati a consigli sui servizi cloud. Ad esempio, Amazon EMR o Azure HDInsight possono essere adottati quando CAST Highlight rileva le dipendenze Hadoop, Spark o HBase in un'applicazione scansionata.
  4. Risposte al sondaggio: sono utilizzate specifiche risposte a sondaggi per stabilire o valutare l'idoneità dei servizi Cloud. Ad esempio, se l'azienda ha una strategia container indicata in una risposta al sondaggio, CAST Highlight consiglierà Azure Kubernetes Service (AKS) o Amazon Elastic Container Service (ECS) rispetto ad altre opzioni.

La combinazione delle informazioni sopra riportate e l’intervento di esperti Cloud (di Amazon Web Services, Microsoft Azure, ...) hanno prodotto una serie di raccomandazioni specifiche dei vari servizi cloud (più di 70) dei singoli provider. Queste raccomandazioni sono prodotte a livello di:

  • Singola applicazione - Viene fornito l'elenco dei servizi idonei raggruppati per provider.
    Recommendation at application level
    Recommendation at application level_2
    Figura 2: Raccomandazioni dei servizi a livello applicativo

  • Portfolio - dà una visione macroscopica delle raccomandazioni consentendo di ridimensionare, razionalizzare e dare priorità ai carichi di lavoro del cloud sul portafoglio delle applicazioni.
    Recommendation at portfolio level-1 Figura 3: Raccomandazioni dei servizi a livello portfolio

Conclusioni

Cast HL è la piattaforma che, a fronte di considerazioni oggettive basate sull’analisi del codice e consigli di esperti, è in grado di raccomandare un elenco dei servizi idonei all’applicazione e/o portfolio, raggruppati per provider, permettendo con ciò un considerevole risparmio di tempo ed energie.