Back in April 2004, I wrote about HP's vision for utility computing and how the company was looking to make compute resources available and billable on an on-demand basis. One of the questions I had for HP at the time is what the billable unit of measure might be when you look aggregate the variety of compute resources that on-demand computing requires into something as simple as a kilowatt. The answer back then -- and it was just an idea that HP was tossing around -- was something the company referred to as a "computon."
Two years and a couple of regimes later, HP's computon has vanished into the haze, as has the company's vision for utility computing. It's too bad because the vision was actually right on and now, a variety of other company's are stepping in to fill the gap. The one that first captured my attention was Amazon with its Elastic Compute Cloud (EC2). I'm sure that there are some people who would debate whether or not EC2 is a utility or not. I guess it depends on your definition of utility.
In utility fashion, EC2 is pay as you go. In utility fashion, EC2 scales. You can take as much as you need when you need it. But if you're application needs more power, it had better be an application that can scale out (in other words, be clustered or load-balanced across multiple x86 boxes). More and more applications than ever work this way today, but not all. While there isn't a direct one-to-one mapping of physical x86 boxes to the number of x86 instances an EC2 customer has launched at any given moment (it's more of a virtual machine architecture), "each instance predictably provides the equivalent of a system with a 1.7Ghz Xeon CPU, 1.75GB of RAM, 160GB of local disk, and 250Mb/s of network bandwidth" according to Amazon's Web site.
Instances are fired up through a Web services API and instead of computons, Amazon bills 10 cents per instance per hour (also, 20 cents per GB of data transferred outside of it's datacenters and 15 cents per GB of Amazon S3 storage used per month). So, if scaling is an issue, you need applications that can be served by multiple instances. On the Amazon Web site, EC2 is interestingly located under the "Make Money" tab. My sense is that traditional hosters will find ways to ditch their datacenters and build their offerings on top of services like EC2. And they'll make money.
One traditional hoster that could do that sooner rather than later (due to the cultural compatibility of its vision with Amazon) is MediaTemple. I hadn't heard of MediaTemple until I spotted them on Mike Arrington's Techcrunch. Whereas EC2 customers get x86 instances that they must manage themselves, MediaTemple's Grid Server provides what is essentially a cross-breed between EC2 and traditional managed hosting. According to Arrington's podcast interview with MediaTemple executives, Grid Server it has scale up capability. Does your application need more gas now?
Apparently, the Grid Server cluster just delivers it in scale-up fashion without the need for another x86 instance. Instead of a pricing model that ties usage to machines (or virtual machines as it may be), MediaTemple has gone the computon route with a billable unit it calls the Grid Peformance Unit or GPU. For $20 per month, MediaTemple offers a healthy base amount of GPUs and, in on-demand fashion, if you exceed that, you only pay for what you take. One other key difference between Grid Server and EC2 is that Grid Server appears to be a managed offering. In the same spirit of traditional hosters, Grid Server base package includes "managed" operating systems and applications. One thing you don't get (that you do with EC2 though) is root level access (at least according to the podcast).
I transcribed some of the more salient points of Arrington's podcast (starting at 7:24 into the recording):
Arrington: If I started TechCrunch today, I would start with this product and I'd pay you... is the pricepoint $20 per month? Is that what you're starting it at?
Arrington: So, I start with $20 per month which is nothing for a Web site and then the resources available to me would grow as the site grew?
MediaTemple: That's exactly it. We're able to watch your traffic and see, as things get higher, the overall effect on the grid which is a cluster of a lot of nodes that are handling all the requests and handling all the traffic. We see an aggregate and the grid technology allows us to simply add more computers to our cluster as we need to handle more load; more traffic from all of our customers. One thing that we have going with the grid is that we're able to track on various metrics what we call GPUs or Grid Performance Units. So, as your site grows past the point where your using up all the GPUs in your basic $20 per month plan, which is more than the majority of Web sites will ever use, but if it was TechCrunch, you probably would. And at that point, we'd would be able to explain "You're using this many CPU cycles and that's putting your GPUs here and so there's an extra charge for that. But basically, you're paying for what you use and we'll just scale up around you... Every day, we do a projection of your GPUs....a [GPU] is everything but bandwidth and disk space. The moment we project that you may go over, our systems sends you a courtesy email that says "Hey, you may or may not go over. But nonetheless, here's a courtesy email."
Arrington: How does this compare to Amazon's EC2?
MediaTemple: It's different...I love that platform because I'm all about virtualization. I love virtualization. But this platform is not a virtualization platform and that's where we're different. Amazon's platform. Think about our dedicated virtual line. It's a single tenant operating system on a multi tenant hardware solution. So, you're able to ramp up and provision your own VPSes on their network with an API that's completely command command line ( on the fly) so theoretically write some applications that say "Oh, I'm experiencing so load? Let me go provision 50 VPSes, 20 of them which are email clusters and five which are database clusters and the rest are Apache servers. You can do that completely through an API and it's all automated and you just pay for what you use. But basically, what it is is that you're provisioning a bunch of computers -- like single operating system computers -- on their cloud. [Grid Server] is more about the people that want that power without having to deal with setting up their own clusters and figuring out how those are going to connect and work on the fly. We've done all that for the user that would never even bother going that far.... You don't need to know how to maintain your own mailer, and maintain Apache, or do all those sorts of things. You can get on to working on your content and working on your Web development projects and not having to deal with the systems so much.
During the interview, the executives from MediaTemple claimed that Grid Server should not be seen as a virtual machine offering. The implication is that, in addition to having your own physical servers or having software-based x86 servers (virtual machines like those from XenSource, VMWare, and Microsoft), there's some other category. This is the only part I'm not really buying into. To me, it's either physical or virtual. It may not be a traditional virtual machine (the way most people think about it), but it's virtual nonetheless.