Although cloud infrastructures promise low-cost utility computing, they still impose significant learning curves for experts and non-experts alike. The reason for this is that each provider exposes its resources via its own APIs, toolsets, constraints, and pricing models. The goal of our work is to develop tools that help reduce this burden.
Toward this end, we present CLOUDRUNNER, a framework that extracts arbitrary programs from a source code repository (e.g. GitHub), wraps them in a web service and tasking system, and deploys them over disparate cloud infrastructures and local clusters, automating their portability. In particular, CLOUDRUNNER automatically creates and configures virtual machines so that they can execute the applications, provides a web UI with which users parameterize their applications, deploys instances of the program as background tasks, and collects the results for easy access via a browser. CLOUDRUNNER is an ideal framework for deploying scientific simulation applications portably and as such, we use it to implement StochSS - Stochastic Simulation as-a-service (now available at http://www.stochss.org). We use StochSS to evaluate CLOUDRUNNER overheads and find that they are small, consistent, and amortized for even short running applications.