The Platform Advantage of Amazon, Facebook, and Google
Where’s the magic? [Amazon] The databasing and streaming and syncing infrastructure we build on is pretty slick, but that’s not the secret. The management tools are nifty, too; but that’s not it either. It’s the tribal knowledge: How to build Cloud infrastructure that works in a fallible, messy, unstable world.
Tim Bray, Senior Principal Engineer at Amazon, in Cloud Eventing
Ben Thompson makes the case in Apple's Organizational Crossroads and in a recent episode of Exponent that Apple has a services problem. With the reaching of peak iPhone Apple naturally wants to turn to services as a way to expand revenues. The problem is Apple has a mixed history of delivering services at scale and Ben suggests that the strength of Apple, its functional organization, is a weakness when it comes to making services. The same skill set you need to create great devices is not the same skill set you need to create great services. He suggests: “Apple’s services need to be separated from the devices that are core to the company, and the managers of those services need to be held accountable via dollars and cents.”
If Apple has this problem they are not the only ones. Only a few companies seemed to have cross the chasm of learning how to deliver a stream of new features at a worldwide scale: Amazon, Facebook, and Google. And of these Amazon is the clear winner.
This is the Amazon Web Services console, it shows the amazing number of services Amazon produces, and it doesn’t even include whole new platforms like the Echo:
Clearly Apple can deliver services at tremendous scale: 200K messages per second through iMessage; 750 million transactions per week in the App and iTunes store; 11 million Apple Music subscribers; 12 million Apple Pay users with one million new Apple Pay users are being added per week.
The counter is these services are relatively self contained and/or interface with large partners. Individual programmers are not able to interface with individual consumers. iCloud, a programmable service, for example, has a long history of issues, but is getting better over time.
Siri is perhaps the best example of where programmable services have failed Apple. What iOS programmer has not wanted to integrate with Siri? It would be so cool. Yet we still can’t.
Amazon in contrast shipped the Echo with an API and entire programming and distribution model that can plug into every third party system in the world. And it actually works in synergy with the Amazon platform as a whole. That’s a common thread between Amazon, Facebook, and Google, an internal platform that makes making services easier.
I was able, for example, to quickly develop a simple Alexa skill called Mirror Mirror on the Wall using Lambda. After that I developed a skill that I named Blast that implemented a Phone Tree. In the military there’s the idea that in an emergency the word is spread through a phone tree, which is a form of a Gossip Protocol. One person calls a few others and each of those people call a few others until the word is spread far and wide.
In fairly short order I was able, all by myself, to put together a static website on S3 that built a single page app using Amazon’s API Gateway, Lambda, DynamoDB, SQS, SNS, SES, and a few other services to spread a voice command from an Echo sitting in my home, convert it into text, and send it through email, SMS, and phone calls to as a large a network of people as you could imagine. This thing would scale and that was a problem. I didn’t release it because without a monetization strategy I would become poor rather quickly if people actually used it. The point is how powerful the entire ecosystem is in developing complex applications.
It made me wonder: how I would do such a thing with Siri?
In the Exponent podcast they make an interesting point, that it’s easier for Amazon to add speech recognition than it is for Apple to add services. This is what Amazon can do. Build backend heavy scalable services that are programmable. In fact, Alexa is now available on devices other than than the Echo.
Also in the podcast the point is made that scale is one of the biggest competitive advantages you can have. It allows you to do things nobody else can do. The price is you need to be able to get as big as possible as fast as possible. That’s where Apple needs to be and that requires a platform approach.
Why is Amazon so good at delivering new services at such a blistering pace and scale? Requoting Tim Bray:
It’s the tribal knowledge: How to build Cloud infrastructure that works in a fallible, messy, unstable world.
Does Apple need to align their organizational structure with their products? No idea, but they do need to develop this “tribal knowledge.” How to do that could be a lot harder challenge than a reorg.