Dynamic Application Hosting Management (DAHM) allows clouds to dynamically host applications in data centers at different locations based on: (i) spatio-temporal variation of energy price, (ii) data center computing and cooling energy efficiency, (iii) Virtual Machine (VM) migration cost for the applications, and (iv) any SLA violations due to migration overhead or network delay. DAHM is complementary to dynamic workload distribution problem and is modeled as mixed integer programming; online algorithms are developed to solve the problem. The algorithms are evaluated in a simulation study using realistic data and compared with performance-oriented application assignment, i.e., hosting the application at a data center whose delay is the least. Our simulations results indicate that DAHM can potentially save up to 20% cost while incurring only a nominal increase in SLA violations. The savings are obtained by exploiting the cost efficiency variation as well as reducing the total number of VMs employed to host applications.