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.
Why do people feel compelled to do these things?
Two excellent tools - hammer, screwdriver.
Both can be used to install fasteners. (nail/screw)
Each tool has its place. And sometimes you can use one tool and its parts in place of the other with no adverse results.
It doesnt make them better than each other.
Just different.
comment directly in my journal
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.
New words of the day:
moneky
bloging
Moneky bloging!
this sig limit is too small to put anything good h
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've used linux for exclusively for over 7 years at home and I've never recompiled my kernel.
properly packaged distros usually do not require a kernel compile.
PHP is the solution of choice for relaying mysql errors to web users.
You know, when I first encountered Linux back in 1997 (IIRC) I managed to successfully build/install my own kernel within an hour of first booting the CD. And I had no UNIX background back then. It's the _easier_ (and well documented) part of finding your way through the system. Setting up Samba, for example, IMHO is more complicated.
* "Reliability is more than just "we're more stable than Windows." - anybody else remember the eCache problems? At a former employer, we applied every patch and none of them fixed the issue. The machines were still spontaneously rebooting when I left six months ago. Sun's response was "upgrade to new hardware at full price."
* "we need to be able to solve the problem in as little time as possible with the lowest cost to the customer and Sun." - a co-worker spent a month corresponding with Sun to get them to admit there's a bug in SunOne AppServer (it compiles JSP pages even if they existed on the server in jar files).
Again, it took him a month to enter a bug into the system. They're not going to fix it, but they've admitted it's a bug.
- Linux Versus NT
-
Linux versus FreeBSD
- Linux versus TwinView Nvidia GForce4 MX 4000 (ok, it's a bizarre one, but we are being thorough
:)
-
Linux versus MacOS X Server
- Linux Versus On Time RTOS-32 for Real-Time Embedded Systems
And, most importantly: Linux Versus Linux. (No you can't actually read it..)Ok, this was the first page.. I got bored copy'n'pasting afterward.
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.
Tell us why we really need to add this new feature to the kernel, and ensure us that you will stick around to maintain it over time.
There really is no way to "ensure" the support of the developer. She has not signed a legally binding contract and could jump ship to the evil empire: Micro$oft.
Therein lies the only potential risk with open source software without the backing of a stable commercial company. The software relies on the goodwill of the developers. How do you ensure "goodwill"?
Therein also lies the reason for Linux exploding in popularity after IBM publically backed it with $1 billion. If any developer were to jump ship and abandon a Linux feature that she developed, allowing it to flounder like a beached whale, IBM would step into the picture and "own" the feature. Under no circumstances would IBM allow its own customers to suffer anything "worse" than 6 sigma reliability.
Sun is not anti-Linux. Sun sells Linux too. They claim that Solaris is better and cheper than Red Hat. You can custom make a Linux distro that is better than Red Hat and approaches Solaris. Sun does not address that. I'd say it's good competition. Linux has a lot going for it. Red Hat though has to learn to live with competition and behave more maturely. They were eating the Sun accounts quietly but when Sun turned around ready to compete, Red Hat started behaving like a teenage winer.
The actual compilation step is no big deal; it doesn't actually require any user interaction, and it's reasonably quick. Chances are that you'll spend longer downloading than compiling. The hard parts are configuring and installing the new kernel. Installing is a bit tricky because you want to be able to switch back if the new one doesn't work. Configuring is tricky because there isn't a non-expert tool for it. There really ought to be a configuration tool which would start with a distro-specific configuration, check the devices you have installed, ask you to plug in each USB device you use in turn, check the filesystems in your fstab and detected on your devices, and generate a configuration that supports everything.
All of this is easier in 2.6 than in 2.4 and before, because the kernel developers decided that they really wanted the build process to be efficient and accurate (which they care more about than people who don't do it constantly) and they wanted the configuration system to be consistant and well-specified.
Comment removed based on user account deletion
"They're already dead, they're just not broke yet..."
Sun is already dead, or at least their current product line is.
They'll still be able to sell extreme high end servers and mainframes to a relative handful of corporate and government clients, but everything below this level is already all but lost to them.
They're caught in quite a predicament. Their architecture is getting its clock cleaned by competitors and their OS is spartan and obtuse compared to Linux. They don't have an advantage anywhere that triple 9 availability isn't crucial, assuming of course that their stuff really is stable, robust and ages well. I can't say that it does. It may be stable, but lets see you get Veritas 3.4 running on Solaris 8 with ALL of the latest recommended patches. You can't because two of the patches BREAK Veritas and there is no fix other than backing out the patches, which leaves the system vulnerable. Sun's solution? Spend $15 to $25 thousand dollars to upgrade to the latest version of Veritas. That is just for software mind you. My solution? Replace the damned thing with a Linux server running BRU-Pro for $4 thousand that includes new hardware and software.
I work for the college of engineering at Arizona State University where I support Unix systems for the computer science department. The sun systems here are withering on the vine. Every time one is in need of replacement a Linux system is bought to take its place. I expect that within 5 or 6 years sun systems will be all but gone at ASU. Our central IT organization is going through a similar migration.
This isn't because of some edict from on high either. This is happening because every single time, Linux on commodity hardware makes more sense from multiple angles than Solaris on proprietary and extremely expensive hardware. This will not change, if anything it is going to become more and more true as time goes by.
This is why Sun is doomed if they don't find a new product to sell. Stick a fork in them, they're done.
Muslim community leaders warn of backlash from tomorrow morning's terrorist attack.
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.
It's up 45% against 2 years ago, so it looks from the stock that Sun didn't quite die a few years ago and is recovering now.
Why is this insightful? Solaris 10 isn't out yet so there is no comparison between it and Linux.
Today is Monday. Does that mean Sun loves Linux or hates Linux? I forget.
/usr/j2se ? /usr/jre1.4.1_05b1? /usr/java? /usr/java1.3? C:\jdk1.4.1_03? C:\Program Files\jdk1.4.1_03??? C:\Program Files\Java\j2re1.4.2_04 ? (The last three all exist on my Windows box).
More then anything, Sun's demise has to do with the fact that Sun can't figure out what they are doing, and won't stick to their decision for more then a year.
- Is Solaris supported on Intel86 architecture or not?
- Does Sun sell Cobalt appliances or not?
- Does Sun resell Linux or not? Today, is it RedHat or Suse?
- Is Java a programming language or is it a more General Product? What does "Sun Java Desktop" have to do with Java?
- Can I redistrute the JDK with my own applications or not? Wait, just javac?
- Is Java called 'Java', 'Java Two', 'Java one-point-two-and-above' or 'Java Five-point-oh'?
- Where is Java installed today?
94% of Repubs and 21% of Dems voted to renew the Patriot Act
At work we have a compute farm that includes both Solaris and Linux. How many of each we run is based on the software requiements to do our work, of course.
Overall, Linux does a great job. But we experience odd lockups we can't easily track down. The only alternatives seem to be pulling software developers from their real work to debug the kernel, or paying fat licensing fees to one of the Enterprise class Linux vendors. At that point, Linux is suddenly in the same arena as Sun, WRT price. Of course, there's always the option of simply replacing the hardware; it is fairly cheap compare to Sun hardware. Now there's a green thought. 8^/
And for the monkey's edification, some of us do care about library compatibility. I've certainly run into issues.
And for the record, I haven't been able to get my sound card at home to work on Linux ever since I moved into the 2.4 kernel space.
Linux is a good thing. But so is Solaris. And "Use the source, Luke" is the wrong answer for the average end user-- even the average technical end user. It reminds me of why I picked Linux over BSD almost a decade ago. ``Just write your own damned driver and quit whining.''
If I start hearing much more of that, I'll start looking for an alternative to Linux in a heartbeat-- and I'm referring to the compute farm at work as well as this system at home.
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.
Because the Sun guy actually makes coherent and valid points whereas this guy says a load of what is essentially meaningless cheer-leading? I think you'll find a lot of businesses like to have a reasonable degree of reliability in their servers. Telling people to get stuffed when ReiserFS decides to randomly shit the bed and completely annihilate your business data won't impress many people (it's done this several times for me on MAINLINE KERNELS, there is absolutely NO excuse for that. Don't tell me to send in dumps and patches, mainline means "this does not NEED debugging and is safe to use", period). I'm not talking running a major financial institution or a nuclear power plant here, I'm talking about being reasonably sure that today's data will still be here tomorrow.
That's just filesystems. Once upon a time Linux was really great because it was amazingly robust, small, fast and elegant. Today we have frequent kernel panics and X server flakiness, gigantic frameworks for desktop environments and gigabyte sized base installs. I suppose I can forgive flaky and sometimes limited support for exotic hardware because PCs are really complicated beasts these days, and a lot of hardware manufacturers are incredibly pig headed about these things but it would really be nice to have my two year old laptop actually wake up from ACPI sleep. No it's not a DSDT error. No I do not want to use Software Suspend because it is a hack. Nevermind the fact that it takes 5 minutes (as in around 300 seconds) to suspend on a 1GB swap with 256MB of RAM and several minutes to wake up again.
Linux sucks, get over it. Yes I use it, that's because everything else sucks more.
The only question is whether "scratch your itch" results, in the long term, in a more reliable (observable, etc) system than "design for reliability (observability, etc)". This is sort of a reprise of the "worse is better" argument, and I think it is by no means resolved.
The evaluation of an action as 'practical' . . . depends on what it is that one wishes to practice.
If we are going to post Suns blogs shouldn't we post the Red Hat exec's Blog defending against Sun?
-- "of course thats just my opinion, I could be wrong." --Dennis Miller