Hacker News new | comments | show | ask | jobs | submit login

Would this type of virtualization prevent me from needing to have multiple copies of the os for each VM? I'd love to have multiple projects completely separated, without having 10 ubuntu server VMs. Maybe I'm just better off using virtualenv.

You probably want Linux containers (LXC). Or you can use KVM and get some memory sharing benefit by enabling KSM.


Just use virtualenv. It's what virtualization should be!

Virtualization should not be at the hardware level - that's just retarded and another unnecessary product.

To some extent I agree that virtualizing at the hardware level (particularly PC hardware!) is the wrong level. Ordinary Unix processes are another sort of virtualization, and one which is far more efficient.

However there are three facts that get in the way of doing the right thing:

(1) Does it run Windows?

(2) We've got Intel and AMD making PC virtualization acceptably fast nowadays, so it makes sense to just use that.

(3) Isolation between processes is not very strong [not sure about virtualenv] but between machines is a great deal stronger because people have a lot more experience protecting networked machines from each other.

>Ordinary Unix processes are another sort of virtualization, and one which is far more efficient.

... and backed by hardware!

1. You can virtualize fine on Windows. IIS does a wonderful job of virtualizing network services. (as of 2008 that is). And windows services are a form of secure process-level virtualization are they not?

2. It's acceptable until you whack several kernels and OS' on a machine, all running lots of processes at which point everything suffers. Cache locality goes AWOL, cache utilisation is shared, bus traffic goes up, so does latency and performance suddenly plummets.

3. It depends on the environment. Virtualenv just provides a consistent python software environment which can be isolated from everything else on the machine. As for other things: Look at FreeBSD's jails - that's as far as it should go[1]. Linux has ulimit and decent security. Windows has NT which is actually damn good and provides very good process isolation with respect to memory, CPU and IO no less.

If we needed virtualization, we wouldn't have processes.

[1] http://en.wikipedia.org/wiki/FreeBSD_jail

Not "does it run on Windows", but "does it run Windows". Seriously if you can't run full, real Windows on it, forget it, you'll never get anywhere in the market.

Anyway, you can't compare "virtualenv" which seems to be some sort of Python interpreter hack, with full virtualization. They are completely different things, with completely different use cases.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | DMCA | Apply to YC | Contact