Skip to Main Content
With diverse and rich offerings from cloud computing providers in the open cloud market, scientists have great opportunities to design and conduct complex applications by utilizing and combining computational resources, software components and data sources in elastic manners. While existing techniques focus mainly on resource elasticity in single cloud infrastructure, scientists expect to design their applications being elastic in multiple dimensions to ensure that they applications can operate on multiple clouds with minimum software engineering effort. In this paper we will focus on providing techniques for scientists to compose elastic high performance applications by utilizing traditional software components, user-provided components and cloud services. We characterize elastic compositions via their resource, quality, cost, available time and usage right elasticity, thus enabling scientists to evaluate and decide how to develop, deploy and control the compositions to match their elastic needs. To illustrate our approach, we will present several real-world application compositions for multi-cloud environments.