On John Siracusa’s latest Hypercritical podcast he speculated widely about why Apple might be going a different route than some other companies when it comes to datacenter and cloud services design.
- He pointed out that Google has not only written all their own core applications, they also have created a customized Linux build and a unique file system. They even design their own server hardware. (Although as an aside, while the hardware they are using is technically “custom”, the stuff I’ve read on this makes it pretty clear that they are using pretty stock desktop motherboards.)
- Similarly, Facebook, while formerly using off-the-shelf hardware and software, has increasingly created customized kit. They have a special cross compiler, HipHop, (technically source code transformer) that takes the PHP that Facebook’s programmers write and turns it into C code that is then compiled. They have also recently announced the Open Compute Project, which outlines all their customizations in server and datacenter design in hopes that other companies can adopt some of them and drive down the cost.
- Finally, Siracusa talked about Amazon and how, just like Facebook and Google, they have significant investments in custom applications and datacenter infrastructure and how they are trying to monetize those investments by selling services like S3 and EC2.
Based on the way that Apple tends to go its own way and on its almost pathological abhorrence of depending on anyone but itself, you might think that it would follow the models above when designing its own datacenters.
But apparently it hasn’t.
From the photos shown at the WWDC keynote, it looks like Apple is using standard HP servers and NetApp storage. No sign of XServes or other Apple-specific stuff. And from some traces of iCloud network traffic, it appears that Amazon’s Web Services and Microsoft’s Azure cloud services are somehow involved in serving up at least parts of the iCloud data.
Now why would this be? As Siracusa says, “It’s out of character.” So why would Apple put its new flagship service into the hands of others?
In the podcast, Siracusa seemed unable to come up with a solid answer to this that he could get behind. Perhaps a lack of time to build something better? Or maybe bad experiences with Mobile Me? In fact, he seems to believe that using commodity software and hardware is almost unthinkable. He goes on a long jag about how hard it is to get different vendors’ software and hardware to work together, apparently unaware that everyone (other than Google, perhaps) has to deal with this. He calls this kind of integration “unproven”. Really? And surprisingly enough, the chat room didn’t seem to correct him. Co-host Dan Benjamin did seem to be pushing on this a bit, but then ultimately let Siracusa go.
But anyway, there’s a pretty simple answer for why Apple has gone down this road, and it shows that their choices here are not as “out of character” as you might initially think.
Think about it: What does Apple Corporation do? They design and market software and devices and they sell media to run on those devices. That’s pretty much it. They don’t build anything. They don’t sell online services that aren’t somehow associated with their software or devices.
In this regard, there is a huge difference between Apple and the three companies that Siracusa opened with. Google, Amazon, and Facebook are all web services companies at heart. So just like it’s worth it for Apple to create custom software and hardware, it’s worth it for Google, Amazon, and Facebook to create custom datacenter technology.
Look at how Apple handles the manufacture of their high-profile devices. Instead of running their own factories (like they used to), all assembly and parts are handled by outside companies that are specialists. Screens and processors and RAM by Samsung. Camera by Largan or Sony. Assembly by Foxconn. Etc.
Apple’s apparent datacenter decisions are similar to this: Why should Apple come up with their own datacenter technology? Why would they want to spend any energy on this when others (Amazon, Microsoft, Akamai, HP, NetApp etc.) have already done all the needed legwork? Why not take advantage of others’ expertise in an area that is not critical to Apple’s core business?
In fact, if Apple truly is able to run iCloud on top of all these existing cloud service providers they may have a much better cloud solution than any one of those providers has on its own. If Amazon has a catastrophic failure, that’s no problem for iCloud because it’s also running at Microsoft and Akamai. If Microsoft has better connectivity in a certain part of the world than does Amazon, then Apple can make sure that iCloud services come from Microsoft for that part of the world.
As it turns out, Apple may be again trumping the industry by going its own way. Not quite so “out of character”, eh?