Question

When load reaches a certain level in IaaS environemnt, new VM instances are created to reduce load (scalability).

My Questions that these VMs are not created on the same physical server, right?

I mean one VM with like 10 users will give the same performance as 2 VMs on the same physical server with each VM has 5 users.

If VMs are created on the same physical server, then how can this balance load?

For background, I'm just new to cloud computing programming and I'm trying to understand some of the concepts involved.

Était-ce utile?

La solution

You are assuming that the physical host has dedicated all of it's hardware to a particular virtual host. If the physical server has 8 processors and 32 GB of ram, and it dedicates 2 processors and 8 GB of ram to a VM, adding an additional VM which has another 2 processors and 8 GB of ram associated to it would increase the overall resources dedicated from the same physical machine. This same pattern would extend to all of the other resources on the machine, networking etc.

There is overhead to hosting two small VMs rather than one VM of twice the size. The operating system on each of the VMs consumes it's portion of system resources. There are also advantages of having two VMs compared to just one as well. If one of them suffers some sort of software fault the other is still running and can continue to carry the load.

As for SaaS vs IaaS, I don't think that's the question you want to ask. SaaS is Software as a Service, where there is software just running out on the internet for people to use. IaaS is Infrastructure as a Service which is letting you essentially provision VMs and other nominally physical assets using a web service. The connection is that if you have a SaaS application, your load isn't constant it fluctuates through the day, IaaS allows you to have more virtual hardware when load is high and less virtual hardware when load is low. This is where cost savings can become apparent. This is also nice since if your application all of a sudden goes viral on some media platform, the system can scale up and everything keeps working.

The other term you didn't ask about but warrants a mention to be complete would be PaaS or Platform as a Service. This is what is traditionally contrasted against IaaS, not SaaS. This is getting pieces that do stuff. Rather than getting a server and installing a web server on it that does something you get a service that executes code when something comes in. On the Amazon cloud offerings this would be lambda not EC2 which is IaaS.

Licencié sous: CC-BY-SA avec attribution
scroll top