Wednesday, July 24, 2013

Who wants to run a million servers?

In recent tech news, Microsoft CEO Steve Ballmer has bragged announced that they are now running more than a million servers. More than a million? Really? That's a lot of Windows servers to maintain, man. How do you keep them all up to date? What if an update fails to install as so often does on Windows? Who's gonna fix it?

Google, on the other hand doesn't make any announcements about how many servers they are running. I've searched around and found estimates, but no hard and fast numbers. The best estimates that I can find are ~900,000 (as of late 2011) and somewhere between 1 and 2 million (as of early 2012, with a projection suggesting 2.3 million by 2013). I don't think that Google needs to impress us with the number of servers they run. However, they do need to impress us with fast search results.

Google and Microsoft offer a study in contrasts. Google publishes general purpose best practices such as hard disk failure statistics as well as a wealth of other experience for others to follow should they choose to. Microsoft publishes best practices for all their servers, too. But that is just for Microsoft software. Google is publishing best practices for hardware and software. Google is also agnostic about what you run on your hardware. Their only hope is that you will use Google search.

After looking at pictures of Google's data centers, I'd say that Google has plenty of experience to lend. Everything is color-coded, organized, clean and efficiently run.

Does Microsoft's announcement tell us anything about Microsoft? Could Microsoft be trying to convince us that they are relevant to the internet? As if they ever were?

One thing that we know for sure, is that Google is serving at least 25% of all internet traffic. Even Windows Updates on Patch Tuesday doesn't even come close to that. The only organization that clearly surpasses Google in traffic handling is Netflix with an estimated 30% of traffic. Well, OK, maybe the NSA can top Google.

I suspect that Microsoft really needs a million severs to get their job done since they are running Windows. It is quite possible that the same job could be done with much less hardware running Linux. But Microsoft makes a special effort to ensure that their products won't run on Linux. That may change, but the wind says "no".

One philosophical difference between Google and Microsoft concerns freedom. Google uses free software, contributes code to free software projects and makes no efforts to restrict your ability to use the hardware Google sells. For example, Google has published instructions for how to make a copy of the hard disk in a Chromebook or Chromebox to an external drive. There is nothing stopping you from installing your favorite distribution of Linux on that hardware.

Microsoft, on the other hand, seems to have hijacked the development of UEFI, the new boot process for new computers that replaces the BIOS. UEFI is secured using a set of keys that at the start, only Microsoft had. Anyone wishing to distribute a version of Linux that would run with UEFI, had to negotiate with Microsoft to generate keys that would work. Microsoft just doesn't want people buying Windows machines and loading them up with Linux. For all we know, UEFI is just security theater.

I believe that this philosophical difference between Microsoft and Google defines their opportunities for success. While Google let's everyone know that they are free to use another service, or other software on their hardware, Microsoft has been busy using every technical and legal means to limit user options to Windows.

Microsoft needs a million servers to a fraction of the work that Google could with the same number of servers. Why? The restrictions imposed by Windows on its customers also work against Microsoft. Linux users like Google have access to the source code, can change it, learn from others and improve Linux. Microsoft could change the source code, but cannot learn how to improve it from others, they have to do it alone.

Microsoft has tried to hold everyone else down below them, but to do so, they have to stay down too. Until the internet came around, Microsoft has been largely successful at holding others down, because with the internet, choices are very limited or non-existent.

Google has promoted user freedom not just because they want to, but because doing so holds their own feet to the fire of their customers and spurs them to do better. If their engineers know that anyone could leave at anytime, they will work diligently to keep their customers. Our choices for search engines and other services are evidence of Google's determination to offer a better search experience with fewer servers per customer than Microsoft needs.

If Microsoft thinks that the number of servers they're running is an indication of their value as a vendor, they need only look to Google for the values customers are looking for.

No comments: