Rants
Questions
Soapbox
Best Practices
Apply today for a FREE subscription to CIO Magazine!
Wed, Aug 15, 2007 18:45 EDT

|
Posted by: Bernard Golden in Best Practices Topic: ApplicationsBlog: The Open Source
Current Rating: |
Well, maybe he wasn't quite that blunt about it. But the inescapable conclusion from reading his email on the topic is that he doesn't feel the technology provides significant benefits and that it poses significant challenges in the area of device drivers.
Well, it's certainly understandable that he would be sensitive regarding device drivers, which have been the bane of Linux for a long time. Getting vendors to make Linux drivers available, providing source code for their drivers -- it's been such a nightmare that the Linux community has offered to write the drivers for vendors; all the vendors have to do is offer documentation on their device interfaces.
So, the downside of virtualization from Torvalds' perspective is certainly understandable. Less understandable is his perspective that the technology really doesn't offer any benefit.
My initial thought was that this is based on his experience with Linux running production payloads. From this perspective, virtualizing Windows makes a ton of sense; the fragility of the OS, particularly older variants, makes the "one app, one server" policy very comprehensible -- simply put, placing multiple apps on a single Windows server poses too much risk, since one misbehaving app can bring down the entire server, affecting all other apps on the machine. Consequently, virtualization helps IT organizations move beyond servers hosting one application and running at perhaps 10% utilization.
Linux, however, is much more robust and therefore less likely to crash as a result of app misbehavior (or, indeed, OS misbehavior). So my assumption was that Torvalds' attitude was based on experience indicating that Linux hosts routinely host multiple applications and achieve higher utilization rates, thereby negating the need to consolidate servers in order to avoid low utilization.
In discussing this with a friend who works at Red Hat and whose job entails working with large companies, he indicated that the scenario of "many apps, one Linux server" really isn't that common.
Firstly, most applications are written assuming they will have sole control of the machine, making it hard for multiple applications to share a server.
Secondly, and more troubling, every application defines its particular certified environment: a certain version of Apache, a certain version of JBoss (or, perhaps, WebSphere), and so on. And if a second app needs a different version of those components? Well, now it's easy to understand why Linux systems continue the
I think you misunderstood his email. He doesn't have any issues with virtualization as a whole. His issue is that the vendors are saying that the hypervisor replaces the need for the OS.
Let me explain. The previous versions of products like VMWare sat on top of the OS. The newer version of the products actually replace the OS in an effort to reduce a layer of the architecture to improve performance.
That is the issue that Linus has. He is not saying that virtualization sucks, he is saying that eliminating the OS from the equation is not the way to go.
I have to side with Michael Kavis on this one. You yourself referred to how difficult it has been to get drivers done for Linux. Now, we want the drivers in the hypervisor! Most device manufacturers would probably say enough already, we don’t want to deal with yet another set of drivers.
I think you are reading way too much into that interview.
Actually what he said was that he finds it totally uninteresting, then went on to say that this proves his point about open source: nobody has the control to limit or add features because they like or dislike them in an OSS project. In a successful project the maintainer understands that the software is not just for them, but for everyone. If they want to be like Napolean about the project it will dry up and die or worse, the developers will simply fork the code and start their own project which will be more successful since they listen to their users.
Personally I think virtualization is one of those things that would have forked the kernel had he gone against his nature and refused to allow it. That's not how he rolls.
Virtualization is now in the kernel (with his blessing) because the community is interested in it and so many people want it, it improves the utility of linux. Who is he to say no? It'd be like saying no to wireless because he doesn't have wireless devices and doesn't want any. It's not like you can't use a kernel without virtualization if you want one. You have a choice and that's what OSS is all about. Linus unchecks the option when he's configuring his kernel for compiling, so what?
It's in his best interest to support the community in this regard or they'll use a kernel that does support virtualization, and he loses mindshare, which is his worst nightmare. He wants the best most useful kernel tree in the world and wants to be the best kernel maintainer in the world.
There's a very active development community around virtualization in the kernel and he fully supports their interest, he's just not interested in it himself. That doesn't mean he thinks it sucks, he just doesn't see the use for it and isn't interested personally.
I don't either, but I'm not an ISP or someone that needs to maintain hundreds of computers for QA testing in an enterprise. If I were, I'd have a whole different outlook on virtualization. In fact I use virtualized boxes myself to develop and test software with. That doesn't mean I have a server at my house with 20 VM's in it. I'm simply not interested. All I care about is being able to ssh to something and run a compiler 8). Where or how that host is provided is completely irrelevant to me, but not the guy that has to manage and administer the hosts.
Those guys love virtualization 8). Linus's primary directive (from himself) is to make the most useful kernel in the world and be the best project maintainer in the world. Without virtualization support it's less useful and since so many people want it, he'd be doing a bad job as a maintainer to deny the feature.
From his point of view, as a kernel developer, virtualization is not real hardware, and his interests lie in writing a kernel that runs on hardware. If you read the rest of his email, he's very excited that people are this fired up about something linux can do, even though he has no interest himself and doesn't think it's very relevant. He's more than happy to maintain a hands-off approach to those modules and let the community have their way with them.
You have to be in charge of lots of servers to see the value and the people that are working on virtualization do see the value and understand the features they need way more than he would. He's doing virtualization a favor in this regard by staying hands off. Software written by someone who has no interest in the subject doesn't always come out very well, though he could probably do a fantastic job, if he wanted to.
I even see the value from an outsiders perspective, because I'm friends with the guys that have to maintain the VMs where I work. If it makes them happy it must be useful, right? My attitude about it is if my hosts work, then there is nothing wrong with virtualization.
Linus has the talent in his pinky that I do, but I can understand where he's coming from. He's actually got a very constructive attitude about everything that goes into the kernel. If you asked him the same question about some of the other modules in the kernel, he'd probably give you the same answer "No interest but it's cool that people are interested and making it happen".
Maybe I'm wrong, but that's what I read into that email. If he had no interest in wireless would that mean that he thinks wireless sucks? I think you need to put those comments into perspective. To him virtualization is just another module people need in the kernel and he's more than happy to help them improve the utility of linux by adding virtualization to the kernel, as long as he doesn't have to spend all his time working on it.
His opinion on the usefulness of virtualization means nothing since he's not running an ISP. He just wants very happy linux users and to be the best project lead in the world. Part of that is understanding when something has value to others, even though you have no interest.
-Viz