If I had my own server product, for obvious reasons let’s assume I had some really cool and nifty collaboration solution, I would go for a complete product including the OS. Something like a stripped down Linux that does just want it needs and nothing else.
The installer would ask you for everything you need for the OS AND the application and then would install the whole product as one in either a virtual or bare metal environment.
Administration clients/consoles/apps would include all the necessary hooks, crosses or pull down menus for both, the OS and the application. Completely transparent for the admin.
That would give me several advantages. I could control the different elements much better. Testing would be a lot easier. Costs would come down. Problems with different lib versions, updates and fixes would be a thing of the past. The whole package would be under my control and the customer would have a much more stable system.
Why is this a bad idea?
This isn’t exactly the same idea as Foundations/Collax/CentOS which gives you an easy to use platform and after the installation you add the applications you like to run. I think it should be the other way round. You decide to install the CoolAndNiftY-Collab and the OS comes with it. It’s about the application. I believe, that the OS is nothing we should care about today. We should not touch it, if possible, it is just a black box that makes the cool things run.
Now apart from the fact that admins (and Microsoft/Novell/RedHat …) make loads of money by selling, installing and maintaining always the same base system, tell me, why shouldn’t we think the other way round?
Why shouldn’t we just add a basic OS that ships with every one of our cool server applications. Especially today were virtualization is just normal?
It would make life easier, wouldn’t it?
Yes I am aware, that there are systems like switches, routers and so on that use this approach and IBM is trying to sell (too expensive much to my regret) this in a kind of next generation Foundations with KVM as a base and VM’s ready to use, but I ask you, why on earth isn’t that just standard behavior? Why on earth do we still have to configure a Windows/Linux/Unix box to run an application? Isn’t that so last century?