image placeholder

The Computer Science Department at UCSB includes a leading group of researchers in the area of “cloud computing.” Cloud computing has received significant attention lately because of its potential to revolutionize the way that the Internet works. With cloud computing, the Internet becomes the super highway that connects users to vast compute, storage, and networking resources.

Commonly, users run software on their own computers. For typical applications, the compute power of a personal computer is sufficient. But when the user is a researcher working on a difficult problem, additional hardware resources are needed. In cloud computing, a user can take advantage of computers all over the world, including those owned by others (academic and commercial). For example, Google and Amazon are interested in making available their worldwide server farms as part of a cloud computing infrastructure. Such cooperation and sharing requires a great deal of coordination, trust, and computer software technology, but is key to enabling many more and much harder problems to be solved.

At a more technical level, users can think of the hardware infrastructure as an opaque computing “cloud” that delivers compute and storage capabilities in the same way that the network “cloud” delivers network connectivity: through a client-provider relationship governed by well-defined interfaces and service level agreements. Cloud computing has experienced a rapid uptake in the commercial sector with participants that include Google, Amazon, Microsoft, IBM, and others, offering access to vast resources with scalability, fault tolerance, and high availability to users at no or very low cost (much more inexpensively than such hardware resources can be purchased, administered, and maintained by any individual user). The primary use of these systems to date is for hosting web applications and services for domains such as e-commerce and social networking.

The Department of Computer Science at UCSB has recently emerged as a leader in the area of cloud computing through research and technological advances. UCSB has been making many of the systems and tools it develops freely available to the research community through “open-source” software releases. Commercial cloud systems, i.e., public clouds, are proprietary and opaque making it challenging to understand what programs are doing and what resources they are using. Moreover, many of the benefits of cloud computing (scalability, ease-of-use, reliability) are useful not only as a publically accessible utility but also to those with their own computer resources. Two recent systems that have emerged from UCSB are Eucalyptus and AppScale. These efforts are the first of their kind and bring public cloud technologies to any computer and cluster owner (e.g. companies with data centers, small start-ups, academic institutions, etc) free of charge.

Eucalyptus is an open-source system that implements cloud computing in the data center using standard, unmodified Linux operating system and currently available virtualization technologies. It is compatible with the Amazon Web Services cloud so that applications and images can be run in Eucalyptus or Amazon Web Services without modification. Since the inception of the project, Eucalyptus has been downloaded more than 100,000 times in 114 countries. It is available for CentOS/RHEL, OpenSUSE/SLES, and Debian Linux distributions and ships as part of the Ubuntu Linux distribution as the basis for the Ubuntu Enterprise Cloud — an open-source technology ecosystem that the Ubuntu community and Canonical Inc. are developing for Eucalyptus.

In May of 2009, the original authors of Eucalyptus (Professor Rich Wolski, Chris Grzegorczyk, Daniel Nurmi, Graziano Obetrtelli, Neil Soman, and Dmitrii Zagorodnov) who were graduate students, postdocs, and researchers working together on the Eucalyptus research project founded Eucalyptus Systems as a commercial entity. Based in Goleta near UCSB, and named a “Top Ten Start-ups to Watch for 2010” by Network World, the company continues to expand the impact of Eucalyptus on commercial cloud computing and the field of cloud-computing research.

In a similar spirit, the Department of Computer Science is also the progenitor of AppScale. AppScale is open-source software that implements Google App Engine (GAE). AppScale is provided by Professor Chandra Krintz and her students (leads: Chris Bunch and Navraj Chohan). GAE is the Google cloud that provides a program execution platform for Python and Java web applications. Users write their applications using well-defined interfaces and then upload their applications to Google clusters. Google provides highly scalable, proprietary implementations of the interfaces so that the applications can respond to users and access data very quickly even when under very heavy use. AppScale implements the GAE APIs and provides a distributed system that enables users to execute their GAE applications on their own cluster resources without modification. AppScale is a pluggable framework with which developers can experiment with a wide range of open-source software including web servers, language front-ends, and databases. Like Eucalyptus, AppScale has engendered an international user community and is used as part of classes at UCSB. AppScale deployed using a single command for easy use, and executes over virtualized clusters, Amazon EC2, and Eucalyptus. Together Eucalyptus and AppScale offer the next-generation of cloud operating and runtime system.

Over the past several years, the Computer Science Department at UCSB has received $25M in research funding to support next-generation systems research. Now, with the support of a new $1M grant from the National Science Foundation, UCSB Faculty and students are designing, implementing, and evaluating how to extend these open-source cloud fabrics to offer a richer set of services to users and applications – in support of other application domains such as computationally and data intensive applications. Such application domains are key for solving problems outside of the domain of ecommerce and social networking, including those important for science. This new grant will enable UCSB researchers to investigate how to bring the ease-of-use, scalability, and fault tolerance to scientists and engineers interested in using cloud systems to solve a wider range of problems.