Infrastructure as Competitive Advantage

There’s an interesting post at GigaOM: Web 2.0, Please Meet Your Host, the Internet. It’s a good read, though could be shorter, but a few things struck me after reading it. I don’t disagree with him per se, I just think the emphasis is on the wrong thing. (Probably for effect.)

Infrastructure can be a competitive advantage today — the speed and reliability of WordPress.com has certainly put us in a favorable light with users, especially large customers — but that’s going to disappear over time. We’re very much at version 0.1 of things like Amazon’s web services and App Engine, but it’s not hard to read the writing on the wall and understand that level of abstraction is going to be the future foundation of web applications. I’m not counting on infrastructure to be a long-term competitive advantage for Automattic.

If you have a few minutes it’s worth reading On Grids, the Ambitions of Amazon and Joyent which has the real definition of a grid and Sunshine, which is worth it for the extended analogies to Greek mythology. (Both end in ads for Joyent.) Also check out Early notes on GoogleApps, Dave Winer groks where this has to go.

Second, Allan describes a case of a DDOS attack hurting a friend’s startup who had very little information about how to stop it:

Unfortunately, the poor site performance was not missed by the blogosphere. The application has suffered from a stream of bad publicity; it’s also missed a major window of opportunity for user adoption, which has sloped significantly downward since the DDOS attack and shows no sign of recovering.

We can all name startups or sites that aren’t particularly known for their performance, but that flourished in spite of it. Twitter and MySpace comes to mind. If we dug a little deeper we could also find thousands of startups who were prepared for the world to show up to their door, and it never did. Building something people want is much harder than scaling it. (In most cases.) If you solve the what-people-want problem, they’ll use you no matter how bad your interface is, how slow your site is, just give them somewhere worth waiting for. I would suspect the friend here isn’t seeing their usage decline because on their Techcrunch day the site wasn’t responsive, it’s that they’re probably still in the before market fit stage.

Third, I am a huge believer in the importance of performance, but most people forget that on the web 80-95% of performance is on the front end not the page generation time. (I realize I’m saying this on a site with a 140kb header graphic. :)) Yahoo has fantastic resources on this. When a website “pops” it probably has very little to do with their underlying server infrastructure and a lot to do with the perceived performance largely driven by how it’s coded at the HTML, CSS, and Javascript level. This, incidentally, is one of the reasons Google Gears is going to change the web as we know it today – LocalServer will obsolete CDNs as we know them. (Look for this in WordPress soonish.)

Finally, for the next few years before we have true utility computing, there are some great “hardware as a service” providers like Layered Tech and Server Beach that essentially handle everything from the power to the network to hardware, and let you take over from the operating system up. This is what we use for WordPress.com, Akismet, WordPress.org, and it’s great. It’s allowed us to focus on what matters — our software and service. You still need a pro like Allan describes to handle things at the OS level (most performance problems I see are badly configured servers, not hardware limitations) but leave networking and hardware to people with economies of scale. This comment nails it.

Update: I’m in a video Rod Boothby did asking What is Cloud Computing, good timing.

Armchair Scaling Experts

random($foo): Internet Asshattery, Armchair Scaling Experts Edition. If you’re not the largest site using a given piece of software or framework and you’re having more trouble than someone who is, you’re doing it wrong.

With WordPress specifically, there are hundreds of sites I can point to that scale just fine to meaningful traffic levels with no caching, plugins, or anything. If your server is tuned for serving static files instead of dynamic requests, then a plugin to make WP output static files is a fine band-aid, but only if you don’t have the access or expertise to properly configure things in the first place. (In which case you should consider alternative hosting, help, or a hosted service like WordPress.com.) But people like to think that (1) they’re bigger or more special than anyone else or (2) that the 5-6 layers that sit under WordPress have nothing to do with its performance.

I don’t expect everyone to know about this, it’s very much a learning-by-doing thing and everyone’s situation is different. But at least operate with the assumption that if there’s someone bigger running without troubles that they (or sufficient Googling) might be able to help you out.

See also: the shockingly ignorant comments (over 200 at this writing) on this post. There are some smart people in there, but they’re drowned out by “wind0z sux!” and “that’s what you get for using (PHP|MySQL|WP|IIS|RDBMS)…”

Here’s a WordPress blog doing just fine:

Optimism Tax

Around 1:00 am on Halloween, I hailed a cab with a friend. “Drive around to the front of this building. Can ya leave the meter running while I go inside to tell our friends that we’ve left? Thanks, man… I appreciate it.”

A few minutes later, the cabbie told my friend to run inside and get me because he was in a hurry and had someone waiting.

John “Halcyon” Styn beginning a story on the Optimism Tax, which I paid today in the form of a GPS, some sunglasses, and an original PalmPilot. “[A] small price to pay to be able to continue trusting people.”