Over at TechCrunch, Mohit Aron, a former staff engineer at Google, tries to dissect why the search-engine giant succeeded while Yahoo, at one point its biggest competitor, failed so spectacularly.
His conclusion: infrastructure.
While Yahoo relied on NetApp Fabric-Attached Storage (FAS) to boost its server space, Google took pains to develop a software-defined infrastructure it dubbed the Google File System. Despite some early doubts over its viability, Google’s solution ultimately proved more scalable and resilient; over at Yahoo, the ability to rapidly add server space was eclipsed by the reliance on appliance-based infrastructure.
“When Yahoo added a new service, it needed to re-engineer the NetApp platform for that specific use case,” Aron wrote. “As a result, identical challenges for separate services, such as Yahoo Search and Yahoo Mail, had to be solved multiple times on different infrastructures.”
What’s the lesson here? Think through your needs—and all the possible consequences of those needs—before you begin work. Be optimistic, and consider what might happen if your project or startup proves an enormous success; what sort of pressure will that bring to bear on your infrastructure? Can you solve long-term problems with a few short-term decisions?
“Of course, there are times when the ‘start from scratch’ approach means sacrificing immediate growth for long-term sustainability,” Aron wrote, “which can be a hard pill to swallow, especially in the fast-moving world of Silicon Valley.” But as Yahoo proved, sometimes it’s best to rely on something other than imperfect but serviceable infrastructure.
If you’re applying for a job as any sort of infrastructure builder, your interviewer will almost certainly delve into your approach to designing networks and managing teams. Although off-premises cloud services have removed a lot of the burden of creating and maintaining internal networks, there’s a reason why infrastructure-related jobs continue to pay so much money: decisions about how to build a company’s backend can mean the difference between annihilation and success.