Migrate NServiceBus Transport from MSMQ to Azure Service Bus. Upgrade v5 to v7

Hi,
We are migrating from NServiceBus v5 to v7 and Transport from MSMQ to Azure Service Bus
Current implementation using the Distributor with v5 and MSMQ in prod. And we in the middle of migrating to NSB v6 and Sender-Side Distribution.

  1. What will be the right recommendation path to migrate(v6 to v7) considering the current scale-out scenario? Migrate to v6 and Sender-Side Distribution and then to ASB vs upgrade to NSB v7 first and then leverage ASB?
  2. Is the ASB topology used by NSB v6 is the same as the one used by v7?
  3. Can you give recommendations on how to migrate messages from MSMQ to ASB?

Regards,
Aliaksandr

Hi Aliaksandr,

  1. What will be the right recommendation path to migrate(v6 to v7) considering the current scale-out scenario? Migrate to v6 and Sender-Side Distribution and then to ASB vs upgrade to NSB v7 first and then leverage ASB?

You’ve got several things you’d need to migrate. I’ll list them to have an idea what’s involved.

  1. NServiceBus from 5 to 6 and from 6 to 7.
  2. MSMQ transport, or migrate off MSMQ to the ASB* transport
  3. From the legacy ASB to the new ASB (some context on that is here)

First, you’d have to update from NServiceBus version 5 to version 6 and I would suggest staying on MSMQ to minimize the number of moving parts. This is probably the most difficult update as there were many changes between those two versions. At that point, I’d suggest updating NServiceBus from version 6 to 7, which is a small update. Once you’re on version 7 of NServiceBus, you can go straight to the current ASB transport migration off MSMQ, skipping the legacy ASB transport which would be OK with NServiceBus 6/7 but would require unnecessary legacy-ASB -to-current-ASB migration efforts.

  1. Is the ASB topology used by NSB v6 is the same as the one used by v7?

One of the legacy ASB transport topologies is shared with the current ASB transport, forwarding topology. You could in theory migrate to the legacy ASB transport first, then do NServiceBus migrations, ending up migrating off the legacy ASB to the current ASB transport, but that feels like unnecessary additional efforts.

  1. Can you give recommendations on how to migrate messages from MSMQ to ASB?

You could look into using the community-supported Router to achieve the goal. If you’re uncertain about it, please raise a support case so that we can assist you if needed.