Monday, January 4, 2010

Looking back a decade, part 3

This is the last part in the series, bare with me, i'm back to my ordinary posts after his. We are now looking at the time from 2008 to present.

The last year of the decade where very challenging for Sun, forcing more cutbacks and changes, the profit and stock price was no way near where it should be. Sadly, while Sun have had many good technical solutions and technologies they often have failed to profit from them. The crown jewel, Solaris also faced increased competition mainly from open source operating systems forcing it to evolve and change more rapidly.

A few years after Solaris 10 was released, Sun created a new distribution of OpenSolaris, this effort was named Project Indiana. The aim was to create a new packaging system and to make OpenSolaris more user friendly with a new graphical installer. The user environment was also to be updated to make it more similar to what other open source operating systems provided.

So after all the years of success in the nineties and early 2000 why did Solaris need to change except for opening the source? Solaris 10 was solid and combined an unique feature set with good performance, what problems initiated this new project? As I see it there have been three main areas that other operating systems have done better in than Solaris, all impacting new users acceptance of the platform:

Packaging
While SYSV packages have worked well for a long time (sort of) it lacks any function to install software from central repositories and to resolve dependencies between packages. This makes it harder for new users to get their software on the platform. It's not so much of a problem for large deployments where every package is controlled and well tested, but for developers, small companies and hobbyist it can be a bit of a challenge. The old system with patches was equally hard for new users, there where no built-in function in the patching system to find and apply new updates.

Software
Acceptance and integration of free software have been slow in Solaris, other operating systems have had a wider and more current base of packages available for installation in their repositories.

Hardware
Hardware support on the X86 platform have been limited, especially for home assembled systems that might use hardware that is not common in severs or finished systems from larger vendors.

On the bright side, all three points have been improved drastically. Project Indiana (what is now OpenSolaris 20xx.xx) addressed the first two points, the new packaging system IPS support central repositories and much more software is now available that can be directly installed with a simple command, including updates. It also comes with a brand new graphical (and soon text based) installer that makes the installation experience easier and prettier.

Hardware support for X86 platforms have also improved. Sun have developed more drivers and begun to support a wider range of x86 hardware, other vendors such as Intel and AMD have also contributed. There is support for laptops, WiFI chipsets, power management including suspend/resume and pretty all the latest CPUs from ADM and Intel. There is also support for the latest and greatest graphic cards from NVidia.

Solaris have several unique features not matched by any other operating system today, but the three above points have probably made it harder for new users to adapt the platform. Especially in recent years when users have became custom to easy software installation by a single click. In the good old days it could take days of compiling and patching to get any software installed ;)

As happened with many other of Suns inventions such as VFS, NFS, PAM, loadable kernel modules and RPC, the good ones have continued to spread from Solaris to other operating systems. MacOS X now has DTrace (almost got ZFS too) and FreeBSD has successfully ported ZFS.

Beginning with the integration of ZFS Sun became involved in the storage market, Solaris today contains a complete storage stack with ZFS, iSCSI, CIFS, NDMP, FCOE and NFS. This lead to (or probably been driven by) the amber road storage appliance in 2008. OpenSolaris was used as the base for this appliance system, leveraging DTrace and ZFS to the end user with a simple and powerful web user interface, by far the best graphical interface Sun has ever made. Amber road is based on ordinary X64 servers produced by Sun tied together with OpenSolaris and a custom built interface. This is a quite impressive product, and much thanks to that it uses both general propose hardware and most of the Software it's very competitively priced. I've thought we would see more of this, a similar for the MySQL databases for example.

The next challenge for Solaris will be the transformation from Solaris 10 to what today is OpenSolaris. This will not only be a new major release, it will also switch to the new packaging and installation system, both interactive and the succeeder to jumpstart named AI. OpenSolaris still needs some time to mature before it can be the source of the Solaris 11 or what marketing decides to name it. But it's getting closer, especially with the 2010.03 release, especially if it gets all its promised console based installation features.

On the hardware side Sun begun to partner with Intel from previously mainly working with AMD. The long awaited new Rock CPU was canceled in the last minute mid 2009, the launch was probably not long away since even Solaris 10 updates available to customers included some support for Rock. But the following bugid put an end to that: "6858457 Remove Solaris support for UltraSPARC-AT10 processor". Sun now have the Niagara line of CMT processors for throughput computing, but relies on Fujitsu for single thread performance, Rock should have made this gap smaller, delivering CMT with better performance per thread. The current M-class of servers are performing well, the SPARC64-VII processors from Fujitsu have seen several updates in the least years. They will probably continue be competitive for some time to come but SPARC customers need to to be assured with plans and commitment for future generations.

In the last year of the decade it was announced that Oracle intended to buy Sun, and while the deal is not finished, anything else is pretty much unthinkable by now. I think it wold have been better if Sun could have remained independent, but Sun needed increased profit, it's was becoming clear that this downward spiral was nothing Sun could get out of on it's own. The offer discussed right before the Oracle deal was that IBM where to buy Sun, this would most likely have been a disaster for most of Sun products. IBM would have piked the the best parts and then assimilated the rest. And there are several technologies and products from Sun that have a great value besides Solaris, SPARC, Unified Storage, MySQL and Java, for example VirtualBox, NetBeans and SunRay, to name a few.

Solaris and several other products have a good foundation to stand on, but the limbo caused by the Oracle deal is making Sun bleed, the acquisition should have been completed many month ago. OpenSolaris is off to a good start as the base of the next Solaris but more resources are needed in the project. Hopefully Oracle will keep it's promise and continue to invest in Solaris to a even greater extent than Sun has been able to do the last years. The same applies to the hardware, Oracle needs to deliver on it's promise to invest more in SPARC and show a new roadmap, otherwise the future of Solaris will only be on X64 in a few years. This might sadly be the case in the long run anyhow, it looks like we are on a road towards an single desktop and server architecture. If this is the case, please at least include OBP on these servers...

The next month will probably reveal more of the future for Sun and it's products, it will be interesting to see Oracles true intentions once the deal is finished and how Sun will be incorporated into big red.

No comments: