Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Azure - 2x extra small or a single small instance

Starting out with Windows Azure, but how do I know which is better to handle web-traffic and a background processor. Would 2x extra small instances be better or a single small instance.

If I were to use a small instance, I would make the background processor in the web-role, what are the cons of doing it this way?

In future this would also apply where multiple small instances or fewer big instances.

Is there some sort of tool to help decide which way I'll be able to get the best bang for my buck etc.?

I know that for the Microsoft's SLA to be met 2x instances need to be running.

like image 926
Jason Jong Avatar asked Jun 03 '11 07:06

Jason Jong


1 Answers

It is better to have 2 extra-small rather that 1 small instance as far service availability is concerned. That being said there are multiple gotchas:

  • You need to put your 2 VMs into 2 distinct upgrade domains (done in role definition file).
  • Your app needs to support multi-VM, aka not rely on non-shared session state.
  • Better availability does not mean better performance, in particular, local cache is basically halved.

Size of cache and overall difficulties at spreading an app over many small VMs typically explain why most dev stick to a single but larger VM until they reach a point that really calls for scaling out (which is likely to never happen for most apps anyway).

like image 191
Joannes Vermorel Avatar answered Oct 20 '22 14:10

Joannes Vermorel