When ISVs plan to build applications using cloud computing services, they have two key decisions to make: What services to build, and what sort of application to build? One approach is to build a traditional enterprise application, carryout minimal modification and run it on a particular provider’s cloud system infrastructure such as Microsoft Azure or Amazon’s EC2. These are hosted applications running on cloud infrastructure and benefit from hardware virtualization, but are not optimized cloud applications or cloud application services. A second approach is to create a cloud-optimized application that uses various programming models, architectures and techniques to exploit the dynamic






