By Theo Schlossnagle, CEO, OmniTI
In an era of cheap bandwidth, hardware, and programmers, executives have forgotten — to their detriment — how to prepare for the consequences of website failures.
Popular opinion holds that Web 2.0 is a surge of innovation heretofore unseen on the Internet. Many, like Marc Andressen, argue that one of, if not the most, important contributors to this innovation is access to cheap bandwidth, programmers, hardware and software.
My experience leads me to a different conclusion.
While this unprecedented access to resources is certainly an enabler, I believe that on the Internet, design and implementation have a paradoxical crossover and pure opportunity is the single largest contributor to innovation.
In fact, the access to abundant and inexpensive resources is a mixed blessing. Cheap access and abundance might be an enabler, but the resulting inefficiencies and sub-par talent can handicap innovation and serve to fatally cripple companies at the very time when their ideas are ready to bear fruit.
Succeeding despite ourselves
The Web itself is quite young when compared to other technology verticals (e.g. storage, servers, networking). The truth is that we still struggle with how to make it all work, especially under extreme conditions. It’s no trivial task to build a single website servicing a thundering, global herd, as traffic-related site failures in 2009 by giants such as J. Crew
remind us. More disturbingly, Microsoft
demonstrated that without proper maintenance, sites don’t even need a traffic surge to fail.
While the “big boys” usually build and maintain Web properties quite well, failure is exponentially more dangerous for Web upstarts trying to establish themselves, many of whom fight and claw to get a chance to make an impression with a user, only to see their site crash when traffic arrives because of poor site planning and implementation.
Think back to the growing pains Twitter faced in 2009. The “fail whale” became synonymous with Twitter! Clearly, Twitter’s brilliant management team didn’t adequately prepare for the very success they were striving. Fortunately for them, the power of their idea kept people coming back. But few are so lucky.
The uncomfortable irony is that the most innovative and promising sites, whose business plans are built to rapidly grow traffic, often forget that building a business that can scale with a solid, optimized tech infrastructure goes hand in hand with success.
It’s our own fault
There is a famous quote in computer science attributed to our patriarch Donald Knuth of Stanford University:
“Premature optimization is the root of all evil.”
This, however, is a snippet that abuses and misses the larger point from Knuth’s full statement:
There is no doubt that the grail of efficiency leads to abuse … We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil. Yet we should not pass up our opportunities in that critical 3%. A good programmer will not be lulled into complacency by such reasoning, he will be wise to look carefully at the critical code; but only after that code has been identified.
In other words, 97% of the time, we waste too much time worrying about small efficiencies. But the other 3% of the time, what I argue is the most important 3%, we fail to make small, vital optimizations that prepare for the onslaught of traffic that we’re trying to generate.
The “tech side” of the industry continues to believe that because computers are getting faster and cheaper, it is better to innovate without optimizing because it enables them to get to market faster and optimization was something they could fix if it became a problem.
In my experience auditing and providing guidance on building websites, failure to find and correct that all-important 3% results in rampant inefficiencies: too much equipment provisioned, outrageous bandwidth usage, frequent and prolonged outages, overstaffing, and a loss of agility, resulting in an acute and profound loss of competitive advantage.
With programmers, hardware and software in abundance, it is easy to manage Web projects as if the 3% can be erased with more elbow grease. Such a backwards looking, “I’ll fix it when I need to” approach is a recipe for disaster.
Take, for example, the case of promising startup Ma.gnolia.com, a social bookmarking site that attained critical buzz, only to suffer catastrophic data loss in February 2009. In a surprisingly candid podcast, founder Larry Haff detailed what went wrong: with the company focused on growth, he and his team missed opportunities to bolster the site’s infrastructure, resulting in the unthinkable: total data loss and the need to start from scratch. More than six months later, Haff and team re-launched, but the site remains in private beta to “keep Gnolia sustainable.”
Make no mistake: planning for the stampede, or even steady growth, is congruent with success. If you are successful in gaining traction and adopt the “I’ll optimize when it hurts” attitude, you will be faced with inefficiencies, outages and general disadvantage at the worst time possible for your business: your moment of opportunity.
Theo Schlossnagle is the CEO of OmniTI, a Columbia, Md.-based company that develops software and offers consulting services for highly scalable Web applications. He’s also the author of the book “Scalable Internet Architectures” (Published by Sams, 2006).