Come affrontare la migrazione del datacenter in Azure

L’adozione di soluzioni e servizi nel cloud pubblico è in rapido e costante aumento e questo aumento è dato principalmente dal fatto che molte organizzazioni si sono rese conto che spostare workload esistenti in Azure può portare vantaggi significativi. Tra questi troviamo la capacità di distribuire rapidamente le applicazioni consentendo di beneficiare di un’infrastruttura presente su scala globale, la riduzione dei requisiti e dei costi di manutenzione e l’ottimizzazione delle prestazioni. In questo articolo saranno esaminati i principali aspetti da prendere in considerazione al fine di adottare un approccio strategico per quanto riguarda la migrazione della propria infrastruttura IT in Azure e come, grazie proprio a questo approccio, sia possibile trarre beneficio di tutti i vantaggi del cloud pubblico di Microsoft.

Principali fattori scatenanti per la migrazione

Tra i principali aspetti che portano i clienti ad affrontare una migrazione dei propri workload verso soluzioni cloud troviamo:

  • le scadenze dei contratti dei data center in uso;
  • la necessità di effettuare velocemente integrazioni a fronte di nuove acquisizioni;
  • l’esigenza urgente di capacità e di risorse;
  • il bisogno di mantenere aggiornato il software e l’hardware in utilizzo;
  • la volontà di rispondere efficacemente a potenziali minacce alla sicurezza;
  • le esigenze riguardanti la conformità (ad es. GDPR);
  • la necessità di innovare le proprie applicazioni e di renderle disponibili più velocemente;
  • la fine del fine del supporto software per determinati prodotti e la necessità di ottenere gratuitamente aggiornamenti di sicurezza estesi, sia per Windows Server 2008/R2, sia per Windows Server 2012/R2, oltre alle versioni corrispondenti di SQL Server.
Figura 1 – Principali fattori scatenanti per la migrazione

Ritrovarsi in almeno uno di questi fattori scatenanti che potrebbero avviare un processo di migrazione è molto comune. Per intraprendere nel migliore dei modi questa migrazione è necessario tenere in considerazione quanto riportato nei paragrafi successivi.

Il percorso di adozione di soluzioni cloud

Nel percorso di adozione di soluzioni cloud definito nel Microsoft Cloud Adoption Framework per Azure emergono sei azioni principali che è opportuno prendere in considerazione:

  • Strategy definition: definizione della “business justification” e dei risultati attesi.
  • Plan: allineamento del piano di adozione del cloud ai risultati aziendali, tramite:
    • Inventario del patrimonio digitale: catalogazione dei workload, applicazioni, origini dati, macchine virtuali e altre risorse IT e valutazioni per determinare il modo migliore per ospitarli nel cloud.
    • Creazione di un piano di adozione del cloud assegnando la priorità ai workload in base al loro impatto aziendale e alla complessità tecnica.
    • Definizione delle competenze e delle esigenze di supporto, per garantire che l’azienda sia preparata per il cambiamento e per le nuove tecnologie.
  • Ready: preparazione dell’ambiente cloud.
  • Adopt: implementazione delle modifiche desiderate nei processi IT e aziendali. L’adozione può avvenire tramite:
    • Migrazione: si concentra sullo spostamento delle applicazioni locali esistenti nel cloud in base a un processo incrementale.
    • Innovazione: si concentra sulla modernizzazione del patrimonio digitale per guidare l’innovazione aziendale e di prodotto. I moderni approcci all’implementazione, alle operations e alla governance dell’infrastruttura consentono di colmare rapidamente il divario tra lo sviluppo e le operations.
  • Govern: valutazione ed implementazione delle best practices in ambito governance.
  • Manage: implementazione delle linee operative e delle best practice.

Azure Landing Zone

Indipendentemente dalla strategia di migrazione che si decide di adottare è opportuno predisporre la Landing Zone, che rappresenta, nel percorso di adozione del cloud, la destinazione in ambiente Azure. Si tratta di un’architettura con scalabilità orizzontale progettata per consentire al cliente di gestire ambienti cloud funzionali, mantenendo al tempo stesso le procedure consigliate per la sicurezza e la governance. L’architettura della Landing Zone deve essere definita in base ai requisiti aziendali e ai requisiti tecnici necessari.

Figura 2 – Esempio concettuale di una Azure landing zone

Sono disponibili diverse opzioni per implementare la Landing Zone, grazie alle quali sarà possibile soddisfare le esigenze di deployment ed operatività del portfolio cloud.

Un approccio strutturato e metodologico e le strategie di migrazione

Diversi sono i percorsi di adozione delle soluzioni in Azure. Per affrontare nel migliore dei modi ciascuno di questi percorsi è consigliato elaborare a priori un business case completo ed un piano di progetto, contenente le informazioni sui vantaggi e sui costi (TCO) dello spostamento dei workload sul cloud Microsoft Azure, nonché raccomandazioni su come ottimizzare il modello di utilizzo dei servizi Microsoft Azure.

Figura 3 – Percorsi di adozione delle soluzioni cloud

Basandosi sulla strategia cloud dell’azienda e sugli obiettivi generali di business, è opportuno esaminare la distribuzione e l’utilizzo dei workload in uso e valutare il relativo stato “cloud-ready” per determinare le opzioni migliori e le modalità più opportune (lift&shift, refactor, rearchitect e rebuild) in ottica di consolidamento e migrazione ai servizi cloud di Microsoft Azure.

