CloudViews: Communal Data Sharing in Public Clouds

Web services are undergoing an exciting transition from in-house data centers to public clouds. Attracted by automatic scalability and extremely low compute, storage, and management costs, Web services are increasingly opting for public cloud deployment over traditional in-house datacenters. For example, Amazon’s S3 provides storage and backup services for numerous applications [12, 17], a number of mature services have recently migrated to Amazon EC2 [18], and many startups are adopting the cloud as their sole viable solution to achieve scale [22]. While predictions regarding cloud computing vary, most of the community agrees that public clouds will continue to grow in the number and importance of their tenants [10]. This paper focuses on a new opportunity introduced by the cloud environment: specifically, rich data sharing among independent Web services that are co-located within the same cloud. In the future, we expect that a small number of giant-scale shared clouds – such as Amazon AWS, Google AppEngine, orMicrosoft Azure – will result in an unprecedented environment where thousands of independent and mutually distrustful Web services share the same runtime environment, storage system, and cloud infrastructure. One could even imagine that most of the Web will someday be served from a handful of giant-scale clouds. What will that new sharedcloud environment look like? What are the opportunities and challenges created by this integration and consolidation? While challenges raised by the multi-tenant environment, such as isolation, security, and privacy, have received significant recent attention [20], we believe that identifying untapped opportunities is equally important, as it enables innovation and advancement in the new shared-cloud world. In particular, we argue that co-location creates an auspicious environment for Web service composition, which in turn spawns immense opportunities for simplifying Web service construction. Three key technological features differentiate the shared-cloud world from the traditional in-house datacenter and enable these opportunities: (1) free, efficient, and plentiful network bandwidth that supports tighter and larger-scale Web service integration than is possible over wide-area networks; (2) a shared storage system that can provide powerful abstractions for convenient, efficient, and large-scale interservice data sharing; and (3) the potential for a rich runtime ecosystem consisting of many “utility” Web services that act as building blocks for other services and facilitate their implementation greatly. This paper is divided into two parts. The next section describes the opportunities for collaborative Web services in the new cloud world. It also examines the three technological features described above and both the potentials and the challenges that they bring. Section 3 presents CloudViews, a cloud storage system we are developing to facilitate collaboration through protected inter-service data sharing. CloudViews is one example of the kinds of functions public clouds must offer to facilitate Web service development. Overall, our goal is to provide a high-level glimpse of the potential impact of co-location on low-level cloud infrastructure and service development.