Migrated k8s to Azure, Keep using RabbitMQ or port to ASB?

Hi,

I am migrating an on-prem k8s cluster to AKS, currently using a single node RabbitMQ broker.

I now have to decide on the transport; as I see it my options are:

  1. self manage RMQ on AKS with the help of the VMware Tanzu operator
  2. use a dedicated CloudAMQP cluster
  3. migrate to ASB

Are there any technical differences between ASB and RMQ that I should look into?

The vast majority of my handlers talk to SQL and would use the Outbox, is the Send-Atomic-With-Receive transaction semantic enough of a selling point of ASB for the RPC/integration handlers?

Thanks

Are there any technical differences between ASB and RMQ that I should look into?

There are quite a few. Off top of my head:

  1. ASB can hold on to a message for 5 minutes only today. This will change but for now it means handler cannot run longer than 5 minutes. If it needs to, you’ll need to enable lock renewal.
  2. You won’t need the outbox for messaging as the scenarios introduced by RMQ will be covered by ASB. But that atomic behaviour will not cover any resource other than ASB.
  3. Message size will depend on the tier of the ASB you’ll use. 256 KB for the standard tier and virtually unlimited for the premium tier.
  4. Tooling - there’s no administrative dashboard like you get with RMQ. There’s something in the portal (very basic) and there’s 3rd party tools such as ServiceBus Explorer that’s de facto the tool to use with ASB.

The vast majority of my handlers talk to SQL and would use the Outbox, is the Send-Atomic-With-Receive transaction semantic enough of a selling point of ASB for the RPC/integration handlers?

Answered by #2. Don’t think that’s be enough.