Monday, September 8, 2008

Waves of technology platforms

I still remember the first time I switched to LAMP. I was building a new startup in 1999, and wanted to do it right. I had heard that all great companies built their applications on Oracle. So one of the first things we did was to hire an Oracle expert and get to work. Our paltry funding didn't allow us to buy expensive Sun or SGI boxes, but we had a pretty beefy intel-based box from Dell. We had just heard about Oracle's support for Linux, so we installed Red Hat and tried to install Oracle. We tried for weeks. I don't really remember why it didn't work. It wouldn't boot. It would boot and crash. We tried to learn how to create a schema, or really anything at all, and mostly failed. It felt like software that grownups were supposed to use, and we didn't qualify.

Meanwhile, we were building our app in PHP, using a generic DB driver and mysql, "for the time being." As the days turned into weeks, eventually the mysql version of our app became the only version, and at some point we just decided to give up on Oracle, fire the expert, and see what happened.

That startup didn't turn out so well, but not for lack of technology. It cost us a few hundred thousand dollars to get our app up and running, but none of that was dollars spent on software licenses or professional services. We just had our app support a few tens of thousands of customers, and it did well. Some combination of the dot-com crash and a just terrible business plan prevented us from having to take our scalability problems to the next level.

Looking back, that was a special moment. I can't really imagine how much it cost our "grownup" counterparts at other dot-com startups to get their first app up and running. My guess is many millions more than we spent.

Our open source counterparts who did solve the scale problem, had some serious hardware costs to deal with. So did I when I finally found myself building an app with real scalability, a few years later, but a combination of our just-in-time scalability technique and great open source scaling tools, made it manageable.

We're in a new wave of platform evolution. Now you can build an app at true web scale without incurring any software costs, or any fixed hardware costs. You don't need to invent a new architecture, and you don't need to even build your architecture up-front. You can turn your entire application infrastructure investment into a pay-as-you-go variable cost, and bring new products to market at speeds an order of magnitude faster than just 10 years ago.

1 comment: