Going to school on Zones

I have been asked by a fellow Starbucks addict to add Tomcat to the zone testing mix. We have been talking about providing a container-per-student in a classroom setting (he is an instructor doing computer science geek stuff).

In a previous life (pre-daughter) I taught Java as part of an extended university program. I had to provide my requirements to the university and they would build a disk (yes a DISK) with the image on it for doing software development. Before each class they would go in and swap all the hard drives. Now that's expensive and labor intensive. This instructor has a similar situation. Actually, pick an instructor and they have the same problem ...

With Solaris 10 we can create a zone template for each course served by the server. Here's the thought:

  • At the start of the semester: install a zone for each student in each course
  • Set up a cron job to boot and halt zones when appropriate:
    • 9:00am Boot student zones for web development course
    • 10:25 Halt student zones for web development course
    • 10:30 Boot student zones for database development with MySQL course
    • 11:55 Halt student zones for databasae development with MySQL course
    • ...
  • When at home or in dorm, provide a web form for a student to boot/halt his/her zone.
  • At end of semester delete the zone.

Of course SMF will launch the appropriate services for each course. The next thing we are talking about is front-ending the zones with Sun Rays or Windows Terminal Server (that's another blog entry ) where he can run NetBeans or Eclipse (yet another another blog entry ).

In the meantime, I have to install Tomcat and get an idea about memory (primarily resident set size) so he can get a feel for the number of students we can support on a server. As for CPU, well, we'll just have to track that in a real-world setting to get a feel for how his students will utilize the zones ...

The next step, if zones can be stored on an NFS mount, would be to provide a rack of servers and dynamically launch a student's zone on server in a zone server grid. That will let us load balance regardless of student or course. That is yet another blog entry.


This is exactly the kind of thinking Sun needs to make customers aware of the value proposition of zones.

The idea of one zone per student is not new, but this is the first time I have seen the idea of starting and halting them based on the class schedule.

Another idea might be to use the fair share scheduler and adjust the share allocation by class schedule.

The NFS mounting is also a good idea. Now think of that, along with the option of SAN mounting, in a disaster recovery context. Mirror, or replicate the zone contents over a distance, and then start the zones at the new site as required. This is one of the advantages IBM pushes with mainframe LPARs, and also with mainframe Linux in a VM.

If Sun can get to the point that all of the tunables are in the zone, and the global zone is generic, and merely abstracts hardware and connects to the world (network and storage), the zone becomes portable, which is very good for disaster recovery.

VMware has done a very good job of extending the value proposition of their product. Sun must do the same with Solaris and its various features.

Another example: Can the visibility Dtrace provides make Solaris 10 the better primary developer platform? Can developing on Solaris 10 provide a distinct value add for developers compared to Linux or Windows?

I'm sure there are more examples, but Sun needs to determine some of the best, encourage them, get proof points, and then evangelize them.

Posted by Mark on January 26, 2005 at 01:24 AM PST #

The idea of using cron/SRM instead of booting/halting zones is one worth investigating (good idea). My guess is that you would want to stripe your SWAP so students can get a good response time when their class starts up and the zone needs to swap in. This is the same thing we recommend for Sun Ray servers.

On the global zone comment, yeah, i would keep the global zone generic in that it's only use is to secure the box and manage the local zones. Lock down that global zone, don't even give it an IP address on the public net (just use the remote sytem console capabilities). There are exceptions (today) where some services will only run in the global zone (NFS server, etc).

Linux on a mainframe? Wow. That's expensive. Running Linux apps on Solaris 10 (in containers) is much, much cheaper :) Heck, we can do that on a laptop.

Dtrace is primarily a developer tool! I wish I could recall where I read/heard it, but some developers were going to pull instrumentation \*out\* of their application code and leverage Dtrace. Along those lines, some developers take code running on Solaris 8 & 9, run it on 10 with Dtrace to debug/optimize ,than run it back on Solaris 8 & 9.

Posted by John Clingan on January 26, 2005 at 02:31 AM PST #

John, concerning Striping Swap. Do you really think that's a good idea? Last time I checked was in Solaris 2.6 (with measurable Data) but, instead of Striping Swap, just configure several swap Partitions, Solaris will use them in a "striping like" access but, because each swap page is only in one device, the other spindles are garanteed to be free for serving the next request.
Did you test one agains the other?

Posted by Jaime Cardoso on January 26, 2005 at 02:59 AM PST #

Mark, you make lots of good points-- You really get it! Please help us by spreading the word; often a voice like yours is much more authentic than an "evangelist" who happens to be on our payroll. And I think people like John are also doing a fine job.

Yes DTrace and other of our technologies do make us an outstanding developer platform. Big corporate developers are figuring that out, and more will catch on. We're out having conversations about that with anyone who will listen. We're also fortunate to have an executive staff who have come to understand that developers are a key part of the "circle of life" of our marketplace.

As for Zones-- I've been working on the Zones team for almost three years now, and we've heard a ton of feedback from customers. Certainly the request for zones on NFS shares isn't new, and is something we have working in prototype form in our labs (it turns out to be surprisingly complex).

And we are out "evangelizing," although I don't like that term because to me, at least, its use in the high tech industry implies we're not discussing things with people in a critical and inquisitive fashion. An example of the sort of event I really enjoy was when we presented to a packed house at LISA '04. After an ~80 minute presentation, attendees stuck around for another hour and a half telling us about what's good, and what's bad. We were also swamped with eager (and even some angry) attendees at our "booth" at the event. We reached a couple of hundred people over a three day period. John's Containers Demo was part of our suite of demos, and was a big hit!

Please sail over to my 'blog and to David Comay's to learn some additional stuff about zones. Thanks again for your constructive feedback.

Posted by Dan Price on January 26, 2005 at 02:25 PM PST #

Dan, One of the "good practices" is never to jump to a new version has soon has it's released. I think that's why they call it Bleeding Edge, you're on the Edge (good thing) Bleeding (bad).
One of the things that would help me most in my work has a Sun reseller would be a list of when the projects that resulted in Solaris 10 actually started. Something that enables me to go to a customer telling him "No, this is not new stuff, it's a 3 years work now available to the public. You (Sun) have thousands of people that are NOT in your payroll but always thought Sun was superior to all the rest of the competition. We don't talk at Lisa but we are along side customers every day (and most nights). That must count for something.

Your comment that the Zones project started (at least) 3 years ago was noted. ZFS started (more than) 2 years ago so, I'm already building that list, the hard way.

Anyway, overall, you are all doing a great job and I'm happy and proud of being a Sun systems tech and being one of the people that contributed for Sun opening an office in Portugal that (8 years latter) is doing way above theyre assigned quota, every year.

Posted by Jaime Cardoso on January 26, 2005 at 08:15 PM PST #

Jaime, on your stripe comment, yes that's the intent. However, each one of those should be mirrored volumes. Also, on your bleeding edge comment, the idea of Solaris Express is to get as many customers pounding the bits as possible to get feedback on features and to knock out the nasty bugs. I have been running Zones for 9 months now, and 6 months in "production". I really don't think it's \*bleeding\* edge anymore. However, it is new and best practices are still emerging. Zones are not as feature rich as we would like yet (note the zones on NFS desire), but guys like Dan are knocking out those RFE's one by one.

Posted by John Clingan on January 26, 2005 at 10:40 PM PST #

Post a Comment:
  • HTML Syntax: NOT allowed

John Clingan-Oracle


« August 2016