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!)"
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.
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..
which is totally what she said
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.
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.
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?
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.