
Ask HN: Should I choose Sun Solaris or Linux? - Tomer
I'm going to deploy into many servers in production i'm interested in performance &#38; low cost support for multi-cores multi-sockets, high IO &#38; CPU &#38; Memory &#38; Networking.
Should I choose Sun Solaris or Linux? if linux I thought of CentOS as its a free replica of RedHat.&#60;p&#62;Thanks
SunSolaris? Linux? FreeBSD?
======
mseebach
None of your requirements, at least when they're as unqualified as they are,
can help you to pick an OS.

Ask yourself where your bottleneck will be, then ask yourself if the OS is
going to make any difference there. The answer is very likely no.

No modern OS is going to give you any significant performance/cost advantage
over another in serving regular web apps. Most of your trouble will be in
setting it up and maintaining it, so go ahead and pick whatever you're most
comfortable, or, if you're not comfortable, ask someone who are (and that you
trust).

Also, don't pick CentOS, unless you need RH compatibility.

~~~
Tomer
Why not CentOS? what would you recommend then?

I saw that oracle are really emphasizing how their OS has much higher
performance than linux I wondered if its correct or if their benchmarks are
good: [http://www.oracle.com/us/solutions/performance-
scalability/b...](http://www.oracle.com/us/solutions/performance-
scalability/benchmark-results-063877.html)
<http://jp.sun.com/solutions/infra/eda/pdf/solaris-linux.pdf>

So I wondered if i'm missing some tens of percents in performance by not
choosing Sun Solaris...

~~~
mseebach
CentOS is binary compatible with RedHat, so it's for people who need the
enterprise-ness of RedHat, but can't/won't run RedHat. An example I've heard
is running RedHat in production for the support, but CentOS for devs and
stating. The reason to run RedHat is usually something like needing to run
Oracle or a number of other very complex software suites (the keyword is
complex, not better or faster) that are only supported on specific platforms.

If you're running Oracle on Sun hardware, go for Solaris, sure, if for no
other reason the support. If you're running "regular" open source software on
generic hardware, just use Linux/BSD. There's nothing in Solaris that'd make
Postgres faster than Linux or BSD on the same hardware.

~~~
Tomer
What distribution do you recommend? (which is stable enough...) I wanted to
choose CentOS because I know RedHat are saying they do lot of tests to their
distribution before they release... so I wanted something that is fully tested
and reliable.

~~~
mseebach
It's been a while since I've had any responsibility over servers, but Debian
has always treated me well.

~~~
CyberFonic
Ubuntu which is derived from Debian is a good choice for servers, especially
the LTS editions.

~~~
mseebach
I'd be inclined to give it a try (I use and love Ubuntu on the desktop), but
my impression is that Ubuntu is Debian packaged for the desktop... which isn't
really relevant on a server. Debian is, OTOH, geared almost entirely for the
server, already before Ubuntu came along.

------
kunley
I'd use FreeBSD.

OpenSolaris is officially dead. Solaris isn't low cost for sure. FreeBSD gives
you a high performing io/network stack plus extras from Solaris world, like
DTrace & ZFS, plus a focus of maintainers on just these features you seem to
need most. This is contrary to many Linux distros, even commercial ones like
RedHat, where the focus seems to drift to different directions over time, as
they are trying to please different groups of users/donators/customers.

If you decide Linux anyway, I'd recommend Debian instead of CentOS. Contrary
to common belief, RedHat/CentOS distros are "enterprise-oriented" maybe in the
aspect of supporting typical Java development, but when it comes to production
operations their enterpriseness does not necessarily shine, esp. when things
break. YMMV.

These recommendations change a lot if you must deploy Oracle databases on the
machines.

Well many people want to give their 2 cents in this thread; while this is
excellent, I'd like to point I'm a sysadmin of various Unices since 15 years
so I claim to know what I mean and not just promote personal prefs when saying
something about OSes (if it was my personal bias I'd use Slackware forever).
If you had further questions and wished to ask them privately, you'll find
contact links on my profile.

------
davidw
If you are unsure of which to pick, perhaps it's indicative that you're going
to have other problems ahead: maybe you should hire someone to advise you and
help you out.

~~~
jsarch
At the very least, the OP should talk to someone in person or on the phone
about this. There are simply too many possibilities to adequately answer this
for a _production_ deployment.

Some questions that I (as a former SysAd) would ask:

1) How many is "many servers"? 10, 100, 1000, 10000?

