Why Linux administrators should consider OpenSolaris

When most people think of open-source operating systems, they tend to think of Linux. This irks the advocates of OpenSolaris to no end. After all, Sun Microsystems' Solaris was a fully matured version of Unix back when that Penguin-logo'ed Unix variant was just some uncompiled C code in Linus Torvald's desktop PC.

In 2005, Sun released the source code of Solaris under its own open-source license, calling this version OpenSolaris. Since then, Sun engineer Harry Foxwell has championed the OS, touting its benefits and working as an active member of the OS's developer forums. Earlier this year, Apress published a book Foxwell wrote with Christine Tran, entitled "Pro OpenSolaris: A New Open Source OS for Linux Developers and Administrators."

GCN: Why would Linux administrators want to take a look at OpenSolaris?

Henry Foxwell: Three reasons. First, it is designed to look like the environment that a Linux developer and administrator is familiar with. It has the Gnome [desktop environment] and all the GNU and Gnome tools. So the learning effort is not great, because the environment looks very much the same.

Foxwell: Another reason is that it includes all of the open-source AMP [Apache-MySql-PHP/Perl/Python] stack software that administrators and developers are familiar with. So again, the tools you use to build the infrastructure, the Web-based application services, will be familiar to you here.

The point that I made in the beginning of the book is that some people call themselves Linux developers but they really are open-source developers who happen to run their applications on a Linux OS. They could, in theory, use some other OS to support the tools they use. And OpenSolaris, in fact, does.

And third and most important reason is that we believe OpenSolaris has interesting technologies that are not in Linux. For example, it has built-in virtualization in the form of Zones. It includes the very popular ZFS [128-bit] file system, and the DTrace [debugger tool]. It includes a new way of managing services called the Service Management Facility.

How are services managed under this new system?

Foxwell: Historically, in Unix, services have been started, configured and managed with files in the /etc/rc directory. These are all controlled by scripts and each one has its own manner of starting a service or stopping a service. One of the things you can't get from that methodology is a common [way] for managing, monitoring or restarting the services. And you don't have any idea of the interdependencies of these services.

In Solaris, the Service Management Facility is a framework for managing all services. The key thing with this framework is the ability to understand the dependencies. So if something doesn't work, I know that service has something wrong [with it], or some dependency is broken. And that helps me determine why a particular service isn't functioning.

What are the steps for moving a server from Linux to OpenSolaris?

Foxwell: What you have would determine how much effort it would take to go from one to the other.

If you have a Web-based infrastructure — a Linux application server, database server and Web server -- moving from Linux to OpenSolaris would be fairly straightforward. The tools are pretty much the same, so essentially [all you'd need to do is] transfer your scripts, configuration files and data.

For custom C or C++ code, we do have the tools for recompiling. We have support for the GCC compiler or, of course, you could use the Sun compiler. And all the tools, the libraries and documentation are there to do that compilation.

Solaris has had the reputation for not having enough drivers for non-Sun hardware. Has support improved for OpenSolaris?

Foxwell: It certainly was a deserved reputation the past. With earlier versions of Solaris, especially for the Intel platform, it was difficult to find the drivers. Today, because of the great contribution of the OpenSolaris community, we have literally thousands of components that are supported. The place to go for these drivers is the Sun Web site's Hardware Compatibility List [www.sun.com/bigadmin/hcl/]. It is a listing of all the devices and components that work under Solaris. Certainly we are missing a few, but the most of the common ones are there.

Just as an example, I installed OpenSolaris on a random laptop the other day. And the only thing missing was the driver for the modem, which no one uses anyway.

How is OpenSolaris different from Solaris?

Foxwell: I guess the good analogy is the relationship between Fedora and Red Hat Enterprise Linux (RHEL). With Fedora, the open-source community gets the code, and has the ability to contribute, to change, to experiment with, and to add new features — that is what Fedora is all about. Periodically, Red Hat will take snapshots of that, run it through its quality control processes and ultimately produce something called RHEL. And most customers understand that RHEL is a supportable version of Linux, and Fedora is more for downloading, trying and playing around with.

So the same kind of relationship exists with Solaris and OpenSolaris. Solaris is the commercialized version. You can get 24/7/365 support for it. Most of our mission-critical customers are using Solaris for their mission-critical environments. With OpenSolaris, future technologies are developed, tried out and tested. Some of those technologies make their way back down into the commercial releases of Solaris. A good example of that is ZFS. It was first available in OpenSolaris, and later on it appeared in Solaris.

Can you run Solaris Trusted Extensions [Sun's mandatory access control technology for highly-secure environments] under OpenSolaris?

Foxwell: There is a very active security community in the OpenSolaris developer community (www.opensolaris.org), and there is an active community around Trusted Extensions. Trusted Extensions does indeed run on OpenSolaris, but at this time there is no direct support for Trusted Extension production deployments on OpenSolaris. If you want to run Trusted Extensions in a supported manner, then you need to run it on Solaris 10. But all the code is there, and all the features are there to try out.

How does OpenSolaris handle virtualization?

Foxwell: There are three different forms of virtualization that are supported by OpenSolaris.

The first one is probably fairly well-known. It called Containers or Zones. This is what people call a lightweight virtualization, where you don't have guest kernels running, but you have an environment that looks like it has a [dedicated] kernel, but all [the virtualized OSes] are running under one kernel, called the global kernel. Applications are then hosted in those zones. Each zone has a host name, an IP address, and a restricted space for its applications to run in.

Sun also has under development a product under the brand name XVM. I won't talk about the product, but within OpenSolaris, there is a component called the XVM Hypervisor, which is based on Xen. It is very much like what you do today in Linux with Xen support. And the third type of virtualization is based on the Sparc multithreading processors. The new version of OpenSolaris supports Sparc, and that gives you the opportunity to run a virtualization technology called Logical Domains, which is a chip-level virtualization technology.

Administrators might be worried about what direction Oracle may take with Solaris, should its acquisition of Sun go through. We understand that as a Sun employee you can't talk about the merger. But you can you say anything how OpenSolaris may be buffeted from the winds of change in this regard?

Foxwell: That certainly is a topic of discussion in the OpenSolaris community. I obviously can't say anything about the plans that Oracle may have around Solaris. But from what I understand, one of the reasons they went through the acquisition is the value they placed on technologies like Java and Solaris.

Today, the OpenSolaris trademark is certainly owned by Sun, and I guess it will transfer over to Oracle [if the acquisition goes through]. But OpenSolaris has a large and active community of users, developers and contributors — several hundred thousand people. I don't see that going away regardless of what will happen with the acquisition.

inside gcn

Reader Comments

Fri, Jul 24, 2009
Cade Foster
Sydney (Australia)

Greetings.
It should not be forgotten that during the period in which Linux was growing from someones bedroom in northern Europe and then entering the commercial scene through the "back door" (prior to IBM supposedly "seeing the light" and embracing Linux), Solaris had been satisfying real world constraints backed by service level aggreements/warranties.
It's a real bonus that Solaris has been open-sourced, giving us the OpenSolaris platform.
For the C/C++ developers out there ...
For me ...
1990s: C/C++ on MSDOS/Linux
2000s: C++ on Win2K
Since Jan 2009: C++ (SunStudio) on OpenSolaris
and my best coding experience up to now has been C++ development on OpenSolaris.
This is related to the features of the OpenSolaris operating system and the good development environment offered by the Sun Studio tools.

Please post your comments here. Comments are moderated, so they may not appear immediately
after submitting. We will not post comments that we consider abusive or off-topic.