I attended an Amazon Web Services user group event last night, as I’ve been considering S3 and EC2 as interesting possibilities for hosting web applications. I didn’t learn much new at the event — sadly, Amazon’s policy is to say absolutely nothing about futures at developer events, which of course begs the question of why anyone should attend — but nevertheless it was interesting seeing the collection of demos and success stories. Mike Culver from Amazon did the talking for the first hour. It was nice seeing him again; we worked together at Microsoft on the .NET Compact Framework.
Takeaway #1: web app startups should strongly consider AWS. Lease time on a large working computing infrastructure for very little cost.
Takeaway #2: AWS will hasten the commoditization of web hosts. If your main value as a web host is to simply provision standard hardware, software and bandwidth at a low cost and give clients a simple “control panel” on top of that, AWS has you beat.
Takeaway #3: A new breed of web host that builds on top of 3rd party computing platforms like AWS will emerge. Is there already a name for this? Let’s provisionally call them “Virtualized Service Hosts”.
VSH’s will live higher up the food chain than today’s web hosts do. Web hosts today focus heaps of energy on difficult-but-commodity low-level work: buying and racking machines, replacing hard drives, building and running reliable networks, leasing monster warehouses close to stable electricity supplies, and so on. Amazon’s CTO Verner Wogels tellingly calls this, “undifferentiated heavy lifting”. This sort of work is best run at high economy of scale, which means in the long term the market favors fewer, larger farms.
In contrast, VSHs will provide and operate building-block software services atop someone else’s server infrastructure (Amazon’s EC2, in this case). For instance:
- Lego blocks for software services: standardized OS images designed for particular computing workloads.
- Database Server images running SQL Server, MySQL, PostgreSQL, etc.
- App Server images running stable and/or edge versions of Java, ASP.NET, Ruby on Rails, etc.
- App Server images with particular vertical apps atop such as CRM, Exchange, VOIP, Sharepoint
- Quality of Service: update images with the latest patches for security, functionality, etc. on a frequency that meets customer needs
- Statistics: provide trustworthy stats on uptime, perf, etc.
- Tuning: tweak the images for best performance, lowest cost, etc.
- Dynamic Provisioning: automatically fire up new images or kill unneeded images, depending on dynamic load
- Consulting: offer stack-specific expertise to customers
It’s starting to happen. Amazon just struck a deal with Red Hat to provide patches for the Red Hat Enterprise Linux image on Amazon EC2. Microsoft will surely follow, although it must threaten their own plans to (eventually) host services similar to AWS. Who’s next, I wonder?