Now What? (Wrt OpenSolaris and Your Database)

Last week’s “announcement” of the death of OpenSolaris has steered a lot of questions my way about where people should go, and/or where OmniTI will go, now that OpenSolaris future looks non-existent. As one of the more open users of Solaris related technology, and running some beefy loads on top of it, it makes sense that people would be curious as to what we might be doing next. I would start with saying that as a company, we don’t have an official policy on this yet, and probably won’t. We evaluate each situation on a customer by customer basis, so what follows here is more my personal feelings on what people should do at this current point in time. The one thing I have noticed from the people I have already spoken with is that there seem to be two major camps, an over simplification to be sure, but I break this down into the free software camp (those motivated by a desire to remain on open source, and/or support, free software as a primary driver of technology decisions), and those more interested in the technology than the ideals behind it. Depending on where you fall into that spectrum, you have different options available to you, and will likely reach very different conclusions.

Too Soon?

The first thing I have said to everyone is that it is honestly too soon to make any moves. Oracle is notorious for being poor communicators, and at this point I don’t think we’ve seen enough official communication to really know what’s going to happen. This doesn’t mean you can’t start planning though! We’ve been looking at some of the available options since before the Oracle/Sun merger was closed, so it doesn’t hurt to start evaluating the options out there. However there’s no need to rush in to things; it is possible that the announcement of OpenSolaris’s death might be premature. I personally don’t believe Solaris can’t survive based on the model we’ve just seen laid out; there are too many people learning the gnu tool chain who won’t be willing to invest big money into a tool that is hard for them to use. They need a low cost / free option for people to familiarize themselves on (and all the better if it installs gnu tools by default). There’s an outside chance Oracle might come to this conclusion, which would give new life to OpenSolaris. A more likely alternative to that theory is that some other group might pick up OpenSolaris maintenance and start pushing it forward. Certainly not an easy task, but there are already several different distribution of OpenSolaris available, so the userland level management has the resources, we mostly would need to figure out how to handle the more core technologies that have been maintained by Sun. I think this might also be possible, as there are numerous companies already heavily invested in OpenSolaris technology, and there are Solaris internals hackers looking to move out of Oracle, it’s not an impossible leap to think we might see something worked out. And if Oracle continues to make technology available via the CDDL (which most of the current signs seem to indicate), this could work out. I would say that this might not resemble the OpenSolaris as it is now, but could definitely be an option for current users who’d like to remain on the OpenSolaris platform.

Other Options?

Of course, you might not want to put all your eggs in that basket. So what other options do we have? Well, that mostly depends on what you’re getting out of OpenSolaris now, and what you want out of your OS going forward. For many people, I suspect that Solaris 11 Express might be a suitable replacement, especially for those running mixed OpenSolaris / Solaris environments. Migrating up to full Solaris 11 will also cover most of your technology needs, so depending on pricing I suspect people may find that a cheaper alternative to migrating to a new platform. Of course, if you want to stick with a free software solution, this won’t really be an option. FreeBSD seems to be the most obvious alternative platform. If you’re currently taking advantage of dtrace, zfs, and zones, FreeBSD gives you options to cover all three. It won’t be the same; the dtrace and zfs implementations are pretty close aiui, but for zones you’ll probably have to use either Jails or OpenVS, neither of which am I a fan of. I think you’d also find a larger overlap in system utilities (tar, find, grep, etc..) between FreeBSD and Solaris, so for people (and scripts) making the transition, this might be an easier move. The big question here is probably hardware support; if you can’t get FreeBSD running on your hardware, that’s likely to be a show stopper, unless you can work out a new hardware purchase in the transition :-) So, if you don’t want to go closed Solaris, and FreeBSD isn’t an option, that probably leaves you on Linux. People sometimes think I don’t like Linux; I’m actually very comfortable on it. My first “unix” was Linux, and we run some extremely demanding systems on Linux and it has performed well in those cases. However if you’re trying to do deep introspection, systemtap is a poor man’s dtrace. And if you are relying on zfs, you’ll have a hard time finding a suitable replacement amongst the current Linux options. Personally I am most comfortable on ext3, but I tend to give up on file system snapshots, which is a painful submission if you have to make it. XFS is probably the next most common option, and generally I’ve no bones about using it if you want to avoid ext3. Of the three “advanced” replacements; ext4, btrfs, and zfs on linux; I think ext4 is probably your best bet, but only because zfs is too new for any serious database systems, and if you are moving off OpenSolaris to get away from Oracle, “butter” seems like an odd choice.

And so…

I think it’s wise to keep things in perspective. There are some cases where you want to be a technology leader (we’ve been running Postgres 9 for months on some systems), but generally speaking when it comes to picking the operating system and filesystem for your database, it’s best to tread lightly. Now is a fine time to start evaluating your options; at least figure out what features are critical to your enterprise that you’ll need to replace (and don’t just think about database, you might be relying on crossbow for something, or who knows what else). We’ll certainly be watching the current options available, and I suspect diversifying a little, over the next 6 months, as we wait for the picture to clear up where we can. We’re not in a hurry (after all, we do have the source code of what we’re running now), and I don’t see much reason for others to be either.