Ex-Googler Calls Out Google Infrastructure as Obsolete
In the latest of several thoughtful blog posts from ex-Googlers about why they left, Dhanji R. Prasanna called out Google's infrastructure as, well, dated.
Prasanna may understandably hold a grudge as one of the many Australian-based team members who worked on the doomed Google Wave collaboration software platform. Yet he said Google is easily the best job he ever had.
His major criticism is that the software running in Google's dozens of data centers is 10 years old, aging and designed for building search engines and crawlers. Prasanna should know; he helped design the search and indexing pipeline, which supported over 3 million users at one point. He also worked on Wave's Embedding APIs and designed the real-time search front end. Simply, he's well-qualified to speak intelligently on Google's once vaunted infrastructure. Specifically, he noted:
Protocol Buffers, BigTable and MapReduce are ancient, creaking dinosaurs compared to MessagePack, JSON, and Hadoop. And new projects like GWT, Closure and MegaStore are sluggish, overengineered Leviathans compared to fast, elegant tools like jQuery and mongoDB. Designed by engineers in a vacuum, rather than by developers who have need of tools. I'm no programmer and can't speak to the qualitative differences of writing software with JSON versus Big Table. But I do know several bright Wave engineers were severely challenged with trying to build Wave to make it run so speedy and real-time as to achieve what Google wanted it to be: synchronous and real-time, without all of the messaging exchanges bumping into one another. This was no tall task. To me, the kiss of death Prasanna left about his experience working with Google was this: "Yet, I never once felt productive. I always felt like I was behind, and chasing the tail of some ephemeral milepost of where I ought to be. ... If you're a hacker, Google is not the ideal place for you." If nothing else, this criticism should serve as a cautionary tale for prospective Google programmers, who are really entrepreneurs masquerading as engineers and want to build something new, cool and important at the company. It's also another shining example of how Google is no longer leading the world in cutting-edge technologies that massively scale. Rather, it's leading the world in old, creaky technologies that massively scale, provided you can get them to work for what you're trying to accomplish. Food for thought as to why lots of programmers are flocking to Facebook, Twitter or some other Silicon Valley startup these days. |

Comments (8)
Name a leading tech company with a better infrastructure. Sure there are weaknesses with 10 year old technology stacks but to describe it as obsolete is a stretch- considering they still hold the benchmark in the industry.
Posted by Mikal Lewis | June 13, 2011 10:37 AM
Since Google is ever so fond of algorithms, here's one that they can use with their existing tools to fix their general architectural mistake:
1. Google: what is wrong with object oriented programming
2. Go to step 1.
Posted by Kim | June 13, 2011 11:33 AM
Hmnn... seems like a superficial analysis to me. Protocol Buffers versus MessagePack? MessagePack is an overhyped format that doesn't come close to matching its performance claims. Protocol Buffers and MessagePack are almost identical in every third party analysis I've seen, with MessagePack only beating it in the authors own drastically overstated claims. BigTable versus Hadoop? Hadoop does some sweet things, but it's entire history is one of trying to catch up to BigTable, essentially copying it most steps of the way. That's exactly what the Hadoop team should be doing because BigTable's performance numbers are just jaw-dropping.
I can't even touch the JSON versus Protocol Buffers comparison (that's the one he's actually making, not JSON and BigTable which makes no sense). Google uses JSON all the time, and it's a trivial format. Protocol Buffers serve a different purpose and are far more efficient. The only reason to use JSON over PB is compatibility with web browsers. It's just a nonsensical comparison on several levels.
Long story short, I don't think Prasanna is nearly as knowledgeable as he superficially appears, and this post seems more designed to throw out buzzwords to grab headlines than it is to dig deep into the advantages and disadvantages of these technologies.
-Adam
Posted by Adam Fisk | June 13, 2011 11:38 AM
I'm no programmer and can't speak to the qualitative differences of writing software with JSON versus Big Table.
Shut up then idiot
Posted by Erik | June 13, 2011 11:46 AM
You have to be kidding. What's the longest you've had to wait for a search query to respond? To open an email? When was the last time any of Google's services were down? Now compare that with the other services you've mentioned. I'll take the 'obsolete' technology any day
Posted by Paul | June 13, 2011 11:51 AM
Touchy, touchy. You whiners should go take up your defense of Google's software with the author, who has solid programming credentials BTW. I ask these same critics: what are your credentials?
Posted by Clint Boulton
| June 13, 2011 11:52 AM
Actually, searches on GMail are anything but fast.
Funny that searching the whole world wide web takes less than 1 second, but my 4gb Gmail data sometimes takes over 15... If anything, I'd say something was done very well, and then something wasn't done nearly as well...
Posted by Tuck | June 13, 2011 4:30 PM
Hey clint-o .. I work at google. Came here from yahoo. Worked deep infrastructure @ yahoo, same at goog. Know the infrastructure efforts underway at MS. And at FB. No details but I will say this - G is *way* ahead of the pack.
Re prasanna's creds - looking at his current endeavors, he strikes me as someone more familiar with software construction techniques than infrastructure.
Posted by pavan bhatnagar | June 13, 2011 10:31 PM