It's been two years since we reviewed Solaris 9 x86, and since then Sun's flagship OS has been reinvigorated. Solaris 10 embraces a 64-bit version of the x64 architecture with a fast and secure offering - and its aggressive pricing makes it as affordable as Linux.
Although software support remains weak compared with Windows and Linux, Solaris 10 is arguably the best server OS available today for commodity servers running 32-bit or 64-bit x86 processors (sometimes called x64 processors). Many of the pieces are in place for Solaris enterprise desktops as well, though it suffers from the same end-user complexity and application limitations as does Linux.
I tested Solaris 10 on two Opteron-based systems: a dual-processor Sun V20z server with 4GB RAM and a dual-processor high-end workstation with 4GB from Electronic Business Solutions (EBS), a long-time Solaris reseller and integrator.
Both systems came with the 64-bit OS preinstalled and configured. The software stack was pure Sun: Java Enterprise System (JES) on the server and Java Desktop Systems (JDS) with StarOffice on the workstation.
After more than a month of use for the server and three weeks for the desktop, the conclusion was clear: Solaris 10 is fast and stable. Its ability to isolate applications into their run-time containers is a strong security feature, and aggressive use of containers should be considered a best practice by Solaris users.
Containers are also a feature of Solaris 10 when running on a desktop, but they're hidden from view by the Gnome UI; only skilled administrators can configure them for apps such as Web browsers and network-shared resources. In fact, many of Solaris 10's core functions are hidden from the GUI interface, even if the user is logged in as root, which is a pity. Even manipulations of the network infrastructure require knowledge of Unix utilities.
Three of the Solaris 10's new core functions stand out as revolutionary: containers, mentioned above; DTrace (Dynamic Tracing); and portable source code.
Containers aren't virtual machines like VMware; instead, Solaris' containers provide secure boundaries between individual applications or application groups. Each container can be allocated specific hardware resources, such as access to memory or disks, as well as network bandwidth.
During testing, I configured one container to have exclusive access to a particular Gigabit Ethernet interface, which allowed all other containers to share a different Gigabit Ethernet interface. An application crash in a container shouldn't affect other containers or the machine as a whole. Unfortunately (or fortunately, depending on your perspective), I couldn't create a crash, so I couldn't test this feature.
Each container has its own accounts, including root, and is extremely configurable. For any organisation concerned about isolating apps for fault management, hosting server consolidation, or partitioning admin privileges, it's a perfect solution.
In the hands of a skilled application administrator, DTrace could be quite valuable. Unlike many run-time trace tools, it allows threads and processes to be mapped and monitored across binaries such as noninstrumented code and the OS' own libraries and kernel.
The primary benefit of these mappings is to identify bottlenecks so apps can be tuned during run time or in source code. However, DTrace is complex, and the results aren't obvious - it's a great tool for specialists.
When it comes to app compatibility, Solaris isn't Java - the binaries aren't portable between architectures (though they remain portable from earlier versions of Solaris on the same chip family, so you don't have to recompile a Solaris 2.6 app). However, on the small apps I tested, the source code was portable between 64-bit Sparc, 32-bit x86, and 64-bit x86.
On the server, administration isn't easy. There's no user-friendly administrative GUI; Solaris remains a tool for professional Unix or Linux administrators who love the command line. If Sun is going to take on the mass market and compete against Windows Server 2003, it must create a management console that encompasses all features and functions of the server.
As for the desktop, it's on a par with the very best Linux systems. The Gnome-based UI is intuitive and works seamlessly with JDS and StarOffice. A number of individuals given access to the test workstation - and told only that it was something different from Windows or Mac OS X - had no trouble completing simple and complex tasks, such as setting up and using printers and other devices.
Sun deserves kudos for device support. Although I can't use an iPod on it, it did support a FireWire-based DVD burner, high-end Nvidia graphics card, CompactFlash reader, and USB trackball out of the box. Sun also added live update-style patching to the core OS, an important feature for end-users and administrators alike.
Application support, however, is still less than stellar. But Sun has finally ported over JES to both the 32-bit and 64-bit Solaris x86 platforms. With luck, and with encouragement from Sun, more software will follow suit.
It's doubtful that Solaris will knock Windows off the desktop, but it might make a run at Linux, particularly in the enterprise. On the server, Solaris 10 is everything Linux x86 is and more, particularly with DTrace and containers, and it has an architecture and reputation for security and availability that Windows Server 2003 can't match. This version of the OS means business.
Sun Solaris 10 for x86/x64
Cost for Support: $228 per socket per year for a Solaris Basic Service Plan; $468 per socket per year for a Solaris Standard Service Plan; $696 per socket per year for a Premium Service Plan. The Solaris 10 (latest release) DVD media kit is available for $90
Bottom line: Solaris 10 demonstrates that 32-bit and 64-bit x86 chips are now first-class platforms for Sun's flavour of Unix. This version of the OS is fast, stable, and - finally - well-supported by Sun's own software and some software offerings. If you're considering moving to a 64-bit x86 platform, Solaris 10 is a strong competitor. The product is distributed in Australia by Alstom IT.