3 ms·
I don't understand why Google would use virtualisation. Why would they split a physical box up? Ease of administration. It turns out to be much easier to have
by mechanical_fish 16y ago
I don't understand why Google would use virtualisation. Why would they split a physical box up?
Ease of administration. It turns out to be much easier to have ten virtual machines running one daemon each than one virtual machine running ten daemons. Fewer interactions, cleaner process boundaries (the boundary between one VM and another is pretty thick), easier debugging. Easier to swap out parts without affecting other parts. Much easier scaling. (If you need more servers for Service X, launch more VMs; if your machine needs more RAM to hold those VMs, launch the VMs on a different physical box -- the system doesn't need to be changed to support that because it's already architected to assume separate "machines" for everything.)
For more on the subject ask Ezra Zygmuntowicz or his blog and books. I stole all of this material from him.
- retube 16y agothat's a great response, cheers
- gaius 16y agoIt turns out to be much easier to have ten virtual machines running one daemon each It's funny, when you needed one OS instance per network server daemon on Windows in the 90s, everyone laughed at it. Now it counts as cutting edge thought.
- borism 16y agoEveryone laughed at it because at the same time there were OSes available that could run unlimited number of daemons simultaneously. Now it's a matter of choice for system owner. And of course all those single-daemon VMs run inside OS that lets numerous VMs run at the same time.
- silverlake 16y agoWould Solaris containers or Linux VServer work as well here? One would need good management tools, of course.
- jeebusroxors 16y agoI haven't gotten super in depth with containers (zones or ldoms) but I don't think they inherently offer nearly as much flexibility as vmware. Not to mention Solaris 10 can be...interesting.
- adambyrtek 16y agoNot to mention that you can do cool things with virtual machines like live migration and fail-over from one physical machine to another in a fully transparent way.