| Outside of build and test systems and extreme legacy software support, virtualization itself is in the category of things that should not exist. I should be able to put up a server and sell accounts on that server to the general public. People should be able to log in, install and run services, etc. The box should not get instantly pwned, and people should be able to use it without interfering with each other. All resources -- disk, memory, IP addresses, bandwidth, etc. -- should be able to be assigned to users and/or user groups and managed by the box's true super-user(s). You can't do that because Linux/Unix and every other OS has a woefully incomplete and outdated model around things like security, user and group management, software installation and library organization, quotas, and privilege isolation. The popularity of virtualization and containerization are an admission that OSes are broken. While they are "multi-user" in a 1970s computer lab sense, they are all fundamentally single-user OSes from a modern perspective. There are no true multi-tenant OSes on the market; virtualization is an ugly hack to make single-tenant OSes host multiple users. Nevertheless I think it's a situation we're stuck with due to the massive legacy software investment we have in these platforms. Plan 9 is full of cool ideas but nobody uses it because nobody uses it, and nobody will use it because nobody already uses it. The only way I can see this situation getting better is if someone were to put serious money behind a really well-engineered alternative. But I don't see that happening because there'd be no profit in it. OSes are now in the category of things everyone expects to be free, so there is no longer any incentive to invest in them. |
These systems appeared hacked together because that's the only way real-world systems work. The only way to build a complex working system of any kind is to start with a simpler system and add to it. But systems have minds of their own that are beyond the control of any engineer contributing to the project, and anything big and effective enough to compete with Unix/Linux will have just as many problems, if not more.