I have been following this discussion closely and most perspectives voiced have been those of long time Solaris users or those that have invested in SX:CE for production deployments (why you would choose to do so is beyond me entirely, considering that the intent to discontinue SX:CE has been well known for quite some time, and the original purpose of the release was for early access/testing). So I would like to relate my perspective as a Linux convert and general server OS/Management critic. I use Linux/OpenSolaris on the server as a server OS, I use OS X on the desktop.
From Linux to OpenSolaris
When we first started building our hosting platform in 2000 I already had pretty strong background using RedHat Linux and OpenBSD for a significantly sized deployment at a fulfillment house that hosted some rather large web applications. Back then (1997) RedHat didn’t have yum so package management was a very manual affair. Although it was better than just compiling and installing software. RedHat decided to make the shift to the Enterprise distro and for $300 a year per machine you could get paid updates using up2date. Neat, we ran on RedHat 7.3 until they announced EOL on the updates. The fact is RPM package management was not good enough to pay for. Even with yum, installation and removal of dependencies are regularly mangled. If you are building and deploying your own packages this is even more pronounced. You can FORCE it all to work but I really am not into that. Good bye RedHat.
Next stop Debian. Debian was pretty great. Apt was pretty amazing. I really wish I had started using Debian from the start. Nearly flawless dependency addition and removal on package install uninstall and upgrading to a new release was very easy if I decided to do so. Nearly every open source package I used was already built for Debian and in the release repository. Everything was 2 commands away. The problem with Debian: no regular release schedule. I could never plan on having x feature at x date and I had no idea when the security/errata updates would cease for a given release. This was a huge problem for platform development and management. Good bye Debian.
Next stop Ubuntu LTS. Great! I now had a release schedule, and I knew exactly how long security/errata updates would be supplied for a given release.
The Linux draw: a summary
- Not having to build packages due to a huge software repository and 3rd party trusted repositories: TIME SAVED
- Ease of setting up internal repository: TIME SAVED
- No need to manually resolve package dependencies: TIME SAVED
- Keep all systems up to date with latest security updates, two commands: TIME SAVED
- Deploy a new system install with just a required package list: TIME SAVED
- Not having to setup and maintain a custom system deployment architecture: TIME SAVED
- Regular release schedule and errata/security update time line: FUTURE ASSURED
On Solaris: I had never really been interested in Solaris until sun decided to open source the OS. Prior to that I had to maintain a pile of Solaris 8 machines for a client that was heavily invested in Coldfusion. This experience had pretty much soured my view of the OS. The package management was terrible. Installing patches was painful. Installing software was painful. What good is instant deployment if managing the system after install is so damn time consuming? At any rate managing Solaris 8 and later 9 was far more work than managing RedHat pre version 7.0 and that was only involving keeping the security patches on the systems current.
The OpenSolaris project pulled me into Solaris land again. Why? IPS, ZFS, Zones, SMF, DTrace, and all the goodies that make OpenSolaris a compelling storage platform. I started using OpenSolaris for storage only. I really liked the uniform nature of the admin utilities. I decided to also deploy Sun Communications Suite on OpenSolaris. Although I had to play a little bit with the installer and hack up patchadd to allow patches to be applied to comms I am happy with it.
OpenSolaris over Ubuntu: a summary
- IPS/PKG is like a nextgen APT/DEB with ZFS integration. beadm, is great, being able to apply updates to a new boot environment and activate that environment, then rollback if there is an issue is priceless. I also like the IPS repo system better than APT’s
- ZFS
- Zones, sorry KVM doesn’t cut it.
- Crossbow (can I dump OpenBSD for firewall/VLAN management/VPN concentration/routing? Time will tell)
- SMF
- DTrace
- OpenSolaris management utilities are far more uniform than the Linux equivalents
- OpenSolaris seems to perform quite a bit better for certain streaming applications
- Sun’s JDK/JRE is available in the release repo
- I haven’t benchmarked this but I swear that Java server daemons (in this instance a custom SMTP server) process requests faster on OpenSolaris than on Linux
As you can see with OpenSolaris I can have my cake and eat it too. With OpenSolaris I see the future perfect server OS. I could run ONE OS on all my server hardware and not have to deal with the issues of managing Ubuntu LTS, and OpenBSD based on their independent strengths. Now obviously there are issues that need to be resolved and the developers at Sun have said these will be resolved.
Issues: a summary
- GNU userland vs Solaris userland shell path: Please stop with this, I really don’t care either way the matter is so trivial so simple to change it just isn’t something that should justify all the attention that it receives
- Automated Install: So far this seems like a slick setup. I haven’t evaluated it much due to the fact that a simple package list install from a repo is fast enough to satisfy my needs. In any event the developers have stated they are working on polishing the feature
- IPS needs polishing: So far all the issues I have with IPS have been acknowledged as such, or there is an existing RFE
- No Text installer: Next release will have a text installer
- Sparse Zones: This is an issue for me and I would like to see it resolved. However for some reason inherit pkg-dir umm seems to work for me for my Java server apps??? I even see the loopback mounts and everything runs? Haven’t really looked into it much past that…
- Updating Zones: The process of updating a zone’s packages via image-update is too convoluted this needs to be much easier.
- Sun enterprise repo. I would like to see the comms components packaged for OpenSolaris and updates enabled via IPS instead of SVR4 patches (yuk)
- Stable release schedule and at least security updates and severe errata updates in the release repo. I am assuming this is a resource related issue and that it will be resolved after the next release.
Going Forward
EOLing SX:CE is the best possible choice going forward. Obviously Sun’s developer resources are limited. If those resources can be devoted to resolving the issues with OpenSolaris we can move forward out of the SVR4 nightmare that inhibits the adoption of Solaris by users THAT WILL NEVER GIVE UP SANE PACKAGE AND UPDATE MANAGEMENT.
I am sick of looking over the listings on career builder and dice and seeing all the jobs involving Solaris to RedHat migrations. More of the same will not curtail the mass exodus from Solaris to RedHat. That is what SX:CE is; more of the same.
Read More