Seamless Cloud Computing (SeCCo)

 

Rationale

Cloud computing undoubtedly represents one of the major paradigm shifts of the past decade. To leverage the new possibilities of this model, we however need to rethink the nature and use of essentially all classic ingredients of computing including networks, operating systems, or programming models while keeping cross-cutting concerns such as reliability, scalability, or privacy and security in mind.

The excitement about the new possibilities of cloud computing is particularly stifled by the current rigid support for developing and deploying applications in clouds. Applications have to be written to follow specific models and APIs and have to be manually started and stopped in clouds, which tends to lock applications in to specific vendors and technologies, and require substantial administration efforts.

 

Approach

``Seamless cloud computing'' (SeCCo) aims at smoothening the boundaries to and between computing clouds. We propose a specific middleware for SCC, consisting roughly in three layers.

  1. The backbone of SeCCo consists in a highly scalable overlay network called Atmosphere which is specifically designed to interconnect multiple data centers, potentially from different cloud vendors. Protocols such as BGP or DNS are used in combination with specific roundtrip measurement mechanisms to dynamically adapt the overlay graph to changes in topology. To abstract from different technologies and clouds, our overlay substrate promotes a content-based addressing mechanism which clearly separates logical and physical addresses. It guides the deployment of more specific protocols for assured communication within individual applications. We provide several such protocols with varying qualitative and quantitative guarantees on reliability, security, and performance.
  2. Second, we introduce a ``resolution'' layer which encapsulates algorithms for selection of cloud resources from different vendors based on application needs characterized for instance by latency or pricing. This layer allows applications to dynamically ``extend'' into (and out of) clouds on a need basis, or to migrate in response to changes in pricing or in levels of service advertised or measured. This allows our unifying overlay allows us to employ different online algorithms for resolution (e.g., based on machine learning techniques) and also provides a framework for analyzing and predicting application behavior across networks.
  3. The top layer represents a vendor-independent simple API for cloud applications, with an extensible set of bindings to various existing specific APIs.

 

Support

This project is currently financially supported by the Purdue Research Foundation (PRF).

 

Members

P. Eugster, C. Jayalath.