Il Replatforming è una via mediana tra il Rehosting e il Refactoring per ammodernare e migrare in cloud applicazioni legacy. Ripiattaformare una applicazione ne comporta lo spostamento in un ambiente cloud apportando alcune modifiche al codice del software in modo da renderla perfettamente compatibile al nuovo ambiente. Così come il Rehosting, viene spostata la struttura di un’applicazione nel cloud ma, a differenza del Refactoring, non viene riscritta l’architettura di base del software: vengono effettuate solo minime variazioni. Questa strategia di app modernization è infatti anche nota come Lift & Reshape (solleva e rimodella).
Come detto, il Replatforming è una strategia di cloud migration leggermente più incisiva del Rehosting, ma non così impattante come il Refactoring. Nell’ottica di iniziare un percorso di app modernization è utile specificare meglio le differenze:
Migrare al cloud ripiattaformando la struttura IT aziendale consente di adattarla meglio al nuovo ambiente rispetto ad un semplice Rehosting, e riduce il time-to-benefit rispetto al più lungo e costoso Refactoring, in modo da dare priorità alle modifiche più necessarie e vantaggiose senza per questo riscrivere l’intera architettura dell’app.
La strategia di ripiattaformare un’app si inscrive nell’ottica di massima resa e minimo sforzo per migrare in cloud. L’obiettivo consiste nel donare all’applicazione i vantaggi basilari del cloud ambient senza sostenere costi eccessivi. Nel decidere quale sia la strategia più adatta alla realtà aziendale per intraprendere un percorso di application modernization, è necessario eseguire un audit approfondito, poiché, se non ben pianificato, con il Replatforming c’è il rischio di aggiungere modifiche non necessarie, facendo aumentare tempi e costi. È importante infatti valutare fattori come:
Con il Replatforming un’azienda può passare da servizi on-premise, come l’acquisto di licenze e software, a modelli di pagamento a consumo, riducendo costi CAPEX e OPEX; inoltre, il Replatforming consente alle applicazioni migrate di supportare alcune funzionalità tipiche del cloud, come ad esempio maggiore scalabilità orizzontale, API leggere e servizi di automazione. Con la ripiattaformazione, si ottiene un certo equilibrio tra il semplice Lift & Shift del Rehosting, e il Rearchitecting e Rewriting della Rifattorizzazione.
Il Replatforming può essere parte di un percorso di Application Modernization. L’esempio più comune è quello della migrazione di parte dell’infrastruttura in cloud, con modifiche minori, in attesa di riscrivere progressivamente le suddette parti in linguaggi e paradigmi cloud native, con lo scopo di ottenere i primi vantaggi dall’attività di migrazione. Più generalmente il Replatforming può essere usato all’interno di un progetto di application modernization per: