6) Over-utilization of capacity

Few things are more annoying to customers than promising something you cant deliver. The bad news is that in many industries, thats how things work: overbooking on airlines, for instance.

It might also become like that for cloud providers, who may be forced to sell more capacity than they can actually provide as a way to stay competitive with well, everyone else doing the same thing. Reuven Cohen of Enomaly has speculated that Amazon EC2 might be doing this right now. With any luck theyre not doing it in lieu of better testing and saner quota allotments.

Testing should always be standard practice. Robust, creative, think-out-of-the-box testing doubly so. Consider the way MySpace used 800 EC2 instances to test itself and see if they could meet anticipated demand for a new streaming music service. Their example involved using the cloud to test their native infrastructure, but theres no reason one couldnt use one cloud to generate test demand for another, and determine what your real needs are. And not just once, but again and again.

7) Under-utilization of capacity

Just as over-utilization is both bad planning and bad business, so is under-utilization. In fact, having a good deal of idle capacity youre paying to support and not generating revenue from may well be worse than the opposite scenario.

This sort of things easier to deal with if youre the one buying the service, but what if youre the one selling it? Thats another reason why metrics and robust load testing are your best friends when creating cloud services. Also consider the possibility youre not selling enough kinds of services: is there room in your business plan for more granular, better-tiered service that might draw in a wider array of customers?

8) Network limitations

One word: IPv6. If youre deploying systems, using infrastructure or writing applications that arent IPv6-aware now, youre building a time bomb under your chair.

IPv4s days are more numbered than ever, and tricks like NAT or freeing up previously-unallocated blocks arent going to buy enough time to get us through the decade. Cloud computing, with its world of hosts that can appear by the thousands at once, will all but guarantee we need IPv6s address pool and technical flexibility.

Think forward on every level, and encourage everyone building on top of your infrastructures to do the same thing.

9) Latency

Latency has always been an issue on the Internet; just ask your local World of Warcraft raiding guild. Its just as much of an issue in the cloud.

Performance within the cloud doesnt mean much if it takes forever for the results of that performance to show up on the client. The latency that a cloud can introduce doesnt have to be deadly, and can be beaten back with both an intelligently planned infrastructure and smartly-written applications that understand where and how theyre running.

Also, cloud-based apps  and the capacity of cloud computing itself  are only going to be ramped up, not down, in the future. That means an arms race against increases in latency is in the offing as well. Just as the desktop PCs biggest bottlenecks are more often storage and memory, not CPU, the true source of cloud latency must be targeted and improved.

10) The Next Big Thing

The cloud isnt an endpoint in tech evolution, any more than the PC or the commodity server were final destinations. Somethings going to come after the cloud, and may well eclipse it or render it redundant. The point isnt to speculate about what might come next, but rather to remain vigilant to change in the abstract. As the sages say, the only certainty is uncertainty, and the only constant thing is the next big thing.