Model-Driven Application Refactoring to Minimize Deployment Costs in Preemptible Cloud Resources