From what I understand, you are asking if it makes sense to consolidate service levels, so you only need to deal with one layer. At a high level, I think it makes sense. The simpler, the better, if it is not so simple that you cannot complete your basic tasks.
If your main goal is performance and your service calls are built-in (which means the caller is waiting for a response), then combining the layers can help you achieve better performance, since you do not have to deal with the overhead of additional network delay for additional physical layers . You can use the parallel task library (TPL) to implement your thread logic.
If your main task is scalability, and the calls at your service are out of range (this means that the caller implements the โfire and forgetโ pattern), then using processing queues and work roles may make more sense. One of the principles of cloud computing is loosely coupled services. While you have more maintenance work, you also have more flexibility to independently create your own layers. Your work roles can also use the TPL mentioned above, so you can deploy work roles on large virtual machines (say using 4CPU or 8), which would reduce the number of instances to a minimum.
My 2 cents. :)
source share