Retrospect is 20-20- Thoughts on Solaris 10

Today’s post isn’t really instructional in nature like my usual ones, but really as some words of advice regarding Solaris and it’s viability in a IT shop that is more than a small aggregation of machines. Those that know me and my work know that I deal with 300+ servers, and manage them with various automation tools, therefore I think I know what I’m talking about when I approach this subject.

Let’s assume we’re talking about Solaris 10 here with recent updates. Not even Opensolaris, since I don’t think you can get that supported. Think: production environment.

Solaris is GREAT for:

  • Data Storage. ZFS is fantastic. Backups are easy with snapshots. NFS works just fine. This is where Solaris really shines.
  • Sun-based Services. We use SGE for our cluster job dispatching, and it seems to work just fine on it, even in a clustered environment.

Solaris is POOR for:

  • Apache/PHP/MySQL. I’m sorry, it really sucks. Until Sun can manage what I can do on Redhat:
    yum -y install httpd mysql-server php php-mysql

Seriously, SAMP is a joke. They can keep their Glassfish Webstack, and they can keep Blastwave in regards to running web. I tried to install Trac, and the stupid package was installed in a path that Blastwave’s Python didn’t even have in it’s environment. I had to hand-hack some stuff to get it working. Furthermore, Glassfish didn’t come with any of the serious modules that sysadmins would consider. It took a week or so to even gain headway on migrating all our webapps to it. Considering it was also a cluster resource, that make the process even more painstaking. We tried to move all of our core services to Solaris HA Cluster, and it got real flaky when we added a fourth node to the mix. We tried to reboot one for maintenance, and the whole setup buggered out and kernel paniced and thrashed about like a spoiled child in a candy shop. A two-node setup works just fine, however, so we will do that for storage and such. As for web, we’ll forget trying to use Solaris and stick to tried and true RHEL.