What's in a name? that which we call a zone
By any other name would virtualize as complete;
One of the most common questions raised during boot camps and other Solaris briefings deals
with the subject of containers and zones. There seems to be some confusion as the terms
appear to be used interchangeably. Yes, they are related - specifically a zone is a new
type of container introduced in Solaris 10, but containers have their origins much earlier.
The 1913 Webster dictionary defines a Container as
Container \Con*tain"er\, n.
1. One who, or that which, contain
which provides the foundation of the Solaris container. Quite simply, a Solaris container
is any method by which the resources of an application can be controlled (contained). I
suppose the origins of the container could date back to the earliest days of Solaris 2 with
the introduction of the processor_bind(2) system call and the pbind(1M) administrative command.
These controls were somewhat cumbersome for all but specific workloads and a bit primitive to
be called a container.
The container became a recognizable entity with the introduction of the Fair Share Scheduler (FSS)
in the Solaris 2.6 timeframe. We had a new scheduler class and a relatively easy to use
framework to label and control resource usage for complex applications. So we had a container
(project), but it was an unbundled product - so not quite a Solaris container.
When did Solaris get a container ? When the Solaris Resource Manager (SWM) became bundled in
Solaris 9. Every instance of Solaris had the capability to control resource usage
of nearly every application. Why didn't we call it a container in Solaris 9 ? We
only had one type of container (a project), so it wasn't really necessary to give it two different labels.
With the introduction of Solaris 10, we have a new type of container, the
Solaris zone.
Solaris zones are a virtualization technology that adds a security barrier around each user space instance.
We now have two orthogonal application controls: security and resource limits. The name containers was
introduced to describe both of these technologies.
So is a zone a container ? Absolutely. As are Solaris Resource Management projects and resource pools. And
container technologies can be combined to provide several dimensions of application controls (virtualized
user space object, resource caps, resource guarantees). Perhaps there will be other types of containers in the future, but for the
moment we have three very interesting technologies that can all wear name container.
Technocrati Tags:
Sun
Solaris
Zones
Trackback URL: http://blogs.sun.com/bobn/entry/what_s_in_a_name