I'm fairly new to Unicies. With the advent of GNU/Linux and BSDs, what are the reasons for companies to prefer AIX, Solaris and other commercial systems?
Well some software is specifically written for AIX/Solaris etc. while some 'money men' don't trust 'free' software (I've witnessed this myself, someone told me I HAD to spend money on OS!). But most of the time it's to get 24/365 support.
Because then you have a big name behind it that you can talk to for providing a SLA.
Because you don't want to get locked into an open system.
Adding to previous answers: It depends on what you are going to run on the server. Example: If you want to run Oracle, you go with (both hardware and) operating systems that Oracle itself says its (particular version of the) software is tested (certified by them) to run on.
- Corporate and government sector clients feel safer this way. They are used to paying for software and when something is offered for free they would think it is of lower quality.
- Technical support. When you pay for RHEL for example you are paying for technical support and updates.
- Hardware vendors sometimes lock you in the situation. For example IBM has a compatibility list for their rack and blade servers and all of the UNIXes on that list are the ones backed by big companies: RHEL, SLES, Solaris, AIX, VMWare ESX etc. You can get away with running a free and open OS on those (I've been doing that) but you loose the ability to ask for support from IBM in case of hardware driver issues etc. For example, you can install drivers for their Fiber Channel cards on Debian, CentOS, VMWare ESXi (which is free) with some effort, but you won't get support from IBM in case you can't do it. Although I'd imagine the procedure for installing those drivers on RHEL or SLES is not much easier.
In terms of Solaris vs Linux I can say my eyes were somewhat opened reading the Sun published book "Solaris Internals".
If you want to get down-and-dirty with your operating system you'll find there are considerable differences with prioritisation, debugging-hooks, process-to-CPU binding and memory model optimisation, etc.
Some features of Solaris are:
- dtrace (ability to hook into system calls with ease)
- non-uniform memory architecture support
- slab memory allocation (fragmentation prevention)
- solaris zones for semi-virtualisation
Of course Linux supports many of these features and evolves rapidly (although dtrace is unquestionably an advantage of Solaris over Linux).
1, Support from a major blue chip company.
2, Having a known operating platform. You buy a mainframe from IBM, you know that your software will work with it and have a high up time.
There may be issues of commercialisation where a corporate feels 'safer' with a big-name company holding their hand for a licence fee (although the likes of Red Hat etc. could counter this argument for Linux).
Some companies will prefer to stay with a 'known' name, especially if they have legacy systems with the supplier and the supplier has significant expertise in maintaining or migrating from one OS to another within their portfolio.
There may be technical features that are only available in one specific OS or the company may prefer specific branded hardware that restricts their choice of OS.
Some corporates have always 'done it that way' and see no need (or have no inclination) to change.
Some corporates may have applications that are specially tuned to one OS and there may be a risk or high cost in migrating to another OS platform.
Edit - this was funny. As you can see from the top of the page, this was a quote from a 1998 interview JWZ did. He had a better opinion 2 years later in 2000, when he wrote the blurb at the top. And it's 2010 now. But it's still funny.
There's a few specific scalability reasons which make AIX or Solaris a better choice than Linux for large systems.
For example, AIX 7 on POWER7 scales from 1 core through to 256 cores in a single operating system image, and 8TB of RAM. Solaris has similar scalability abilities.
Red Hat Enterprise Linux 5 is certified up to 32 processors and 256GB of RAM (though will theoretically support up to 1TB) on x64, but the performance increase generally drops off at a faster rate as you add processors in Linux than AIX or Solaris.
Beyond that, there's technical niceties such as the AIX logical volume manager, or Solaris' ZFS storage system, which both make working with larger storage capacities than few hard drives worth much easier.
However, at the smaller end of scale, I'd now argue that there's minimal benefit in buying AIX over a supported Linux distributed for most organisations.
(Mostly Solaris-centric; haven't used AIX. I have a lot of experience with the BSDs and Linxu--starting in '93.)
The commercial Unices run on some awesome hardware is one reason. x86 is pretty good for many things, but running on (say) the SPARC T-series servers, you can highly parallel workloads like almost nothing else out there. You can further split any machine into virtual ones with Solaris zone, without any overhead (since there's only one kernel). I've seen benchmarks where running a load under VMware you get 30% less throughput compared to zones on the same hardware.
I believe AIX has has similar features.
I also like the "fit and finish" of Solaris compared to Linux. Since one organization takes care of the code, things tend to be done in a coherent way. The BSDs are similar, since you have on team working on everything, instead of a hogdge podge in Linux. The distributions certainly helped, but you can tell it's decentralized.
The documentation on commercial Unices also tends to be good, as people are actually paid to write it--Linux has a lot of holes in this area.
Free is nice, but you can't actually use that in a large production environment in most cases. Not having a support contract for your HR/CRM/SAP information isn't going to fly. At which point, if you have to cut a cheque, might as well go with a larger organization.
Also, until Oracle bought out Sun, Solaris support was actually cheaper than (say) Red Hat's. This has changed I think under Larry Ellison's watch I believe.
I also think that Solaris is a superior operating system. I've been doing this stuff for a few years now, and (for example) I see Linux live lock usually once a year or so. I have never, in over ten years of using Solaris, see that happen. I've seen load averages of 200+ on Solaris boxes, and they were still responsive enough for me to get in and see what was going on. With Linux, there have been many occasions that I had to bounce the box because it had gone AWOL: this is something I would expect with Windows, not Unix.
In order of preference on servers, I'd go with (ceteris paribus)
- Solaris 10
- other BSDs
I do like FreeBSD's Ports system better than anything else, but you can can a close facsimile with NetBSD's multi-platform Pkgsrc that works on other OSes. (On desktops my first choice would be Mac OS X, with FreeBSD coming in second if I had to use FOSS--though if I'm admining mostly a particular OS, I'd dog-food it on my desktop.)
All Linux/UNIX systems for the serious production are commercial, the software vendors like to make a big software (i.e. Oracle) for the predictable OSes. Vendors of the free systems can't ensure the predictability and a backward compatibility.
It's not because you pay for something it is good, this is what I trust. But alot of people think the converse. 1 000 000 million people can be wrong.
certainly the money is for support and indemnification. this is the fundamental value-proposition of redhat, who at this point is probably selling more support contracts for their linux product than ibm is for aix. were it simply about obtaining technology, that can be done presently at no cost...centos is a free fork of redhat, and freebsd has incorporated many of the technical advantages of solaris (zfs, dtrace etc) and osx (grand central dispatch, clang).