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.”

New Spring Design

Time to come out of your RSS readers and visit the site. In celebration of Spring, Summer, the new domain, and WordPress 2.5 I’m launching a new version of Photo Matt / Ma.tt. Here’s a before and after picture:

Old and new ma.tt

A couple of functionality changes you’ll notice:

  • Thumbnails and photos are now much larger. (Especially photos, now 840px wide.) Imagine it like going HD, you’ll definitely enjoy it more on broadband.
  • I’ve brought back the photo tech details like aperture and focal length.
  • In addition to posts and asides, I’m now doing new post types: galleries, quotes, videos, and highlight photos.
  • You can now click on a photo to go to the next one, making  browsing galleries easier.
  • The header is a lot shorter, so you get to the content faster. You can’t say I have a big head anymore. 🙂
  • I’m starting to use the new taxonomy bits in 2.5 to tag people, places (geotagging), things, and concepts in the various photos. (More on this later, still a bit broken.)
  • This is the first iteration of this site that is powered entirely by WordPress. (I know, 5 years late. The cobbler’s children go shoeless!) Before it was a cobbled together set of PHP includes and software like Gallery. Now 100% WP.
  • Gravatars are much more prominent. I wonder if there’s a way to only allow comments from people with Gravatars? It looks so much better.
  • Name has changed from Photo Matt to Ma.tt, tagline is the same.

The fine design was executed by Nicolò Volpato, the same talented fellow who did the last design. My concept was to evoke Spanish talavera, inspired by my trips to Spain and Argentina and pottery at my parents’ house like this, this, and this. It was a lot of fun to work with Nicolò on and I already have a few ideas for Fall. 🙂

I’ve been noodling on the implementation for months now. Last night I had just arrived from New York and it turned out the Jay-Z/Mary J Blige concert in Oakland got postponed so I found myself with a bit of time on my hands and decided to tie up all the loose ends. There are still a ton of things broken like the photo border on portrait images, I still have 15k old photos to import, and you may see the old design on some older pages, but I wanted to get it out there. There are also some weird things, like Firefox seems to back the background image blurry while it’s razor-sharp in IE and Safari. I feel like I’ve seen that somewhere before.

Finally I’m hoping to release a lot of the work I did here, including a version of the old theme, the plugin + script I’m using to resize all my old images on the fly, the taxonomy stuff, and some core improvements to WP to make some of the things I’m doing here easier. (I got lazy and did some direct SQL queries, etc.)