Wikimedia Simplifies By Moving To Ubuntu
David Gerard writes "Wikimedia, the organization that runs Wikipedia and associated sites, has moved its server infrastructure entirely to Ubuntu 8.04 from a hodge-podge of Ubuntu, Red Hat, and various Fedora versions. 400 servers were involved and the project has been going on for 2 years. (There's also a small amount of OpenSolaris on the backend. All open source!)"
In related(ly boring) news, Sun Microsystems replaced 200 old worn-out keyboards on their office workstations. Also, a handful of Microsoft employees patched their OSes, and some guy in Phoenix got a paper cut on his finger.
8.04 is a LTS release. Which is obviously the reasoning behind the version choice.
I did not know that ubuntu was a player in the server market.
http://www.ubuntu.com/products/whatisubuntu/serveredition
Summation 2
For such a large effort, it seems wild they had so many different distros running in their environment.
What do you guys think?
ACK
I did not know that ubuntu was a player in the server market.
THIS is what makes it "news that matters".
A Pirate and a Puritan look the same on a balance sheet.
So it's unlikely the decisions were influenced heavily from a budgetary standpoint. If they wanted to stay with a free RHEL derivative linux that's essentially identical to the one you pay for, they'd be using CentOS.
They chose Ubuntu. Maybe they just like it better? I think you can factor cost of out the equation.
With Gentoo, you have to be much more careful about what you update and when. They probably went to Ubuntu because it is based on Debian, and they can obtain support from Cannonical directly if needed.
How is this news?
Well they either should have stuck with 7.10 or waited for 8.10.
That's news...
8.04 is a long-term release. In the world of servers, that counts for something. Also, there were changes from 7.10 to 8.04 that were probably things Wikimedia wanted to take advantage of.
Bearded Dragon
My finger hurts too. You know those bits of skin just above and behind your nails? Part on that the left side of my left index finger has gotten torn a little and now it's like a flap. The problem is, I don't need to alter the aerodynamics of my finger because I can't fly. It's really just painful, instead of useful, like on an aeroplane.
Actually, does anyone know how that happens?
But as a server distro, I'm not so sure. I'm surprised that Wikimedia didn't go with a distribution that's more established for server needs.
If you have an argument to make about the OS's merits as a server then make it based on facts. Tell us why you don't think it's a perfect fit on the server. Don't just say "I'm not so sure" and leave it hanging there. Support your position with something that can be argued.
the cuticle doesn't properly detach itself from the nail as it grows. The nail's growth slowly tears your skin apart.
Under the influence of Post-Cyberpunk Gonzo Journalism
I'm sure Xorg and KDE4 are high on their priority list for their web servers.
You wouldn't believe how much nicer Squid and MySQL look in Compiz.
http://rocknerd.co.uk
Uh, whuh? You've obviously never had to herd a large number of machines. Most stuff running the same OS is the only way to live - jumpstart/kickstart, standard patch clusters, one local package repository server, that sorta thing.
(I do in fact do this for a living. Standardised Solaris 10 servers with Blastwave for the open-source toys, CentOS 4 when we need Linux, local repository servers for both. A few Windows boxes with a locally-served copy of Cygwin on them. May I heartily recommend Cygwin on any Windows servers you may be stuck with - it makes life so much saner.)
http://rocknerd.co.uk
Actually, the only difference between "Ubuntu Server Edition" and the "regular" Desktop version is which packages get installed by default.
That's one of the things we like about Ubuntu -- the 'supported' version (should you want a support contract, or even just security updates for a longer period!) isn't a totally separate distro from what folks use at home.
When Red Hat split "Red Hat Linux" into "Red Hat Enterprise Linux" (supported, but for $ only) and "Fedora" (free, fast-changing, no long-term security updates), they lost the benefit that techs would likely be running the same version of the software on their desktops and servers.
Chu vi parolas Vikipedion?
Mass installation of a customized distro can do better than mass installation of a general distro (eg, the kernel and software can be optimized for your use case).
And indeed, we use a slightly customized Ubuntu, in that we have our own patched versions of some packages (PHP, Squid, MySQL, some custom PHP extensions, etc) tweaked for performance or features we need, plus custom meta-packages to install the configurations we require on different server sub-types.
This is pretty easy to do on any distro with a decent package manager. I still like apt better than yum, though!
Chu vi parolas Vikipedion?
These are on our new image/media-upload fileservers. We're trying out the wonders of ZFS (snapshotting for consistent backups and "rm -rf oops" protection, potentially filesystem-level replication, etc).
Since they're an isolated service type it's not a *huge* burden to have them be a little funky (eg, we don't randomly have an OpenSolaris box in the middle of the Apache/PHP cluster), though if we could do ZFS on Linux without jumping through scary hoops we'd happily to that instead!
We'll try it out for a while, and if we're happy with it we'll keep using it, if not we'll migrate to something else eventually (the machines should as happily run Ubuntu as they do OpenSolaris)
Chu vi parolas Vikipedion?
[citation needed]
Just another person who's dealt with Ubuntu in a large enterprise setting. I don't mean for these comments to be flamebait, but it may come off that way. I'd just like to see more attention put toward them.
1. Incomplete automated installer. You can do nearly anything from Redhat's kickstart, but working with d-i doing partitioning, especially more advanced lvm and software raid setup is nearly impossible without some custom scripting hacks outside of d-i. Also, don't even ask what happens when you have a usb disk (or even just a card reader) plugged into the machine at automated install time, guess what gets recognized as /dev/sda... Speaking of which, since Ubuntu has their own installer, they don't support, fix, or use d-i, which means a lot of the time you will run into other random d-i installation bugs.
2. Ldap/krb5 stability. It's quite obvious that Ubuntu doesn't put a priority on testing or stability patching any of this, and in large scale deployments it just falls over on the server and client side.
3. Nobody in the enterprise uses cds or dvds to install, everything is automated from PXE, which means creating a local mirror to install from. Guess how difficult it is to mirror the "pool" directory without also getting the packages from every other version of Ubuntu. Yes you could use a script that parses the Packages file and only downloads the packages you need, but that just leaves more room for errors. Why can't I just have a single directory I can rsync?
4. When doing large scale automated apt-get update; apt-get upgrade tasks, ask what happens to apt-get/dpkg when a postinstall script fails, or there were file conflicts. Yes, the machine never fetches updates again. dpkg --configure -a and dpkg --purge --force-reinstreq and apt-get -f install are your manual cleanup friends. Also don't ask what happens when a user wants to install a local package with dpkg -i. Yes it prints an error, but unknowingly to the user the package actually gets half installed and breaks the automated update jobs. Why isn't there a --force flag to prevent this from happening?
5. When patching packages, there's at least 8 different ways a diff could be included in the sources. Here's a incomplete list of a few different schemes I've found over the years:
- Just drop the patches into patches/
- Just drop the patches into a non-standard patches/ directory
- Drop the patches into patches/ and add it to 00list
- Drop the patches into patches/ and manually patch the source yourself
- Edit the rules file and add in the patches manually
They really needs to adopt a single patching format, rather than quilt, dpatch, dbs, cdbs, and a bunch of other minor ones.
The sad part about this, is nearly all of these issues also exist in upstream Debian. I'd love to see these get fixed. I'd like more choices that I can run in the enterprise.
I need to overwhelmingly emphasize that OS X Server is *barely* suitable for a production environment.
I'm a big fan of Apple, and do appreciate the nice GUIs that they provided with OS X Server. However, it's not particularly stable, tends to break at odd intervals, and ignores many common Unix conventions, making it a huge pain to perform certain tasks, or do things not supported by the GUI.
It's a nice start, but I'd be very cautious about adopting it across your entire server infrastructure. Using it to host certain Apple-y apps might be fine, though I'd rely upon Linux/BSD for serious server tasks, especially if you already have the staff/experience to do so.
-- If you try to fail and succeed, which have you done? - Uli's moose
Try this for an idea... The whole concept of "installation" is wrong.
Build your own distributions. One per purpose.
Use something like RockLinux
to build a ramdisk image which contains all of the software and configuration required for a particular application. By "all" I mean "only". You end up with a single file which you put on a tftp server, you boot your servers over dhcp, they pick up the OS image and boot to the image on a ramdisk.
e.g. You might have one squid image, one PHP app server image, one Mysql rdbms server image etc. When the image boots it does whatever is required to run the app successully. e.g. putting a filesystem on the hard disk.
The benefits:
2 admins can run 500-1000 systems in a site easily because there is really only one machine; the network. Logarithmic increase in effort with the number of systems.
Deleted
nice, but you forgot the big one.
"the neutrality of this article has been disputed"
https://www.gnu.org/philosophy/free-sw.html
There is always risk involved when upgrading or deploying systems. Businesses don't upgrade just for the sake of upgrading. They will weigh the risks against the benefits and proceed if there is a clear advantage to upgrading. Like the saying goes, if it ain't broke, don't fix it. The cost of licenses can be minuscule compared to deployment costs, so much so that many licenses might as well be $0.00. Deployment costs can be some of your largest costs. How many people will it take to upgrade? What is their cost per hour to the business? Multiply that by the number of people involved. Have you deployed on an identical test system and tested your software to ensure that it will continue to function as required on the new production system? Do you have test scripts so that you can validate that it performs as required? Will you have to make changes to software or hardware to accommodate the upgrade? Will you need to update your documentation? What is your contingency plan should the upgrade fail? What will be the cost to the business if the system is unavailable outside of the deployment window?
Some systems, like SAP, may take years to be deployed throughout an organization. Your favorite distro might reach the end of support before deployment even completes. For other systems, your time line for product upgrades and support may not be entirely within your control. What if your system is part of a product that needs approval from the FDA? With five years of support you may have eaten up three years of that during product development and FDA approval, leaving only two years of support for the OS on your products. That could leave you with a short product lifecycle or mean that you have to perform significant upgrades in the field.
Other operating systems, such as Solaris, Windows, AIX, and HP-UX are supported for 10 and sometimes 12 years. The only saving grace for these enterprise Linux distros is that the source is available. But when the five years are up, then what? Will you still be able to pay Red Hat or Canonical to support your end-of-life Linux distro? What if they have made a business decision not to support end-of-life distros no matter what? If they will support it, it's safe to assume that your support contract will cost more than it did during the previous five years. And if you go somewhere else and hire some linux experts to support your distro, they won't have access to the information that the distro creators have. They won't have the documentation about why certain patches were applied, or specific changes were made, or other internal decisions. You better hope that your new support company is very careful and thorough.
So then, would it have been a better investment to pay for Solaris and 10 years of support, pay for 10 years of Linux support, or pay to upgrade your systems every three to five years? I don't know. It depends on your goals. Clearly Wikipedia likes to move faster than the average business. They seem to be continually upgrading their wiki software and like staying on the leading edge. From reading about their server setup, they appear to have a lot of redundancy and can reduce their risk when upgrading. Three to five years of support for their operating systems is probably sufficient for their needs. But don't let that lull you into thinking that five years is long term.
Slashdot: Failed Car Analogies. Amateur Lawyering. Anecdote Battles.