Deploy with or separate to API

I have two services in Azure at the moment but this will gradually transition to more granular services. Both have an API and NServiceBus.

I was originally planning on running the NServiceBus message handler endpoint in a separate App Service to the API. This was so that I can scale them separately if I need to. I am now wondering whether I should have the endpoint running with the API in order to reduce deployment complexity as there would then only be one app per service. Part of the reason for this is that in order to use the pattern suggested here Outbox in an ASP.NET Core scenario of using SendLocal, the API can’t be a SendOnly endpoint. This would mean I have two message processing endpoints for each service.

Does anyone have any recommendations on which is the best pattern to use?



Your API can host multiple endpoints, the SendOnly one for outbox, then the other one for bridging and receiving.