Hi King Java,
A small clarification before answer you , Publish/Suscriber pattern architecture is that you will implement, where Azure service bus is the Message Broker
https://learn.microsoft.com/en-us/azure/architecture/patterns/publisher-subscriber
On the other hand Azure subscription is a logical container for your resources ,so It isn't a data flow there it self.
Now going to your question you have best practice to arrange your resources either within same subscription or same resource group here some consideration to choose what you need:
Subscription
- Isolation: While it's possible to create both environments under the same subscription, it's generally a good practice to keep production and non-production environments separate. This helps to avoid any accidental modifications or deletions in the production environment during development or testing (https://learn.microsoft.com/en-us/azure/service-bus-messaging/service-bus-troubleshooting-guide)
- Resource limits by Azure subscription have some quota limitas for some resources , as instance there is a maximum number of 1000 azure service bus namespaces per Azure subscription (https://learn.microsoft.com/en-us/azure/azure-resource-manager/management/azure-subscription-service-limits)
Resource Groups
- Lifecycle: All the resources in your group should share the same lifecycle. You deploy, update, and delete them together If one resource, such as Service Bus, needs to exist on a different deployment cycle it could be in another resource group.
- Organization: You decide how you want to allocate resources to resource groups based on what makes the most sense for your organization
- Isolation: Like in subscription it's possible to have both Dev and Production environments in the same resource group, it's generally a good practice to keep them separate.
Finally about your concern on the traffic (security and performance ), and if this third party's API is on Azure subscription you can try to integrate at network layer. Using mechanism like Azure private endpoint , Service Endpoint. this depends on the network configuration and where is this third party's API.
Let me know if this help you.
Cheers, Luis