06 February 2005

Solaris 10: The Journey

Recently, it came to my attention that my RedHat Enterprise Linux subscription was about to expire. At the same time, the company I work for has decided they can no longer afford RedHat's overpriced subscriptions. Considering the licensing alone every year is comparable to a good chunk of one of our employee's annual salary. So, I started looking for alternatives.

From the very beginning I decided there were going to be some key requirements for whatever Operating System I was going to look at as a serious alternative:
  • Flexible Support Options
    • Every dollar counts. Should only have to buy support for the systems that need it (like our Database Servers).
    • The ability to buy support based on a reasonable scale from basic support to mission critical.
  • Flexible Licensing
    • We replace hundreds of packages on whatever Linux distribution we use because of our unique application environment requirements. Now, this is only done for the web servers where the web-based application is executed from. However, having done this it made it absolutely pointless in retrospect to have RHEL subscriptions because we had to roll our own update systems anyway to deal with our package customisations which made our systems unsupported by RedHat.
  • POSIX Environment
    • Our application is written assuming we're running on a POSIX based system.
  • *nix Platform
    • The OS must be a *nix or *nix-like platform. Every since I started using Linux in 1994, I've been convinced that *nix-like Operating Systems are the only way to go when it comes to Servers.
  • Packaging System
    • The OS in question must have a native packaging system of some kind or be able to use RPM packages. Our application is currently packaged using RPM.
    • The packaging system must be well documented or at the very least a very mature system. (RPM while mature is poorly documented in my opinion, not only because it varies from distribution to distribution in it's implementation and usage).
  • Oracle Certified
    • The OS in question must be one of the certified platforms for running Oracle Software.
  • Seamless support for 32/64-bit platforms
    • Currently my company doesn't have any 64-bit hardware. But, I use an custom-built Athlon64 system as my personal development system, and I know that eventually we will have some servers that are 64-bit capable.
    • The OS in question should be able to handle 32-bit and 64-bit applications with equal ease in the same environment.
  • Reasonable Hardware Support
    • Almost all of the hardware we use in our servers is fairly standard, has full documentation or specifications provided to the public, and is generally manufactured by "Open Source" friendly companies. The OS should support it then.
    • The OS in question must also be a viable desktop OS for developers that work on the application.
  • Specific Application Support
    • The following applications should be available for use:
      • perl
      • apache2
      • mozilla
      • Gnome Desktop
    • The following libraries should be available for use:
      • Berkeley DB
      • gd
      • libxml2
      • glib
So, with those requirements in mind, the vendors that provided a suitable Operating System available to me narrowed considerably:
  • SuSE
  • RedHat
But, then I started reading about OpenSolaris, specifically blog entries like this one about DTrace. The more I read about DTrace and what Solaris was capable of (Zones, Self-Healing mechanisms, ZFS in the future, etc.), the more I wanted to try out Solaris. Then, last night I found this page full of all kinds of wondrous things that as a developer I all too often find the need to do. RHEL and SuSE were too expensive, and after finding all of these things it cinched the decision to seriously evalute Solaris.

So, my journey began...

I'll post about my experiences installing, plus all the various things I had to do to get my system working as a desktop soon. As well as the things I still haven't yet figured out...

Related blogs: .

No comments: