Stories
Slash Boxes
Comments

News for nerds, stuff that matters

Slashdot Log In

Log In

Create Account  |  Retrieve Password

Wikimedia Simplifies By Moving To Ubuntu

Posted by kdawson on Fri Oct 10, 2008 10:48 AM
from the all-eggs-one-basket dept.
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!)"
+ -
story

Related Stories

This discussion has been archived. No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More
Loading... please wait.
  • by ACK!! (10229) on Friday October 10 2008, @10:54AM (#25328531) Journal

    For such a large effort, it seems wild they had so many different distros running in their environment.

    What do you guys think?

    • by Anonymous Coward on Friday October 10 2008, @11:07AM (#25328687)

      I think that it's good to standardize on the best OS for your needs, but to find out which one is best you should first try running a bunch of them.

    • I think it likely that Wikipedia started out as a small pet project, and just happened to grow piecemeal as they needed more and more resources as they grew in popularity. They wouldn't have been sure to start with just how popular they were going to become, how could they? Also take into account that perhaps they had been using different OSes in a consistent way (though I don't expect that to be likely), like some were just for webserving, some held a quick database of current articles, some machines held compressed archives, some were for intended for virtualisation and testing out of new designs, that kind of thing?

      Anyone who has written a small well planned (or perhaps not so well planned) application but then been asked to make many, many, many changes over the years will be able to sympathise I expect. It's much easier to design a large coherent system than grow one out of a smaller system..

      • I believe the devs (the sysadmins at Wikimedia are also called "devs") experimented with a wide range of OSes - various Fedoras, Red Hat, Ubuntu, FreeBSD, Solaris 10, OpenSolaris - in various situations to see what was best to work with. This is a rationalisation from that.

        Realistically, it's all Unix and it'll all do the job. So it then becomes a matter of picking one your team is comfortable with. With armchair sysadmins' distro wars, "perfect" is the enemy of "good" - there's nothing you can do with CentOS that you can't also do with Ubuntu, you eventually just have to pick a damn distro and stick with it.

      • by brion (1316) on Friday October 10 2008, @11:49AM (#25329233) Homepage
        That is an entirely accurate summary of the situation. :) We still have a tiny technical staff, and re-organization of things that got thrown together in a hurry long ago is an ongoing task.
    • by Tango42 (662363) on Friday October 10 2008, @11:37AM (#25329055)

      Your mistake is in thinking it's a large effort - they started with just volunteers and then had only one or two full time staff for a while with the technical stuff still being done by volunteers. The first technical person wasn't hired until August 2005, four and a half years after the launch of Wikipedia (which, by that point, was already a top 50 website according to Alexa), they only have around 5 technical staff now. It's a very small project from that point of view, it's just a hell of a lot of servers!

      • The first technical person was Brion, who'd done the job as a volunteer for quite a while before that.

        I started editing Wikipedia in early 2004. I believe they'd just made the radical jump from one box to three boxes.

        Now stuff is structured in a horizontally-expandable fashion. "Add some more Squids." "Add some more Apache servers." So a single platform is an obvious win, and picking one platform to standardise on is actually more important than which of various near-indistinguishable free Unix-like operating systems that could all do the job they pick.

  • CentOS is free RHEL (Score:4, Interesting)

    by Hero Zzyzzx (525153) <dan.geekuprising@com> on Friday October 10 2008, @11:00AM (#25328603) Homepage

    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. [centos.org]

    They chose Ubuntu. Maybe they just like it better? I think you can factor cost of out the equation.

    • Re: (Score:3, Interesting)

      They chose Ubuntu. Maybe they just like it better? I think you can factor cost of out the equation.

      There might have been other motivations. For example wikimedia does lots of stuff in mixtures of languages, and probably uses UTF-8 encoding for (nearly) everything. I've been trying to get a good feel for how different distros (and OSs) actually handle mixed-language UTF-8-encoded text. It's been slow going. Everyone claims to support it. But it never takes long to find serious problems.

      The biggest probl

      • by brion (1316) on Friday October 10 2008, @11:56AM (#25329349) Homepage

        Canonical has recently provided us a donated support contract, but that didn't influence our (much earlier) decision to stick with Ubuntu.

        Primarily:

        • We liked it better
        • It's nice that people can run the same version locally (who runs CentOS on their desktop? Playing CentOS vs RHEL just feels like a big fat kludge and tells you there's something broken about the distro.)
        • Unlike Debian stable, and like Fedora, it's updated fairly frequently so we get a decent rate of package updates for infrastructure...
        • ...unlike Fedora, it's not so bleeding edge that things die all the time (SELinux breaking everything, yay!)
        • ...and Canonical actually puts out security updates for a decent amount of time.
        • by brion (1316) on Friday October 10 2008, @12:13PM (#25329561) Homepage
          Quick note -- we started our standardization to Ubuntu right around the time the first long-term support release (6.06 LTS) came out, offering the promise of much longer-period security updates. This was a big attractor versus continuing to play the Fedora upgrade game. (That is, even if we didn't keep everything at the latest version, we could continue to get necessary updates for old installations.)
        • Re: (Score:3, Interesting)

          Indeed. I've tried Ubuntu a few times over the years and they do seem to have done a great job at making everything feel well put together. The first version of Ubuntu I used kind of had the same problem as some of the other distros I have used where you didn't feel like all the toolbars on the desktop were really meant to be used side by side, but they started modding everything to fit together and improved pretty quickly.. if I wasn't using OSX right now I'd probably be using Ubuntu.

          I recently set up a Wi

  • by nick graham (1132955) on Friday October 10 2008, @12:35PM (#25329871)
    [citation needed]
  • Wow, not Debian? (Score:3, Interesting)

    by TheDarkener (198348) on Friday October 10 2008, @01:06PM (#25330281)

    I'm actually pretty surprised. I know Ubuntu == Debian in a lot of aspects, but... To go to a distro that is *mainly* geared toward the desktop market (I know they have a server version, blah) for something as huge as Wikimedia, I'd think they'd rather go to Debian since it's considered more stable (although maybe more outdated as well). I have been a Debian zealot since the mid 90's and moved my DESKTOP to Ubuntu later on - but still think Debian is a best fit for servers.

    Of course, there's always the whole "Ubuntu offers real support contracts" thing. That, in itself, is enough for any larger company to make the choice, right there.

      • Re: (Score:3, Interesting)

        Actually, Canonical is a "sponsor" of Ubuntu, and sells contracts for both server and desktop versions - Ubuntu is maintained by the community as well as them.

  • by mnslinky (1105103) * on Friday October 10 2008, @05:00PM (#25333125) Homepage

    A lot of folks seem to fail to realize that Linux has distributions. The kernel is the core of every linux system. From there, various organizations, Canonical being one of them, package the userland, a package manger, and an update service together, and call it their own. It's how Linux has worked for many years.

    That being said, what you're really shopping for when seeking a Linux distribution is all the stuff around the Linux kernel. That is where Wikimedia found the benefit. Regardless the timeline, Canonical offered them a pro-bono support contract, there is evidence of long-term update availability, and an overall 'good' package set.

    Also, for the record, Canonical does offer a server-edition of Ubuntu. See their website for more information.

    • Re:And? (Score:4, Funny)

      by Anonymous Coward on Friday October 10 2008, @10:52AM (#25328501)

      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.

      • Re:And? (Score:4, Funny)

        by Spatial (1235392) on Friday October 10 2008, @11:14AM (#25328769)
        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?
        • Re:And? (Score:5, Informative)

          by cyphercell (843398) on Friday October 10 2008, @11:24AM (#25328891) Homepage Journal
          the cuticle doesn't properly detach itself from the nail as it grows. The nail's growth slowly tears your skin apart.
        • Just tear it off... [shaneacker.com]

          Warning: Animated grossness, requires QT/QT equivalent, maybe NWS depending on your work environment, but funny as hell nonetheless. And also COMPLETELY offtopic, I'll see you all in -1, Offtopic HELL!!! ;-)
          • Re: (Score:3, Informative)

            A nail clipper works better to remove the "flaps". And applying cocoa butter or shea butter to the area afterwards, as well as the area between the nail and the finger.
      • Re: (Score:3, Informative)

        by Anonymous Coward

        8.04 is a LTS release. Which is obviously the reasoning behind the version choice.

      • Re:And? (Score:5, Informative)

        by Ngarrang (1023425) on Friday October 10 2008, @11:00AM (#25328613) Journal

        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.

        • Re: (Score:3, Insightful)

          8.04 is a long-term release. In the world of servers, that counts for something.

          According to their web site, it's only supported for five years. You must have some bizzaro-world definition of "long term."

          • It is a lot longer than 1 year

              • Regarding software, 5 years is a *VERY* long term.

                For home computer users, yes. Not for businesses.

                Compared to microsoft? Server 2003: EOL 2010.

                Besides which, you're forgetting this is linux we're talking about. Support runs out? You can open the hood and support it yourself (or pay someone else to do so). It's not like ubuntu would turn down paid support beyond the 5 year lifecycle of an LTS release.

                • Re:And? (Score:5, Insightful)

                  by Matt Perry (793115) on Friday October 10 2008, @04:59PM (#25333103)

                  It is when a new license costs $0.00. Other than deployment costs, there's no reason not to upgrade frequently.

                  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 [answers.com]. 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 [fda.gov]? 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.

    • Re: (Score:3, Insightful)

      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.

    • Ubuntu server edition is stripped down and customizable, as well. I assume they didn't use the desktop edition.

      This may be an outdated experience, but...I ran a single server with Gentoo for a while - until updating became such a tremendous pain. Manually merging configuration changes and such is simply not a good way to spend time, and neither is reading release notes to see whether I can simply use the old config and ignore new changes. Ubuntu is nice because installing and updating apps is easy, ther
      • Re: (Score:3, Insightful)

        I second your comments on Gentoo. I had originally thought it would be a good choice for my MythTV box on older hardware... and it was fine, at first. After about two years of occasional updates, the updates got really painful. Updating config files sucked, and often packages wouldn't compile, I spent hours googling various compiler messages. At one point the mythtv package got upgraded to version 0.22, then it wanted to backdate it to 0.20. Unfortunately the desktop system I was using as a frontend wa
            • His drooling over Gentoo? It's abundantly clear from his post and yours that he is many times more insightful and rational than you. His post says something meaningful as he describes the uses of various operating systems and concluding that Gentoo is not a good choice for servers, while you're just bashing Gentoo's policies and crying about Nethack.

              Of course, this is slashdot, so you get the 'insightful' moderation. Congratulations.
    • Re: (Score:3, Interesting)

      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.

      As a server distro, it rocks. I've migrated from Gentoo to Ubuntu Server for my home server and I've never looked back. As for enterprise-level distros, I'd have to go with Debian. There's not a whole ton of differences between Debian and Ubuntu Server, but I would trust Debian's 'stable' repositories over Ubuntu's repositories in a mission-critical setting, as the packages in Debian's repositories seem to be more hardened as opposed to Ubuntu's packages, which tend to be more cutting-edge.

    • by JeepFanatic (993244) on Friday October 10 2008, @11:23AM (#25328883)
      I'll probably get modded Troll for this but whatever ...

      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.

      • Re: (Score:3, Informative)

        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 us

        • Re: (Score:3, Informative)

          uess how difficult it is to mirror the "pool" directory without also getting the packages from every other version of Ubuntu.
          Not too hard you just have to use the right tool, https://help.ubuntu.com/community/Debmirror [ubuntu.com]

          Why can't I just have a single directory I can rsync?
          IIRC the main reason debian introduce the pool structure is to allow packages to be shared between versions (particularlly testing and unstable) and therefore reduce the archive size.

    • Re:homogeneity (Score:5, Insightful)

      by David Gerard (12369) <slashdot@nosPaM.davidgerard.co.uk> on Friday October 10 2008, @11:35AM (#25329037) Homepage

      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.)

    • Re: (Score:3, Insightful)

      Overall monoculture is bad; consistent setup and administration in a single buildout is good.
    • Re: (Score:3, Informative)

      I put the story in the queue as an insight into how a top-10 free content site run by a severely under-resourced charity does its stuff. And it's all over the press this morning, fwiw.

    • Re: (Score:3, Informative)

      Strangely enough, none of the things that bother you are an issue for us. Either they were fixed over two years ago, or they don't affect us.
      • Re:How many admins? (Score:5, Informative)

        by brion (1316) on Friday October 10 2008, @12:10PM (#25329519) Homepage

        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!

        • Re:How many admins? (Score:4, Informative)

          by Colin Smith (2679) on Friday October 10 2008, @01:49PM (#25330859)

          Try this for an idea... The whole concept of "installation" is wrong.

          Build your own distributions. One per purpose.

          Use something like RockLinux [rocklinux.org]

          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:

          • Zero server configuration. (or close to it) this means no need for YUM, no RPM, no APT. No dependencies.
          • Massive scalability because of above.
          • Only tested images reach production. You know it is going to work because the production image is the same single file, you know exactly how it is going to perform because you tested exactly the same file already.
          • Everything is version controlled and completely repeatable as part of the build process.

          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.

    • by brion (1316) on Friday October 10 2008, @12:25PM (#25329749) Homepage

      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)

    • Re:Simple is good (Score:5, Informative)

      by moosesocks (264553) on Friday October 10 2008, @01:22PM (#25330533) Homepage

      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.