2) What exactly is "performance for ... multi-cores multi-sockets, high IO &
CPU & Memory & Networking"? This basically covers everything ever created. The
high-performance for TeraGrid (sci. apps) is very different than E-Trade
(financials) and very different from Amazon (e-commerce).

3) Is "low-cost support" $0 and 1 week of searching online forums? Or $100 and
a phone call?

4) Do you like "port", "apt", "yum", "emerge", or "make"?

5) Do you need to have multiple versions of the same app available at the same
time? E.g., gcc-2.97, gcc-3.2, 3.3.2, and 4.4.1?

6) Did you not know the answer to any of these questions? If so, I highly
recommend you hire someone like @davidw says.

------
paol
My 2 cents: Oracle is going to drive Solaris into the ground (and OpenSolaris
doubly so). It's days were already numbered, like all proprietary Unixes, but
while before I was betting on Solaris to be the last one standind, now I think
it will probably be AIX.

~~~
gaius
_Oracle is going to drive Solaris into the ground_

On what do you base this? Larry is spending more on SPARC and Solaris than
McNealy ever did! It's possible that Solaris will become less suited to (for
example) HPC over time but for anything related to commercial data processing,
including Java and web serving, expect for it to continue to occupy a leading
position among the Unixes.

~~~
paol
"a leading position among the Unixes": that's the position that it already
occupied: the biggest fish in a rapidly drying pond. The killer combo of free
Unixes on commodity (read x86) hardware cannibalized the proprietary Unix
market. Where that trajectory will lead has been obvious for quite some time
now. Sun's measures to try to make Solaris survive that were a) port to x86
architecture and b) open source the OS. Jump out to a bigger pond, in other
words.

Oracle's strategy with Solaris is going to be to squeeze every last penny from
it, and when it dies it dies. Killing OpenSolaris and making it clear that
open source releases of the code base will be done only "at some point" after
the commercial release are just the beginning of that.

They will push Solaris in the same places where they currently push Oracle DB.
Those places tend to be of very little interest to 99% of the HN croud. Java
and web serving are not the kinds of things that justify stratospherically
overpriced software licenses...

As for SPARC, I seriously doubt they will pour significant money into it.
Trying to compete with x86 is akin to setting $100 bills on fire at this
point. They will no doubt keep the Sun brand alive and use it to sell x86
based machines (which is the strategy Sun itself started of course).

~~~
CrLf
"As for SPARC, I seriously doubt they will pour significant money into it.
Trying to compete with x86 is akin to setting $100 bills on fire at this
point. They will no doubt keep the Sun brand alive and use it to sell x86
based machines (which is the strategy Sun itself started of course)."

I believe they will. And they will also tailor it for Oracle DB and change the
licensing plans to make SPARC a "wiser" choice, locking the customer both on
SW and HW. The competition does it, so why shouldn't they do it also?

~~~
paol
I still don't see a business case for it, though. Continuing to develop SPARC
will cost a lot of money and won't buy them any extra lock-in. As far as DB
apps are concerned Oracle is the platform, what it runs on is transparent.
Edited to add: and the same goes for Java, which on Unix accounts for 99% of
enterprise sw development.

As far as I can figure out the only reason IBM has to keep developing POWER is
their mainframe business, which is the king of platform lock-in :)

~~~
gaius
POWER is bloody good, tho', check out the SPECInt results. If you have a
workload you can't parallelize you can get double the performance of the best
x64s.

------
gexla
You left out a big piece of information. Are you going to be setting up these
servers physically (colocation?) or are you going to be going with a hosting
provider?

Pick what you know, though from what you have posted I'm not sure you know
either of the systems you mentioned very well. Actually, unless you are a
professional systems administrator then even picking what you know may not be
good enough. You can setup your own servers if you are running on a low
budget, but ideally you would be paying someone to take care of all your
administration needs.

So, I assume from your budget you won't be buying your own servers and even if
you were interested in buying your own servers you don't have the expertise to
set them up properly. You will then be looking at hosting.

