You should have a look to the different cloud management softwares available in the market. They should be able to solve your problems.
- RightScale
- Scalr (disclaimer: I work there): it is open-source so I you can tweak it if it does not fit your needs.
- enStratus
- Kaavo