The Mule Migration Assistant

La versione 4 del runtime di Mule è ormai da due anni con noi.
Questo 2021 abbiamo due date importanti: una a Marzo, a partire dal 20 di Marzo non sarà più possibile pubblicare nuove applicazioni in Mule 3.9, e questa versione passerà a Extended Support fino il 2024. E la seconda data è a Novembre, a partire della quale finirà lo extended support alla versione 3.8 e di conseguenza tutte le applicazioni in questa versione non funzioneranno più. Potete trovare più informazione su questo link.

 

Version

Release Date

End of Standard Support

End of Extended Support

4.3

April 30, 2020

April 30, 2022

April 30, 2024

4.2

May 2, 2019

May 2, 2021

May 2, 2023

4.1

March 20, 2018

November 2, 2020

November 2, 2022

3.9

long term supported

October 9, 2017

March 20, 2021

March 20, 2024

3.8

long term supported

May 16, 2016

November 16, 2018

November 16, 2021

3.7

July 9, 2015

November 16, 2017

January 25, 2020

3.6

January 15, 2015

January 15, 2017

N/A

3.5

long term supported

May 20, 2014

July 15, 2016 *

January 25, 2020 *


Dunque, ci troviamo probablimente nell’anno chiave per migrare a Mule 4. E quindi le domande che ci poniamo sono: come possiamo migrare le nostre applicazioni? come possiamo farlo senza impattare il servizio che forniamo con tutte queste app? quanto tempo ci metteremo per fare la migrazione?
Per rispondere queste e altre domande, MuleSoft ha creato uno strumento di migrazione, il Mule Migration Assistant (MMA).

Lo strumento - Mule Migration Assistant

The MMA è uno strumento per la conversione di applicazioni da Mule 3 a Mule 4. è uno strumento a linea di comando che prende come input una applicazione Mule 3 e ci ritorna come output una applicazione in Mule 4 è un report di conversione.
La traduzione da Mule 3 a Mule 4 è una traduzione di best effort, lo strumento non sempre completa la migrazione al 100%. In alcuni casi, una volta lo strumento ha finito, sarà necessario aggiustare manualmente alcuni componenti della nuova applicazione. A tale scopo serve il report, dove troveremo il dettaglio dei componenti da completare. 

Mule 3 e Mule 4 sono runtime di architettura diversa e per questo motivo, ci sono componenti o event processors che sono equivalenti e che lo strumento riesce a migrare, ma in altri casi non esistono equivalenze fra Mule 3 e Mule 4. Che cose riesce a migrare lo strumento MMA?
  • I flussi individuali e la loro logica
  • Global configurations
  • Dataweave 1.0 e Mule Expression Language scripts sono convertiti a scripts in formato Dataweave 2.0
  • Unit tests in MUnit
  • Le policies usate nelle apps
  • Connectors, transports e modules, anche se non tutti si riescono a convertire con il MMA
Potete trovare una lista in dettaglio con tutto quello supportato e non supportato dal MMA in questo link.

Il Report di  Conversione

Nonostante lo strumento non fa il 100%, MMA ci aiuta a fare la parte più faticosa della migrazione, creando la logica della app, la struttura del progetto e la conversione dei componenti o event processors compatibili tra Mule 3 e Mule 4.

Che succede quando non c’è un componente equivalente? In questo caso, lo strumento scriverà un’errore nel report finale, per identificare il componente. Il report di conversione ci da tre tipi di informazioni:
  • Errors: Quelle parti dell'applicazione di Mule 3 che non hanno una conversione diretta su Mule 4 e che bisogna riscrevere.
  • Warnings:  Quelle parti dell'applicazione di Mule 3 che hanno una traduzione simile in Mule 4 e che conviene esaminare per essere sicuri della conversione.
  • Info: Quelle parti dell'applicazione di Mule 3 che sono state leggermente modifichate solo per essere conformi a Mule 4 e che non comportano nessuna modifica funzionale.

In conclusione, dopo utilizzare il MMA, il risultato sarà in alcuni casi, un'applicazione 100% completa e in altri casi un'applicazione incompleta sulla quale dovremo fare delle modifiche. Il report di conversione ci aiuterà a capire quali sono queste modifiche necessarie. Dunque, lo scopo di questo strumento non è fare la migrazione di qualsiasi app, lo scopo è quello di accelerare il processo di migrazione.
Il MMA ci deve aiutare ad avere una prima versione dell’applicazione e anche a capire la complessità di tutta la migrazione.

Quello che vi consiglio io è di utilizzare questo strumento anche per pianificare il tempo da investire per la migrazione di tutte le app. Potete far girare lo strumento per tutte le app e usare il report per valutare in dettaglio quanto tempo ci vuole per migrare ogni applicazione

MMA è Open Source

Il Mule Migration Assistant non è un prodotto del portfolio di Mulesoft. é uno strumento che è stato creato da MuleSoft e che si è messo a disposizione di tutti i clienti come progetto Open Source su GitHub. Ecco qua il link. Questo vuol dire che: innanzitutto qualunque può scaricare il progetto e utilizzarlo, non c’è bisogno di nessuna licenza e non ha nessun costo. é Open source, quindi qualunque può contribuire a questo progetto e migliorarlo. E per ultimo, non essendo un prodotto del portfolio Mulesoft non fornisce un supporto dello strumento come gli altri prodotti del portfolio.

Per ultimo, a MuleSoft abbiamo anche creato qualche video di Friends of Max dedicati a questa tematica dove potrai trovare una demo con esempi di migrazioni:

   

Nel mio team di Customer Success stiamo lavorando per aiutare clienti e partner a migrare a Mule 4, se ancora hai dubbi fateci sapere!

Popular posts from this blog

Benefici di Mule 4 - Parte 2

MuleSoft Metrics Accelerator

Cómo configurar Postman para usar las Platform APIs de AnyPoint

Benefici di Mule 4 - Parte I

MuleSoft Metrics Accelerator (I) - Qué es y Cómo Instalarlo

MuleSoft Metrics Accelerator (IV) - Visualización en Splunk

MuleSoft Metrics Accelerator (III) - Modos de Ejecución

How to choose the CIDR block for your VPC

How many VPCs do I need?