What Andrew Said About Containers
Kir posted a blog entry regarding Andrew Morton's keynote from the LinuxWorld Expo 2007 keynote (from August as seen a few items below) wanting to get a transcript of what Andrew said about containers and OpenVZ... so I spent about 30 minutes making it so. Here's what Andrew said:
"The one prediction I am prepared to make... is that over the next 1 to 2 years there'll be quite a lot of focus in the Linux kernel on... the core of the Linux kernel... on the project which has many names. Some people call it containerization... others will call it operating system virtualization... other people will call it resource management. It's a whole cloud of different features which have different applications.
It can be used for machine partitioning, to partition workloads amongst one machine... otherwise known as workload management.
Server consolidation... well you have a whole bunch of servers which are 30 percent loaded... well move all those things onto one the machine without having to tread on each others toes.
Resource management... a number of people in the high end numerical computing want this... numerical computing area want resource management. Other people who are running... world famous web search engines... also want resource management in their kernel.. in fact... the major, central piece of the whole containerization framework is from an engineer at Google. It's in my tree at present and I'm hoping to get it in at 2.6.24. It's just a framework for containerization. A whole lot of stuff is going to plug in underneath it... which is under development at present.
So an example of resource mangement is you might have a particular group of processes.. you want to not let it use more than 200 MB of physical memory and a certain amount of disk bandwidth/network bandwidth... a certain amount of CPU.. so you can just have this little blob and give it maximum amount of resources it can consume... let it run without letting it trash everything else which is running on the machine. So that is a resource management application. People also need this feature for high availability.. and I'm not really sure I understand why.
Also the OpenVZ product... which comes out of the development team in Russia... that's a mature project that is mainly for web-server virtualization... having lots and lots of different instances of the web-server on one machine... not have one excessively taking resources away from another. They've been working very hard... and very patiently... and with great accomodation on this project. I hope slowly we'll start moving significant parts of the OpenVZ product into the Linux kernel... in a way in which is acceptable to all the other stake holders... so that those guys don't end up carrying such a patch burden.
So resource management is... it's a large, complex feature... there's lot of different stake holders who share the technology but don't really share... have much commonality in the applications. So they are interested in providing quite different functionality to their customers... but it happens that the kernel functionality itself has a lot in common... so there's quite a lot of cat herding involved in getting all this to come together.
Some of the base parts have been merged... in fact were merged probably 6 or 9 months ago into the kernel. It's something we didn't actually need in the kernel but it is infrastructure that will be used later on as this development roles out. I can probably identify eight... ten... engineers who are working on this at present... from at least four of five different organizations... and it is coming together quite nicely... so I'd expect to see a lot of work happening in that area over the next year or two."