Panoramica
La migrazione IT consiste nel passaggio di dati o software da un sistema a un altro. A seconda del progetto, una migrazione IT può implicare uno o più tipi di spostamento: migrazione dei dati, delle applicazioni, del sistema operativo e verso il cloud.
Ecco alcuni esempi comuni di migrazione IT:
- Aggiornamento di un'applicazione o di un sistema operativo
- Spostamento dei dati da un tipo di database a un altro
- Sostituzione di un sistema di storage dei dati con un altro
- Passaggio dall'infrastruttura on premise all'infrastruttura cloud
- Sostituzione di un'applicazione monolitica con servizi containerizzati
I progetti di migrazione IT prevedono in genere lo spostamento di numerosi componenti e requisiti altamente specifici legati alle esigenze dell'organizzazione. Una pianificazione attenta, associata a una strategia di automazione dell'infrastruttura, possono semplificare le migrazioni IT.
Migrazione dei dati
Migrare i dati significa trasferirli da un tipo di storage a un altro. Ciò avviene in genere nell'ambito di un aggiornamento teso a espandere la capacità di storage, a migliorare le prestazioni, a ottimizzare la gestione dei dati, a ridurre i costi e il footprint o ad aggiungere nuove funzionalità.
La migrazione dei dati avviene in tre fasi: pianificazione, esecuzione e convalida. Ciò può significare il trasferimento di grandi volumi di dati su una rete, o spostare fisicamente le unità da un luogo a un altro.
Ogni migrazione differirà in base alla quantità di dati previsti, alle tempistiche di completamento, ai tipi di carico di lavoro interessati e alle valutazioni sulla sicurezza.
In alcuni casi la migrazione prevede lo spostamento da uno storage di dati on premise a uno storage su cloud, o da una piattaforma dati a un'altra. In genere la migrazione dei dati avviene in uno dei due modi seguenti:
- Nella migrazione online, i dati vengono trasferiti mediante Internet o una rete privata.
- Nella migrazione offline i dati vengono trasferiti tramite la spedizione fisica di un dispositivo di storage da un luogo a un altro.
Migrazione del database
La migrazione del database è un tipo specifico di migrazione dei dati. Lo spostamento da un database a un altro può essere parte di un aggiornamento del database successivo al cambiamento di fornitore, o per il passaggio a una nuova infrastruttura, ad esempio il cloud.
Nel passaggio da un database a un altro, può essere opportuno verificare che lo schema del database di origine sia compatibile con quello di destinazione, eseguendo la conversione se necessario. Molti fornitori di database cloud offrono strumenti per automatizzare il processo.
Come nella migrazione dei dati standard, la migrazione di un database richiede una fase iniziale di pianificazione e una successiva di convalida.
Migrazione delle applicazioni
Con migrazione delle applicazioni indichiamo lo spostamento delle applicazioni software da un sistema IT a un altro.
Esistono molti metodi per realizzare e ospitare le applicazioni e di conseguenza non ne esiste uno unico per la loro migrazione, che può tendenzialmente essere classificata in quattro categorie:
- Il rehosting, anche detto approccio "lift-and-shift", che prevede lo spostamento di un'applicazione da una piattaforma a un'altra (ad esempio da un server on premise a una macchina virtuale) senza apportare cambiamenti significativi.
- Il refactoring, o rimodellamento, che prevede di modificare significativamente un'applicazione per poterla eseguire in un nuovo ambiente. È il caso della suddivisione di un'applicazione monolitica in microservizi containerizzati, che ne migliora la scalabilità in un ambiente cloud.
- Il cambio di piattaforma, ovvero la migrazione a un nuovo ambiente che richiede alcune modifiche all'applicazione, ma è meno invasivo rispetto al refactoring completo.
- La dismissione, o sostituzione, che prevede l'abbandono dell'applicazione in favore di altro, ad esempio una soluzione SaaS (Software-as-a-Service).
Migrazione di app verso un'architettura moderna
Oggi numerose organizzazioni IT puntano a trasferire le applicazioni in una moderna infrastruttura cloud, spesso sviluppando servizi containerizzati e implementando nel mentre processi e metodologie DevOps.
In alcuni casi l'operazione può rivelarsi complicata. Gli sviluppatori devono passare a librerie e API più recenti, adottare nuovi framework, infrastrutture e architetture e portare online nuove funzionalità e versioni, il tutto in modo simultaneo.
Il processo può essere facilitato da strumenti come quelli contenuti in Red Hat® Application Migration Toolkit (RHAMT). Queste utilità consentono di ottenere la visibilità immediata e simultanea di migliaia di applicazioni, identificano gli ostacoli alla migrazione e il codice o le dipendenze condivise tra le applicazioni; accelerano inoltre l'implementazione delle modifiche al codice necessarie per l'esecuzione delle applicazioni sulle più recenti piattaforme middleware.
Migrazione del sistema operativo
Eseguire la migrazione di un sistema operativo significa trasferire un sistema IT gestito da un sistema operativo a un altro. Può indicare l'aggiornamento a una versione più recente, ad esempio nel caso in cui una vecchia versione raggiunge la fine del supporto, oppure il passaggio da un sistema operativo a un altro, come nella migrazione da Windows a Linux.
I progetti di migrazione dei sistemi operativi possono richiedere molto tempo e introdurre rischi come potenziali interruzioni, incompatibilità delle applicazioni e perdita delle personalizzazioni. Come con le altre tipologie di migrazione, anche le migrazioni del sistema operativo prevedono una serie di passaggi:
- Preparazione. Un'analisi pre-migrazione consente di identificare potenziali complicazioni a livello di carichi di lavoro, configurazioni o applicazioni; può anche fornire linee guida su come correggere i problemi proattivamente.
- Automazione. L'impiego di controlli automatici può ridurre i rischi impliciti nei progetti di migrazione e garantire il mantenimento delle configurazioni, delle personalizzazioni e delle preferenze esistenti.
- Migrazione. È bene seguire il processo più adatto al proprio ambiente, che sia un aggiornamento in loco o una nuova implementazione completa.
Molti sistemi operativi, incluso Red Hat Enterprise Linux®, forniscono strumenti e supporto che rendono il più lineare possibile la migrazione del sistema operativo.
Migrazione al cloud
La migrazione al cloud è il passaggio dei sistemi IT da un tradizionale datacenter on premise ad ambienti cloud, o da un ambiente cloud a un altro. Può anche prevedere la realizzazione di un cloud ibrido, che consente la scalabilità di applicazioni e dati su più infrastrutture. Facile scalabilità e convenienza sono alcuni degli aspetti positivi di un'infrastruttura cloud.
I provider di cloud pubblico offrono un pool di risorse virtuali come servizio, con un'infrastruttura il cui provisioning viene eseguito automaticamente tramite un'interfaccia self service. È un modo diretto per aumentare i carichi di lavoro che presentano fluttuazioni impreviste nella richiesta.
I moderni cloud pubblici vengono in genere distribuiti come combinazione di ambienti diversi, per garantire livelli superiori di sicurezza e prestazioni, costi inferiori e una più ampia disponibilità di infrastrutture, servizi e applicazioni.
Il cloud ibrido è un'architettura IT che prevede un determinato livello di portabilità, orchestrazione e gestione dei carichi di lavoro in due o più ambienti, tra i quali può essere incluso il cloud pubblico.
Una migrazione cloud può prevedere passaggi graduali, e molto spesso inizia con un processo pilota che valuta la fattibilità in una parte rappresentativa dei sistemi.
Procedure per la riuscita di una migrazione cloud
1. Scegli il tuo percorso. Questa fase di pianificazione prevede un'analisi dell'infrastruttura e delle applicazioni esistenti.
2. Avvia un progetto pilota. Qualche mese di valutazione di un ambiente production ready offre l'opportunità di accertare che il nuovo ambiente soddisfi i requisiti aziendali.
3. Completa il passaggio. Con la migrazione effettiva, i carichi di lavoro esistenti vengono trasferiti nel nuovo ambiente, in base a una pianificazione che va incontro alle esigenze degli utenti.
Migrazione dei sistemi SAP
Per alcune migrazioni IT è necessario attenersi ai requisiti dei fornitori del software. SAP®, il principale fornitore di software ERP, chiede ai propri clienti di adottare SAP HANA® e SAP S/4HANA® entro il 2027, per poter usufruire del supporto.
SAP S/4HANA viene eseguito esclusivamente nel database SAP HANA, che a sua volta richiede Linux®. Questo aggiornamento implica in molti casi la migrazione dei propri sistemi SAP a nuovi ambienti IT, un processo che può rivelarsi lungo e complicato in quanto prevede la creazione e la corretta configurazione dell'infrastruttura di destinazione, la replica dei dati, il test e la convalida della nuova configurazione, e il trasferimento dei carichi di lavoro nel nuovo ambiente.
Affinché questo tipo di immigrazione sia rapida, efficiente e affidabile la chiave è l'automazione.
Red Hat Ansible Automation Platform per la migrazione
In una migrazione IT, l'automazione contribuisce ad accelerare e ottimizzare i processi, riducendo gli errori causati dalla ripetizione delle attività manuali.
In Red Hat Ansible Automation Platform l'automazione accompagna il processo di migrazione suddividendolo in tre fasi: definizione, deployment e individuazione.
- Definizione: determina ogni componente da automatizzare separatamente, tenendo conto del relativo ordine o procedura.
- Deployment: utilizza le definizioni/automazioni dei componenti per eseguire un deployment e sottoporlo a test.
- Individuazione: successivamente a ogni automazione, testa l'app o il software implementato, per individuare eventuali carenze. A questo punto puoi tornare indietro e ridefinire ogni specifico aspetto per poi riavviare il ciclo in tre fasi.
Questo ciclo di automazione diventa sempre più veloce mano a mano che impari a identificare ciò che non funziona e a risolvere ogni problema che emerge.
Dopo aver definito tutti i componenti e i passaggi del processo di migrazione, questi possono essere inseriti in un playbook Ansible ripetibile, da applicare al nuovo ambiente. Nei playbook Ansible possono essere registrate ed eseguite funzioni di configurazione, deployment e orchestrazione. I playbook costituiscono un sistema di deployment su più macchine e di gestione della configurazione semplice, ripetibile e riutilizzabile, che consente di registrare efficacemente le procedure di migrazione e di ripeterle secondo necessità.
Ne risulta un processo molto più fluido per raggruppare le componenti del sistema e spostarle dove desiderato.