Solaris vs Linux Continues
raffe writes "Solaris Kernel Developer Eric Schrock is bloging more about the Solaris vs. Linux issue and linux kernel moneky Greg is answering on his blog.
Eric's first part is is also still up and Greg's answer " Another reader also submitted reviews of the Linux desktop vs. Solaris 9. User reviews are welcome; please note that ITMJ is part of OSTG like Slashdot.
I really don't think kernel recompiling is the biggest thing keeping Linux from dominating any market. Ease of use is a big thing. Another is simply the myth that OSS is unsupported and/or unreliable. You can point to a thousand studies showing Linux is as good as (or better) than alternatives, but that won't change some peoples minds.
I mean seriously. We have a debate about the relative merits of Solaris and Linux, and you come out and say, "LOL no context haX0rs@!!~ OMFG linux is so wei faster than Slowaris lol!"
I mean, did you even read his blog entry? I know, I know, this is Slashdot. But come on. He isn't comparing Linux and Solaris as gaming platforms. Yeah, your FPS for Doom 3 is probably faster on Linux (LOL d00d don't you know Doom 3 doeznt run on Slowaris haha you fail it!) but what he's talking about is no downtime, ever.
He's talking about kernel debug utilities. About hardware hotswapping. About being up 24x7x365 doing 1000s of database transactions per minute. We aren't talking about your mom's basement here, with your little network, or even the nice little RAID setup you have going at work that saved your employer a pretty penny. We're talking about big iron. Speed is not the issue here; reliability is. One of the reasons Solaris is slower than Linux is because it checks everything. It is one extremely anal system, and it never ever goes down.
Now, I'm a big Linux fan (typing this on my Debian box), but no one who has seriously admined Solaris boxes can say that the two are even remotely equal on big servers. No contest indeed; Solaris kicks the shit out of Linux.
I don't think this will be the case forever. Unlike the anal blogger referenced in the writeup, I think Linux is catching up faster than Solaris is improving. While he makes good points about Linux's lack of sysadmin accessible kernel debugging tools, traceability, etc, people attempting to sell Linux to big vendors will provide those tools.
But Linux isn't ready for the big iron machines Solaris dominates yet. Don't say IBM, please. IBM runs multitudes of instances of the Linux kernel in parallel on their machines, so that if one fails, it doesn't take the whole system down. Those big iron Sun machines run one kernel, baby. Just one.
I tell you, if they open source Solaris (yeah right) we're going to be looking at some pretty amazing code. Some of the best hackers ever have hacked that thing.
Can anyone cite a real life example where Solaris was used in place of linux on a new project for a valid reason?
Here's one.
The reasons? Linux couldn't handle emergencies, and wasn't always available.
I have used Linux for years but I've also used Solaris. Solaris is simply more reliable and more fault tolerant hardware-wise. It's a fact and as Solaris is opened up and more people become aware of it, it will be obvious. Linux is a great OS and works wonders but it's not up to Solaris standards in many ways. Likewise, Solaris isn't as widely used as linux and doesn't support nearly as many peripherals and isn't as good on the desktop.
:)
That said, Sun's cash cow or former cash cow was its hardware not software. Solaris was a nice OS that was icing on the cake. Now that their cash cow is gone, their emphasis will be on Solaris but there's less revenue here. I hope they go bankrupt and GPL solaris personally.
The rebuttal wasn't a rebuttal either. It didn't mention kgdb which allows you to debug kernels using source code.. it can also work with UML kernels. Also the rebuttal didn't address the points raised:
Reliability - Reliability is more than just "we're more stable than Windows." We need to be reliable in the face of hardware failure and service failure. If I get an uncorrectable error on a user process page, predictive self healing can re-start the service without rebooting the machine and without risking memory corruption. Fault Management Architecture can offline CPUs in reponse to hardware errors and retire pages based on the frequency of correctable errors. ZFS provides complete end-to-end checksums, capable of detecting phantom writes and firmware bugs, and automatically repair bad data without affecting the application. The service management facility can ensure that transient application failures do not result in a loss of availability.
Serviceability - When things go wrong (and trust me, they will go wrong), we need to be able to solve the problem in as little time as possible with the lowest cost to the customer and Sun. If the kernel crashes, we get a concise file that customers can send to support without having to reproduce the problem on an instrumented kernel or instruct support how to recreate my production environment. With the fault management architecture, an administrator can walk up to any Solaris machine, type a single command, and see a history of all faulty components in the system, when and how they were repaired, and the severity of the problems. All hardware failures are linked to an online knowledge base with recommended repair procedures and best practices. With ZFS, disks exhibiting questionable data integrity can automatically be removed from storage pools without interruption of normal service to prevent outright failure. Dynamic reconfiguration allows entire CPU boards can be removed from the system without rebooting.
Observability - DTrace allows real-world administrators (not kernel developers) to see exactly what is happening on their system, tracing arbitrary data from user applications and the kernel, aggregating it and coordinating with disjoint events. With kmdb, developers can examine the static state of the kernel, step through kernel functions, and modify kernel memory. Commands like trapstat provide hardware trap statistics, and CPU event counters can be used to gather hardware-assisted profiling data via libcpc.
Resource management - With Solaris resource management, users can control memory and CPU shares, IPC tunables, and a variety of other constraints on a per-process basis. Processes can be grouped into tasks to allow easy management of a class of applications. Zones allow a system to be partitioned and administrated from a central location, dividing the same physical resources amongst OS-like instances. With process rights management, users can be given individual privileges to manage privileged resources without having to have full root access.
And of course windows is but a Play Thing.
2 years and no mod points. Join reddit. Because openness is good.