One of the biggest pains with TeamCity is making sure that all the agent machines are up; have the right versions of the software installed (JDK + Maven for example), ensuring builds don't hang and upgrading the JDK/mvn on each and every platform whenever - say - a mvn project now depends on a new 2.0.9 version of mvn etc.
I'm sure lots of folks are manually doing the same kinda thing with TeamCity. e.g. when mvn 2.0.9 comes out, we manually install it on each agent box. Ditto for JDKs etc.
What would be awesome - and I'm sure kinda popular - would be a way for TeamCity to basically control a bunch of VMWare images - which could be maintained centrally (e.g. latest JDK + latest mvn on windows / linux / solaris / aix).
i.e. we could share/reuse vmware images for most Java versions with most mvn versions and OSes to avoid having to manually do all this crap ourselves.
the next level of coolness would be an EC2 option.
So I could
host TC on EC2 if I wanted
(ii) get TC to kick off however many VMWare images are required on whatever platform to run whatever build/test/deploy
Often you want 1 build done on every checkin; but have nightly builds (say) on lots of platforms with loads of permutations of OS / JVM etc. So the EC2 cost could be quite cheap; running a load of images for an hour or so a night, with a couple of images on all the time for the checkin builds? You could even get the images to stop if there's been no checkins for an hour - or boot up loads of new images if there's loads of quick changes on a project that has a slow build etc
If TeamCity did a VMWare/EC2 hosted service to take all the maintenance pain away of keeping machines up & configured & available am sure we'd jump right on it and I'm sure others would to. All TC would have to do is control the EC2 images (or local VMWare images for folks with plenty of boxes). Preferably with a way of auto-upgrading JDK / mvn releaes too :)