Large Scale Management - Linux vs Solaris?
A not-so anonymous, Anonymous Coward asks: "I work for a college that offers undergraduate computer science classes, and the school would like to add a new lab with about a hundred computers for students to use, for various class projects. After some non-trivial effort, we convinced the school to set up a Unix lab rather than a Windows one. However, we can't decide whether to go for Solaris or Linux. Regardless of the cost of hardware, I couldn't get agreed with my colleagues about the amount of efforts required to manage a hundred of Linux PCs vs. a hundred Sparc boxes. I believe that there are many Slashdot readers are actual managers for labs like this if not in large scales. What are your experiences of managing Linux PCs versus traditional Solaris boxes?"
"My detailed questions are:
1. Compared between these two different systems, how easy to maintain the software for all these machines (including re-installation, patching, and updating)? What software do you use to make these management jobs easier?
2. Are there any fundamental differences between managing a large group of linux PCs and managing a large group of Solaris boxes?"
As far as how we manage our clusters, the answer is the same for Solaris, Linux, and for the matter Mac OS X: radmind. Check it out. It integrates tripwire and filesystem management. We use it for installation, patching, and updating.
:w
...Linux largely wins. The Solaris kernel is much more mature than Linux (instantly earning me a boatload of kneejerk flames on slashdot), but their userspace tools are crap. The desktops shipped with Solaris are ugly and awkward to use, and getting KDE or Gnome to build and run properly can be an exercise in frustration if you're not familiar with Sun's way of doing things.
On the flip side, installing a hundred Solaris boxes is trivial using their JumpStart programs. A new client system RARPs an IP address from the server, downloads a small kernel from the server, NFS mounts a copy of the installation packages from the server, and does a hands-free install. It's extremely flexible and has been ion production use for years. For Linux you're stuck with walking around with CDs, or using some kludge from sourceforge, or a less-well-tested solution like whatever redhat uses.
Along the same lines, Sun's patching utility is designed with remote-boot or diskless clients in mind. You apply the patch once to the directory tree being used, and you're done. Something similar can be done with diskful clients. Linux binary packages mostly assume that the machine is on its own, so each box will want to download from a remote site and store a local copy, leading to atrocious workarounds like an NFS-shared /var/cache.
Honestly, it doesn't make much difference. You'll be writing wrapper scripts and custom solutions either way. The difference will be in other factors, like cost of hardware or price of support or political games with the rest of the organization. Having managed groups of both kinds of systems in a production environment for years, I would probably recommend Linux to someone who is asking for recommendations. Not because it's inherently superior, but because you seem more comfortable with it.
You cannot apply a technological solution to a sociological problem. (Edwards' Law)
Apple's prices for higher education are quite reasonable, especially compared to low end Sun-Solaris-Sparc. What say you?
--Paul