A thought about Amazon's S3 and EC2
It amuses me how Amazon's EC2 and S3 services are a clever return to the era of timeshared mainframe computing. Not in what is being directly supplied, but in its economics. Rather than the fixed monthly price common these days, EC2 and S3 charge you a usage based fee for both storage and CPU, just as timesharing computing used to.
(Of course, some segments of timesharing computing used to charge you for anything that moved and they could measure. And did so with rates much higher than Amazon's.)
Amazon's EC2 rates have the advantage that they are still 'flat price' in one sense: you pay a flat fee per time period that your virtual machine is on, regardless of its actual usage level. This is much more predictable and controllable than the timesharing era (unless you were actually saturating the CPU), and also simplifies Amazon's accounting systems.
(I suspect that Amazon does track real CPU and memory usage internally, if only for capacity planning purposes.)
One of the interesting things about the S3 and EC2 rate schemes is what they say about Amazon's costs to provide these services. For example, network bandwidth is clearly expensive enough that Amazon feels the need to charge for it in detail, unlike detailed CPU usage.
(The other way to look at this is reusable versus non-reusable expenses for Amazon. EC2's capacity is reusable for Amazon's internal needs, but they have less use for bigger Internet pipes, so users have to pay for that directly.)