The Stack That Helped Medium Scale To 2.6 Millennia Of Reading Time

We now serve static assets using CloudFlare, though we send 5% of traffic to Fastlyand 5% to CloudFront to keep their caches warm should we need to cut over in an emergency. Recently we turned up CloudFlare for application traffic as well — primarily for DDOS protection but we’ve been happy with the performance gains.

.. We’re starting to use Amazon Aurora for some newer data, which allows more flexible querying and filtering than Dynamo.

.. We’ve increasingly turned to Apache Spark for ETL because of its flexibility and ability to scale with our growth. Over time Spark will likely become the tool of choice for our data pipelines.

 

 

 

Steve Yegge’s Google Platforms Rant

So yeah, Microsoft gets it. And you know as well as I do how surprising that is, because they don’t “get” much of anything, really. But they understand platforms as a purely accidental outgrowth of having started life in the business of providing platforms. So they have thirty-plus years of learning in this space. And if you go to msdn.com, and spend some time browsing, and you’ve never seen it before, prepare to be amazed. Because it’s staggeringly huge. They have thousands, andthousands, and THOUSANDS of API calls. They have a HUGE platform. Too big in fact, because they can’t design for squat, but at least they’re doing it.

Amazon gets it. Amazon’s AWS (aws.amazon.com) is incredible. Just go look at it. Click around. It’s embarrassing. We don’t have any of that stuff.

Apple gets it, obviously. They’ve made some fundamentally non-open choices, particularly around their mobile platform. But they understand accessibility and they understand the power of third-party development and they eat their dogfood. And you know what? They make pretty good dogfood. Their APIs are a hell of a lot cleaner than Microsoft’s, and have been since time immemorial.

Facebook gets it. That’s what really worries me.

.. head over to developers.google.com and browse a little. Pretty big difference, eh? It’s like what your fifth-grade nephew might mock up if he were doing an assignment to demonstrate what a big powerful platform company might be building if all they had, resource-wise, was one fifth grader.

.. And it is a very serious mistake to conclude that the Facebook App could have been anywhere near as successful without the Facebook Platform.

.. The Golden Rule of Platforms, “Eat Your Own Dogfood”, can be rephrased as “Start with a Platform, and Then Use it for Everything.” You can’t just bolt it on later.

Jeff Bezo’s Decision to Make Everything a Service

Jeff Bezos is an infamous micro-manager. He micro-manages every single pixel of Amazon’s retail site. He hired Larry Tesler, Apple’s Chief Scientist and probably the very most famous and respected human-computer interaction expert in the entire world, and then ignored every goddamn thing Larry said for three years until Larry finally — wisely — left the company. Larry would do these big usability studies and demonstrate beyond any shred of doubt that nobody can understand that frigging website, but Bezos just couldn’t let go of those pixels, all those millions of semantics-packed pixels on the landing page. They were like millions of his own precious children. So they’re all still there, and Larry is not.

.. His Big Mandate went something along these lines:

1) All teams will henceforth expose their data and functionality through service interfaces.

2) Teams must communicate with each other through these interfaces.

3) There will be no other form of interprocess communication allowed: no direct linking, no direct reads of another team’s data store, no shared-memory model, no back-doors whatsoever. The only communication allowed is via service interface calls over the network.

4) It doesn’t matter what technology they use. HTTP, Corba, Pubsub, custom protocols — doesn’t matter. Bezos doesn’t care.

5) All service interfaces, without exception, must be designed from the ground up to be externalizable. That is to say, the team must plan and design to be able to expose the interface to developers in the outside world. No exceptions.

6) Anyone who doesn’t do this will be fired.

7) Thank you; have a nice day!

Ha, ha! You 150-odd ex-Amazon folks here will of course realize immediately that #7 was a little joke I threw in, because Bezos most definitely does not give a shit about your day.

.. – every single one of your peer teams suddenly becomes a potential DOS attacker. Nobody can make any real forward progress until very serious quotas and throttling are put in place in every single service.

.. monitoring and QA are the same thing.

.. But Bezos realized long before the vast majority of Amazonians that Amazon needs to be a platform.

.. The Golden Rule of platforms is that you Eat Your Own Dogfood. The Google+ platform is a pathetic afterthought. We had no API at all at launch, and last I checked, we had one measly API call.

.. Google+ is a knee-jerk reaction, a study in short-term thinking, predicated on the incorrect notion that Facebook is successful because they built a great product. But that’s not why they are successful. Facebook is successful because they built an entire constellation of products by allowing other people to do the work.

.. Our Google+ team took a look at the aftermarket and said: “Gosh, it looks like we need some games. Let’s go contract someone to, um, write some games for us.” Do you begin to see how incredibly wrong that thinking is now? The problem is that we are trying to predict what people want and deliver it for them.

What does Google need on mobile?

Hence, most of the experiments that Google has launched over the years are best seen as tests to see if they fit this model. Can you apply a vast expertise in understanding data, large numbers of computer scientists and data scientists, lots of infrastructure and a model of total automation and get something interesting and useful – can you get massive amounts of new data in, can you do something unique with it, and can you surface it back out? And, for all of these, are you solving hard, important problems with global scale?

That is, Google tests new opportunities to see if they fit in the same way that a shark bites a surfer to see if they’re a seal. If not, you don’t change Google to fit the opportunity – you spit out the surfer (or what’s left of him).

.. Maps had little obvious to do with web search and nothing to do with PageRank, but was a big problem that Google’s assets could be applied to (and of course, a decade later, Maps turned out to have huge strategic leverage in mobile). The same may be true of self-driving cars – this is not a search question, but it is a data and machine intelligence problem where Google is uniquely placed to do things (or at any rate, that’s what Google believes).

.. Over time Android has also evolved to provide reach in collecting data as well – you’re always logged in to Google on your Android phone, and it knows where you are when you do that search or open that app, and where everyone else who ever did that search was, and what they did next (this is one reason why retaining control of the Android UI, and heading off forks, matters to Google).

.. the Maps PM probably wants Maps to be great on iOS and might well like it on Kindle, but people thinking about maintaining Google’s control over Android clearly would not.