I would say that, ceteris paribus, and this code will really be tied to the processor and will not be useful to any shared memory running several processes on the same machine, you should choose single-core machines , not multi-core machines.
Causes:
Isolate error areas
Scaling, rather than up, is best done when possible, because it naturally isolates errors. If one of your small nodes falls, it affects only one process. If large node crashes, several processes are omitted.
Load balancing
Windows Azure, like any multi-user system, is a shared resource. This means that you are more likely to compete for CPU cycles with other workloads. Having small virtual machines gives you a better chance that they will be distributed between the physical servers in the data center that have the best resource situation at the time the computers are prepared (you would have to make sure to stop and free the virtual machines before restarting them again to allow azure fabric placement algorithms to select the best hosts). If you used large virtual machines, there would be less chance of finding a suitable host with optimal rivalry to host many virtual cores.
Virtual processor scheduling
It's not entirely clear how virtual processor scheduling differs from physical scheduling, but it's something worth reading. The main thing to remember is that hypervisors such as VMware ESXi and Hyper-V (which runs Azure) plan several virtual cores together rather than separately. Therefore, if you have an 8-core virtual machine, the physical host must have 8 physical cores at the same time before it can start the virtual processor. The more virtual cores, the more unlikely that the host will have sufficient physical cores at any given time (even if 7 physical cores are free, the VM cannot work). This can lead to a paradoxical effect, which leads to the fact that the virtual machine will work worse when more virtual processor cores are added to it. http://www.perfdynamics.com/Classes/Materials/BradyVirtual.pdf
In short, one vCPU machine is more likely to receive a fraction of the physical processor than 8 vCPUs, all the rest are equal.
And I agree that the prices are basically the same, with the exception of the slightly higher storage costs for storing many small virtual machines compared to the smaller large ones. But storage in Azure is much less expensive than computing, so the likelihood that it will not give any economic scale.
Hope this helps.
Noah stahl
source share