0
votes

After going through several similar questions I am still not entirely sure about the pros and cons of the two approaches; hence this question.

Based on my understanding it is possible to have

  1. Multiple roles (Web and/or Worker) in a single Cloud service.
  2. Alternatively we can have these roles separated in their own Cloud service (our current approach).

What are the benefits of either approach over the other and particular use cases where either one should be preferred/avoided. Also how do they compare to each other when it comes to scalability and availability?

When do I choose which? My understanding at the moment is both offer the same except maybe the pricing.

2

2 Answers

1
votes

if you did not see that Azure Multitenancy Guidance, i highly recommend to take a look, because they wrote it using Cloud Services as an example and the link above discusses some of the architecture decisions you are asking of. IMO, it is difficult to say that first approach is better then the second somehow, it depends on what is the scenario in your project.

I would say that one of the important things are the limits of one Cloud Service. If you have the project that has instances that should be unique for the customer, then it can be more difficult to isolate your users if the solution is in the same CS, etc. A lot of decisions - mostly depends on the project specifics.

0
votes

One difference between the two approaches is in deployment. Cloud services are deployed with all their web roles and worker roles together. If you need to have separate deployment schedules for some of your roles, separating them into different cloud services will allow you to do that.

As for pricing, I don't think there is a difference as cloud services are billed on a "per (role) instance" basis and this does not change between the two options you described.