Muhammad Ali Babar, Hye-Young Paik, et al.
ICSE 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 - Elastic Thrift (based on Apache Thrift) and Elastic Java, an extension of Java with support for explicit elasticity.
Muhammad Ali Babar, Hye-Young Paik, et al.
ICSE 2015
Jayaram Kr Kallapalayam Radhakrishnan, David Safford, et al.
Middleware 2014
Scott Boag, Parijat Dube, et al.
DSN-W 2018
Jayaram Kr Kallapalayam Radhakrishnan
ICDCS 2016