Here’s a quick list of things I want from Amazon’s EC2 Web Services offering:
1. Better I/O performance for machine instances because it’s currently less than desirable. Most applications are disk I/O bound not CPU bound. Being able to scale processing resources is great and it’s a wonderful thing to boast, but that doesn’t help make basic, practical services like MySQL any faster without a ton non-trivial application engineering. Restoring a large amount of MySQL data took 5 to 8 times longer on EC2 than it did on similarly equipped physical hardware.
2. I need to be able to call and speak to a human when things start acting up. I recently used the official Amazon 64bit Fedora Core image for some large scale processing that I needed. I restored a database with hundreds of millions of records and configured it appropriately. Apparently, the Linux kernel was leaking memory like a sieve (for no obvious reason) and Amazon told me to go pound sand when I posted to their message board. Kill the instance and start anew. In other words, scrap your work and start over again because we’re not going to help you. A good web host would have taken responsibility for their hardware and fixed the problem. Amazon let me down in a big way. P.S. Providing primary support via a message board is lame, lame, lame.
3. Graphical tools to manage instances. Don’t get me wrong — I like text console foreplay like the rest of the world, but give me web-based tools to manage AWS please. And don’t point me to some 3rd party service that wants to charge for this — it should come free with usage of Amazon Web Services. Seriously.
4. Dynamically allocate more storage to instances without some kludge FUSE based spaghetti-strapped hack. Seriously, it’s weak on too many levels to complain about. It’s almost embarrassing.
5. The ability to suspend an instance without killing it entirely. I need to put a configured instance to sleep without destroying it. There are times when I need to suspend an instance for some interval and then start it again —- I need a state between instance reboot and ec2kill.