Wow! With Solaris 10, Sun Microsystems has done a marvelous job of bringing Solaris fully into the x86 world. Gone are the days when Solaris only runs on Sun hardware or when it only runs well on Sun hardware. Solaris 10 comes with greatly expanded off-the-shelf x86 hardware compatibility and a license that is hard to beat. It’s a binary right to use and Open Solaris, the open source version is soon to come. IT Managers that have been wanting to bring a stable, scalable Operating Environment into their network infrastructures, but who have been unwilling to commit to the Sun hardware platform, for various reasons, are now free, pun intended, to bring Solaris on board and to run it on the hardware of their choice. When I attended the Solaris 10 launch event, last November, I was very impressed with what was planned. Technical feature after technical feature were revealed. Solaris Containers (Virtualization Zones), Project Janus (Linux Binary Compatibility), ZFS (the hardware agnostic file system), Predictive Self Healing, DTrace (Dynamic Tracing), FireEngine (the new, completely rewritten TCP/IP stack), and on and on. I remember asking myself, “Can the reality even come close to the hype?” A couple of releases later, I am definitely tempted to say, “maybe”. With ZFS and Linux Compatibility still missing in action, I lean towards, “no.” However, what is demonstrably there, is very worthy and to be frank, amazing.
I have just spent three weeks putting Solaris 10 3/05 through its paces and on the whole, it was an impressive display of technological muscle. The developers at Sun deserve huge raises. Three technological features were standout: Solaris Containers, DTrace and FireEngine. I will address each, in turn.
What is a container? It is a software partition. Sounds pretty innocuous, doesn’t it? Well, it is anything but. This baby allows you to “create up to 4000 secure, fault-isolated software partitions (or containers), each with its own IP address, memory space, file area, host name, and root password”, to quote Sun’s marketing material. If you want to maximize your system’s utilization, this is the way to do it. Zones are a technological marvel but they can be a configuration Hades. I typed, “man zonecfg”, and wished I hadn’t. Not to worry though, Angel Camacho, a Sun employee has written a very nice tutorial, over at BigAdmin that is a breeze to follow: Container Demo at BigAdmin.
Image 1 – JDS Terminal Window Showing Some Running Zones
I was able to get the containers up and running, chewing up cpu and memory, in about an hour (I was exceedingly careful, or I could have been done in 15 minutes). I had to make some adjustments to accommodate for differences in our hardware configurations, but Angel’s work is commendable and clearly demonstrates the feature. Extending the demo is straightforward and illustrative of the power of the technology. It is all about driving utilization and containers maximize system utilization. Containers are easy to backup, restore, boot and reboot. In my experience, it took about 10 seconds to boot/reboot a container – much faster than the equivalent physical computer.
What can I say? DTrace is still the cream of the crop. Maybe it is the developer in me, but I love this techno-gem. DTrace exposes EVERYTHING about running processes, and I mean EVERYTHING. The GUI or lack thereof is appalling, but even as a command-line, scripting language, DTrace is the most powerful tool of its kind. I am not going to embarrass myself by recreating my DTrace adventures. I will simply point you at the BigAdmin DTrace resources page and if you are truly curious and technically savvy. I suggest that you read the tutorial. Suffice it to say that DTrace works, as advertised, and then some.
Now known by the exciting, “Networking Performance”, moniker, FireEngine is likely to provide the biggest performance boost of all for networking environments. The new TCP/IP engine included with Solaris 10 so outclasses its predecessors and even many of its competitors, that it’s simply stunning. I enjoyed moving massive amounts of data around without much more than a momentary spike of CPU utilization. It might have been apropos to call it FireHose – a massive torrent of data moving at unbelievable speeds. More information on the Networking Performance feature of Solaris 10 can be found here.
With all of the goodness, is there any badness? Definitely, as I mentioned above, ZFS and Linux Compatibility are still MIA. The Sun marketers spent a lot of time and effort pumping up these features and yet, here we are in mid 2005 and these features are still missing. Read about them on the following pages:
Another disappointment for me is the sparseness of the Java Desktop System – JDS, menus. JDS is the new interface of choice in Solaris 10. I had high hopes that the switch to JDS from Common Desktop Environment – CDE, would be a vast and telling improvement considering that CDE is fairly unchanged, since the dawn of computing. JDS is a huge leap forward in usability. But it has some of the appearances of being tacked on as an afterthought. The CDE menus contain important commands that are either missing from the JDS menus, or are buried in some obscure location. Take the puzzling omission of the Solaris Management Console – the main graphical administrative tool and the Printer Administrator from the JDS menus. It is amazing to me that these critically important programs do not have a corresponding menu item in JDS. CDE includes these applications in the menus along with other, less critical applications. CDE also comes with a Help menu that contains help in addition to links to the Answerbooks, Solaris Support and Sun Solve. Even so, on balance, JDS is still a serious improvement to the UI.
Some folks consider this a feature – I consider it an annoyance. Solaris insists on not having Bash, or another modern shell, as the default. What this means to the user, is that there are not reasonable line editing or history features. For example, in most modern operating systems you can use the left and right arrow keys to move the cursor left and right to modify the command on the command line and use the up and down arrow keys to select previously executed commands. In the default shell, you are completely out of luck.
Solaris 10 is chock full of new technology. Along with XP, Linux and Mac OS X, Solaris represents the new best of breed operating environments. To underscore the importance of Solaris, one need look no farther than academia. Reference, Wiley’s “Operating System Concepts”, 7th Edition, by Silberschatz, Galvin and Gagne, dedicates a significant amount of text to Solaris. If Sun can get the missing features into Solaris and improve the UI, the sky is the limit. To read more about the features in Solaris 10, start by looking at the Solaris Data Sheets.
Get it! Solaris 10 is a stable, powerful and speedy operating environment that is free to use, works with commodity hardware and has a vibrant, growing community of users. This is a “must have” upgrade for existing Solaris users. Get Solaris 10 Here.
If you would like to see your thoughts or experiences with technology published, please consider writing an article for OSNews.