Towards explicitly elastic programming frameworks

K. R. Jayaram · International Conference on Software Engineering · 2015

It is a widely held view that software engineers should not be burdened with the responsibility of making their application components elastic; and that elasticity should be either be implicit and automatic in the programming framework; or that it is the responsibility of the cloud provider's operational staff (DevOps) to make distributed applications written for dedicated clusters elastic and execute them on cloud environments.In this paper, we argue the opposite -- we present a case for explicit elasticity, where software engineers are given the flexibility to explicitly engineer elasticity into their distributed applications. We present several scenarios where elasticity retrofitted to applications by DevOps is ineffective, present preliminary empirical evidence that explicit elasticity improves efficiency, and argue for elastic programming languages and frameworks to reduce programmer effort in engineering elastic distributed applications. We also present a bird's eye view of ongoing work on two explicitly elastic programming frameworks -- ElasticThrift (based on Apache Thrift [6]) and ElasticJava, an extension of Java with support for explicit elasticity.

Read the paper · More papers on PaperTik