Should Apple Build their Own Cloud?
This is one of the most interesting build or buy questions of all time: should Apple build their own cloud? Or should Apple concentrate on what they do best and buy cloud services from the likes of Amazon, Microsoft, and Google?
It’s a decision a lot of companies have to make, just a lot bigger, and because it’s Apple, more fraught with an underlying need to make a big deal out of it.
This build or buy question was raised and thoroughly discussed across two episodes of the Exponent podcast, Low Hanging Fruit and Pickaxe Retailers, with hosts Ben Thompson and James Allworth, who regularly talk about business strategy with an emphasis on tech. A great podcast, highly recommended. There’s occasional wit and much wisdom.
Dark Clouds Over Apple’s Infrastructure Efforts
The recurring theme says Ben Thompson is Apple has trouble scaling up to their needs. According to a story reported in Inside Apple’s Cloud Infrastructure Troubles (paywall), Apple has struggled for many years to build their own cloud infrastructure. The takeaway from the article is:
Despite years of trying, Apple has failed to develop infrastructure to handle traffic for its Internet services, which include iTunes, Apple Maps, iMessage and backups of images and videos stored on the iPhone. That means Apple is dependent on its major business rivals for running those services and won’t be able to provide infrastructure services to developers that build apps for Apple’s ecosystem.
It appears at Apple’s scale, a system targeting 400,000 network devices like switches and routers, none of the off-the-shelf systems they tried worked out (Cisco, Cummulus, H-P, NetApp).
It’s easy to imagine what a time sync this whole process would be. You have to staff up, build the datacenters, weed through dozens of contenders, sit through endless meetings, thoroughly test your top picks, select a winner or two, maybe have a bakeoff, negotiate a deal, deploy it, take a huge hit of moving your software over to the new system, run it for a while, try like mad to fix bugs and work around problems, many of which your vendor probably hasn’t seen before and the rest they can’t fix. And then and only then do you find it doesn’t work as well as you thought it would for your needs. Repeat a few times with different vendors and approaches.
Before you know it the years have flown by and you are no closer to a solution than you ever were. So Apple plugged the gap by running on AWS, but Apple reportedly isn’t happy with AWS because it’s not able to quickly load photos and videos onto users’ iOS devices. Apple also runs on Azure, but Azure has run out of capacity and Microsoft wants Apple to pay for much of the new datacenter expansion costs. Apple doesn’t seem to want to do that, so now Apple has turned to the Google Cloud. In the background Apple has their own Project McQueen, a plan to become more reliant on its own data center infrastructure and reduce its dependence on public clouds.
My conjecture is that the engineers at Apple most likely quite competent, the problem appears to be Apple started off by not realizing they are Apple. They approached the problem like an enterprise, reaching out to vendors for an off-the-shelf solution. This was unlikely to work. Apple operates at Facebook, Microsoft, Google, and Amazon scale, and all those players developed their own infrastructure. If Apple had started with the plan of building everything themselves they might be further along. Why didn’t they?
Is Apple’s Cloud Problem Cultural?
Ben and James talk a lot about the idea that Apple’s problem with the cloud is cultural. The idea is Apple’s culture centers around building great finished products. Strengths determine weaknesses. The skills and processes needed to build services in the cloud are very different than those that go into building devices. One is working towards a finish line and one is working towards a process that is self correcting, iterative, and is never perfect, because it can never can be perfect. Unlike Facebook and Google, who cut their teeth and herding servers, Apple never had to develop server infrastructure as a core competency.
The suggestion Ben made over a year ago was Apple should commit to Microsoft running their services. Microsoft is much better at it. The companies are aligned strategically, they are not competitive. Apple should use their cash to pay for Azure and let the people run it who are good it, incentivised to do it, and have the right culture.
James suggests Apple buy Dropbox because Dropbox has the cloud chops to build out a cloud as evidenced by their own move off AWS and into their own storage cloud. That way Apple could concentrate on their business model. A concern is that Dropbox may not operate at the scale Apple needs to. They don’t think there’s a question Dropbox could pull off the challenge, but Dropbox is a storage company, not compute and services company. While Apple no doubt has huge storage needs, going forward they will have even bigger compute and services requirements, at a truly global scale. It’s not clear if or how Dropbox could help with those.
So, Should Apple Build or Buy?
The Buy Angel
Ben says something interesting: you can’t overestimate the return from focus. So let one of the big guys do it. The strength and power of Apple’s commitment to the design of devices is what they do best. They don’t have to be good at everything. You can’t be horizontal and vertical at the same time.
The best bet is to build a long term partnership with one partner. The best choice would be Microsoft because they don’t compete with Apple anymore. Partnering with Microsoft is the lowest risk solution for the long term.
The Build Angel
The [Tim] Cook Doctrine:
We [Apple] believe that we need to own and control the primary technologies behind the products we make, and participate only in markets where we can make a significant contribution.
Ben doesn’t buy into this. He thinks that what made Apple great is a certain dynamism that changes with the context. If you are a music company you change. If you are an iPhone company you change. Context matters and rules like the Cook Doctrine can never adapt to succeed in new and changing circumstances.
James things there’s something to owning and controlling core technologies and thinks buying Dropbox is still the best option.
Ben says the point of owning and controlling a primary technology is so you can deliver a superior user experience. At what point is Apple’s insistence on owning the primary technology interfering with delivering a superior user experience?
Ben also thinks the cloud is a generic technology, which is why Apple has been able to switch to different clouds. You can make an argument that actually running servers is no different than actually putting a phone together and Apple doesn’t own that.
For Ben the highest risk plan is Apple building their own cloud. It seems less risky, but it’s actually the highest risk option. Theoretically Apple is bad at the cloud and in practice they are bad at the cloud, so why continue to try?
I don’t think Ben is quite right in thinking clouds are a commodity. If Apple’s concern is to deliver content quickly to iOS devices then Google is a good partner. They have arguably the best and most advanced global network on the planet. Plus Apple is a big user of Mesos and that would work great on Google’s cloud infrastructure. And if anyone can handle Apple’s scale it’s Google. Plus Google has a lot of machine learning resources Apple may want to use in future projects. So if Apple’s own efforts don’t bear fruit, Google is a good fallback plan.
Apple becomes a metaphor in this discussion for a lot of the struggles we see with companies trying to map out their cloud strategy going forward.
The conventional thinking is that Apple should own their own infrastructure. That’s the only way they will be able to absolutely guarantee a delightful user experience. Ben and James make some powerful counter arguments. What do you think?
Reader Comments (5)
It would seem to me that diversifying - running their own (like they're already doing for iCloud (at least to some extent) in NC), and expanding / bursting into other providers.
This is one of those big cases for a hybrid approach - spread your risk across multiple providers so that when one has downtime, you're not completely up the creek.
In terms of a BIG DECISION (i.e. ignoring a small group within Apple using a given technology):
I don't see how Apple can use Google due to privacy concerns. It seems like a no-go.
Azure might be a great, but Microsoft? Seems implausible. History matters.
Amazon would really be a great option and I'm not really sure why they don't do it. It might be a problem of scale in the end - in which case Apple needs to do what the CIA did - bring AWS software in-house. Apple can surely afford a few $100MM a year in licensing and support fees and then they just need vendors to do the dirty work of provisioning servers and networking gear and datacenters.
Doing it in-house is also a really good idea. Apple is really, really big and as evidenced by their A-series chips, they are not afraid to go deep when it means they can deliver a better experience. It is possible that they really can deliver a better experience with a custom solution ....
Apple need DC for Storage, and that is why Dropbox is a good pick. While you can off the processing to everywhere else, it is much better to have the iCloud storage on your watch. What I think Apple should build, is their own Internet / network backbone. Or at least buy enough dedicated capacity, much like how Riot Games built their own connection with peering.
Everything from Storage to processing power is a commody. As witness by the continue down trend of AWS pricing. But not for transfer. Where you see very little difference over the years. You may get 2 - 3x better pricing in Storage and CPu power, or memory usage. But Price / GB is still roughly the same over the years. And Apple should help Microsoft and Google to built their Cloud strategy, competing with each other on pricing. Since most of these DC are actually third party from like of Digital Reality or Equinx, there should be no problem with Apple arranging their Network.
Not to mention Apple need the Network for Apple Music Streaming, Software updating, iCloud Syncing, Event streaming etc.
Acquiring Dropbox seems a little blunt and narrow minded. Storage is a problem so buy a storage provider? iCloud being an example would suggest that storage isn't the only problem, so in an acqui-hire sense, I would have thought something like Joyent would have been a much more interesting deal for both teams.
Joyent have the experience not just in operating the full stack but they've been bending Solaris to suit their requirements. To have an ops team specifically tailored to building out the physical infrastructure & host OS in tandem can't be over stated for a company that keeps stumbling.
I'm surprised that Apple hasn't attempted to build their own cloud; they have more than enough capital to do it and have enough clout in the field to hire the people they need to build it.