You should probably be looking at a hosting provider which offers managed
hosting. This will be your support. Don't worry so much about the
distribution, just choose whatever that provider has available.

Arguably Solaris is superior to Linux in many ways. If you want to go that
route I would suggest Joyent as a provider. Linux is wide open for hosting
choices. Find one you like and is within your price range and go with them.

You probably need to start out with a VPS as opposed to a dedicated server.
Done right, a dedicated server is generally much more expensive than a VPS.
Also, a dedicated server requires a lot of knowledge just to know what to look
for.

Your widest choice of offerings for a VPS is linux. Pick one which offers a
managed plan and go with whatever that plan ships with. If you have a choice,
just go with CentOS. Personally, I prefer Ubuntu, but that's not on your list.

------
CyberFonic
I've used Solaris on Sun SPARC hardware and it is a very strong environment
for heavy duty enterprise applications, especially if you have to use Oracle
and/or Java. But very expensive solution. With Oracle now owning them, I don't
think the cost of ownership is going to be coming down, but the quality of
support might.

If you are using FibreChannel and SAN attached storage, then Sun might still
be a good option. But seriously I'd look at HPUX and AIX as well.

My experiences with OpenSolaris on x86 (non-Sun) hardware has been
disappointing. Maybe I had high expectations due to the SPARC experiences.

These days, I only use Ubuntu Server LTS editions. APT and the Debian
infrastructure meets my needs well. Also use PostgreSQL rather than Oracle
RDBMS.

------
peterbotond
wearing dev,sysadm, architect hats running these platforms since 1999. i had
the most consistency and general usability with freebsd. freebsd is easier to
maintain and learn its features, docs are great. choose the one that you need
to learn the least to run, install and maintain. yes i am somewhat biased to
freebsd based on my own experience. the past say about 5 years solaris gave me
many headaches like library dependecies, package management. freebsd, linux
have good package managements. solaris has solid reliability and performance.
all things considered, go with freebsd. freebsd security is easier to learn
than selinux.

~~~
Tomer
Interesting...

------
Travis
Wow, this is a question that can really fracture a community.

My two cents, from pretty extensive linux experience and one short Solaris
experience: do what aligns more with your IT admin's philosophy.

My feel for Solaris is that everything is managed -- there are daemons to
watch daemons whose job it is to make sure certain apps don't go down.

Linux is a bit less monitored -- "Oh, your apache process shouldn't have gone
down? Shit you shoulda had something watching it."

Personally, I like the more ad hoc feel to linux. But pick whichever your
sysadmin prefers. Solaris, to me, felt like I was being handcuffed.

------
andrewcooke
Why can't you deploy whatever you've been developing and testing on? That
would make most sense to me.

For me, that would mean OpenSuse, but that seems to be a minority choice these
days.

Anyway, I would advise against OpenSolaris after Oracle (paid for Solaris
might be OK) - see the recent leaked emails etc. When I use CentOs I am always
frustrated that they are using such old software versions (Python 2.4!), but
that may just be the clients I have. For stability and security a BSD is not a
bad idea, but again check for versions of the software you need.

------
madhouse
Whatever you choose, stay clear of Solaris. Especially OpenSolaris (that's a
dead-end).

If you're unfamiliar with both, Linux systems are easier to get used to, in my
experience.

~~~
Tomer
So how come many "big" companies are using solaris with much success?

~~~
CrLf
Many "big" companies are using Solaris (and other UNIXes) because they have
been for a long time, and there is a cost to switching.

Upgrades to the kind of systems Solaris is being used (core systems and
databases) tend to stay in the same course, not only because there is a lower
risk in staying on the same OS/architecture combo, but also because most of
those systems are old and tied to Solaris/SPARC. Unless there is a
sufficiently strong reason to switch, most "big" companies prefer to pay the
premium (in SW and HW) than assume the risk.

Solaris on commodity funcions is dying rapidly, if one can't already consider
it dead.

The notion that Linux is less advanced is bogus. In some aspects Solaris is
more advanced, in others Linux has the lead. What matters is what's the best
choice for a each task given constraints of cost, reliability and availability
of skilled technicians.

