• Non ci sono risultati.

Figura 4.3: La struttura generale dell’interazione

Passiamo ora a descrivere l’interfaccia dello strumento realizzato, che è stata riassunta in figura 4.3.

4.4.1

Dati in input

I dati previsti in input sono quelli relativi ai parametri presentati in figura 4.1. Come diremo tra poco, nel nostro progetto non sono stati posti vincoli riguardo alle origini di tali dati, che potrebbero essere sia strumenti molto ricchi dal punto di vista delle opzioni come un CMDB fino a dei dati raccolti manualmente dall’analista, sia una combinazione di queste due possibilità. Per questo non sempre essi saranno completi e anzi, nella maggior parte dei casi, si avrà solo una parte dei parametri esposti poco fa. Ovviamente i risultati dell’analisi

andranno calibrati in base ai dati ottenuti e probabilmente si otterranno indicazioni meno precise in assenza di dati sui sistemi in origine.

Se, per esempio, non avessimo il numero di CPU presenti sulle immagini da migrare, non sarebbe possibile prendere in considerazione tale parametro e le immagini sul cloud di destinazione verranno selezionate solo in base agli altri parametri e quindi con minor precisione. Questo implicherà un impegno e un dispendio di tempo maggiore nella fase di test, in quanto andrà verificato che le immagini prescelte siano effettivamente adeguate alle esigenze del sistema; la presenza di molti parametri in ingresso, invece, consentirà di calibrare le immagini di destinazione con maggior precisione, riducendo dunque la fase di test, anche se essa andrà in ogni caso prevista per la variabilità delle prestazioni tipica dell’ambiente cloud.

Oltre ai dati caratteristici dell’ambiente di origine, c’è una serie di parametri di confi- gurazione che vengono inseriti con le stesse modalità e rappresentati nel nostro dominio tramite due classi. Il primo di essi consiste in una tripletta con sistema operativo di origine, sistema di destinazione disponibile sul cloud e difficoltà richiesta da tale migrazione. Tale difficoltà potrebbe essere suddivisa su tre livelli:

• bassa o nulla, se il sistema operativo rimane lo stesso, in quanto le operazioni richie- ste saranno poche

• media, se è necessario un avanzamento di versione (ad esempio da Windows Server 2003 a 2008)

• alta, nel caso di cambiamento radicale dell’architettura (per esempio il porting da AIX o un altro UNIX a una distribuzione Linux), la più complicata perché richiede un porting completo delle applicazioni specifiche presenti sul sistema con possibili riscritture di software o ricerca e passaggio a soluzioni equivalenti.

Il secondo parametro generico di input è quello delle informazioni sulle offerte disponibili sul cloud e quelle legate ai provider come i datacenter che essi mettono a disposizione; tali dati sono facoltativi, ma possono rappresentare criteri di utile discrimine per l’utente finale dello strumento in corso di sviluppo.

4.4.2

Dati in output

Per quanto riguarda l’output previsto, esso consiste, in definitiva, in una lista che contenga le immagini che, in base ai parametri presi in considerazione, possono essere migrate, escludendo quelle che vanno invece scartate dall’operazione; tale lista può eventualmente essere ordinata in base a considerazione su singoli parametri (per esempio il costo) o su parametri combinati.

Volutamente, si è deciso di lasciare un ampio margine di scelta all’utente nella scelta della conformazione dell’output: un output predeterminato ha infatti dei limiti sia per i dati disponibili in input, spesso assenti o parzialmente specificati, sia per le esigenze dei singoli casi: per questo, la nostra idea è quella di presentare all’utente un’interfaccia nella quale si possano inserire query che agiscano sul modello dei dati. Per i casi più comuni e per facilitare la vita dell’utente dello strumento, possono essere previste in anticipo delle query pronte da eseguire, ma questa scelta permette una maggior flessibilità rispetto a un output unico scelto a priori dal progettista. In generale, a partire dal nostro modello dei dati, è possibile avere due visioni complementari dell’output, in base al punto attorno al quale ruota l’analisi.

4.4.2.1 Visione dal lato delle immagini

Se prendiamo in considerazione questo punto di vista, l’output basilare dell’analisi della migrazione sarà una lista di immagini, per le quali è possibile e consigliabile effettuare la migrazione in base ai parametri previsti. Per fare un esempio, l’analista potrebbe essere interessato ad avere il numero dei software presenti sull’immagine di origine, così da avere un’idea basilare del tempo che potrebbe essere speso in questo ambito; altre informazioni utili, combinabili a piacere con le precedenti, potrebbero includere quella delle immagi- ni per cui non è necessario l’upgrade del sistema operativo, che è un’operazione a volte complessa e costosa in termini di ore impiegate.

4.4.2.2 Visione dal lato dei workload

Analizzando la situazione partendo dai workload, si possono avere due punti di vista: quel- lo combinato e quello indipendente. Nel primo caso un workload è preso come entità a sé stante e, se esso include un’immagine che per un motivo qualsiasi non può essere migrata, l’intero workload verrà segnato come non migrabile. Questo include anche altre immagini

che potrebbero essere migrabili in base a tutti i parametri presi in considerazione, ma non verranno migrate; se altri workload comprendevano tali immagini, verrà impedita a cate- na la migrazione di tutti i workload. Nella visione indipendente, invece, in un caso come quello appena descritto, è possibile pensare di sdoppiare l’immagine migrabile e lasciarne una copia nell’ambiente originare, per evitare problemi con il workload che non può essere migrato.

L’idea di spostare un workload nella sua interezza nasce in particolare da due tipi di problematiche: il primo è legato alla latenza, per esempio nel caso di un application server che deve accedere a un database nel minor tempo possibile, elemento non scontato se le due istanze fossero disposte una in cloud e una in un ambiente diverso, non raggiungibile tramite un collegamento dedicato. Il secondo tipo è quello dei parametri di sicurezza delle diverse macchine virtuali, per cui il fatto di avere macchine in due ambienti differenti costringe ad aprire delle porte e ad ulteriori configurazioni che potrebbero causare rischi nel caso di attacchi malevoli.

Figura 4.4: Workload combinati e indipendenti

Un esempio pratico è visibile in figura 4.4: data l’immagine E non migrabile, nel caso dei workload combinati, anche il workload 2 non potrà essere migrato perché comprende l’immagine D e a sua volta neanche per il workload 1 si potrà prendere in considerazione la migrazione, anche se tutte le immagini che lo compongono sono migrabili. Nel ca- so dei workload indipendenti, invece, l’immagine D verrebbe duplicata e quindi questo permetterebbe la migrazione del workload 2 e del workload 1 nel cloud.

Questa visione potrebbe essere l’unica prodotta oppure essere anche affiancata a quella precedente, risultando utile soprattutto nel caso si abbiano informazioni certe sui workload ai quali ogni immagine appartiene.

Documenti correlati