2015 IEEE/ACM 37th IEEE International Conference on Software Engineering (ICSE) (2015)
May 16, 2015 to May 24, 2015
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/ICSE.2015.207
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 -- Elastic Thrift (based on Apache Thrift) and Elastic Java, an extension of Java with support for explicit elasticity.
Elasticity, Programming, Runtime, Java, Servers, Software, Measurement
K. R. Jayaram, "Towards Explicitly Elastic Programming Frameworks," 2015 IEEE/ACM 37th IEEE International Conference on Software Engineering (ICSE), Florence, Italy, 2015, pp. 619-622.