Figura 4 – Possibili strategie di migrazione
* Queste strategie di migrazione sono riportate da Gartner research. Gartner definisce anche una quinta strategia chiamata " Replace". 

Nei paragrafi seguenti vengono riportate le principali strategie di migrazioni che possono risultare utili.

Rehost application (i.e., lift & shift)

Si tratta di ridistribuire un’applicazione esistente su una piattaforma cloud senza modificarne il codice. L’applicazione viene migrata “così com’è”, il che fornisce vantaggi cloud di base senza dover affrontare un rischio elevato e senza dover sostenere i costi necessari per apportare modifiche al codice applicativo.

Questa tecnica di migrazione viene solitamente utilizzata quando:

  • Si ha la necessità di spostare rapidamente le applicazioni da on-premise al cloud
  • Quando l’applicazione è necessaria, ma l’evoluzione delle sue capacità non risulta una priorità aziendale
  • Per applicazioni che sono già state progettate per sfruttare la scalabilità di Azure IaaS
  • In presenza di requisiti specifici dell’applicazione oppure della base dati, che possono essere soddisfatti solo utilizzando delle macchine virtuali IaaS in ambiente Azure.
Esempio

Spostamento di un’applicazione line of business a bordo di macchine virtuali che risiedono in ambiente Azure.

Refactor application (i.e., repackaging)

In questa strategia di migrazione sono previste modifiche minimali del codice dell’applicazione oppure modifiche alle configurazioni, necessarie per ottimizzare l’applicazione per Azure PaaS e sfruttare al meglio il cloud.

Questa tecnica di migrazione viene solitamente utilizzata quando:

  • Si vuole sfruttare una base di codice esistente
  • La portabilità del codice è un elemento importante
  • L’applicazione può essere facilmente pacchettizzata per essere eseguita in ambiente Azure
  • L’applicazione deve essere più scalabile e distribuibile in modo veloce
  • Si vuole promuovere l’agilità aziendale mediante un’innovazione continua (DevOps)
Esempio

Si effettua il refactoring di una applicazione esistente adottando servizi come App Service oppure Container Services. Inoltre, si effettua il refactoring di SQL Server in Azure SQL Database.

Rearchitect application

La tecnica di ri-progettazione consiste nel modificare oppure estendere l’architettura e la base di codice dell’applicazione esistente, andandola ad ottimizzare per la piattaforma cloud e garantendo così una migliore scalabilità.

Questa tecnica di migrazione viene solitamente utilizzata quando:

  • L’applicazione necessita di importanti revisioni per incorporare nuove funzionalità oppure per lavorare in modo più efficace su una piattaforma cloud
  • Si vogliono sfruttare gli investimenti fatti nelle applicazioni esistenti
  • Si ha la necessità di ridurre al minimo la gestione delle VMs nel cloud
  • Si intende soddisfare i requisiti di scalabilità in modo conveniente
  • Si vuole promuovere l’agilità aziendale mediante un’innovazione continua (DevOps)
Esempio

Scomposizione di un’applicazione monolitica in microservizi in ambiente Azure che interagiscono tra loro e sono facilmente scalabili.

Rebuild application

Il rebuild dell’applicazione da zero prevede l’utilizzo di tecnologie cloud-native su Azure PaaS.

Questa tecnica di migrazione viene solitamente utilizzata quando:

  • Si ha la necessita di uno sviluppo rapido e l’applicazione esistente è troppo limitante in termini di funzionalità e durata
  • Si vogliono sfruttare le nuove innovazioni presenti nel cloud come serverless, Intelligenza artificiale (AI) e IoT
  • Si dispone delle competenze necessarie per creare nuove applicazioni cloud-native
  • Si vuole promuovere l’agilità aziendale mediante un’innovazione continua (DevOps)
Esempio

Creazione di applicazioni green field con tecnologie cloud native innovative, come Azure Functions, Logic Apps, Cognitive Service, Azure Cosmos DB ed altro ancora.

Azure Cloud Governance

Nell’adozione di successo dei servizi nel cloud pubblico, oltre ad essere richiesto un approccio strutturato e metodologico, diventa fondamentale adottare una precisa strategia per migrare non solo le applicazioni, ma anche le pratiche di governance e di gestione, adeguandole in modo opportuno.

Per questa ragione diventa fondamentale mettere in atto un processo di Cloud Technical Governance attraverso il quale è possibile garantire al Cliente un utilizzo efficace ed efficiente delle risorse IT in ambiente Microsoft Azure, al fine di poter raggiungere i propri obiettivi. Per farlo è necessario applicare controlli e misurazioni utili ad aiutare il cliente a mitigare i rischi e creare dei confini. Le politiche di governance, all’interno dell’ambiente del Cliente, fungeranno anche da sistema di allarme preventivo per rilevare potenziali problemi.

Conclusioni

Il processo di trasformazione digitale che interessa le realtà aziendali spesso prevede la migrazione dei workload ospitati presso i propri datacenter verso il cloud per ottenere migliori risultati per quanto concerne la governance, la sicurezza e l’efficienza dei costi. L’innovazione data dalla migrazione verso il cloud diventa frequentemente una priorità aziendale, per questo motivo è opportuno adottare un proprio approccio strutturato, per affrontare vari scenari di migrazione, che consente di ridurre la complessità ed i costi.