Connecting Rapid with the jclouds multi-cloud framework
Rapid is a unique way of quickly designing and delivering web portal interfaces to applications that require computational resources, such as utility computing infrastructures or high-performance computing facilities. It focuses on the requirements of the end-user by designing customised user interfaces for domain-specific applications that allow users to achieve particular tasks from the comfort of their own web browser.
Currently, Rapid can submit to several job submission engines, such as Sun Grid Engine, Condor and PBS. In this project you will build a bridge between Rapid and jclouds. The aim is to enable Rapid to submit compute jobs to the different cloud frameworks supported by jclouds. Then evaluate your solution by submitting a compute job to Amazon's Elastic Cloud (EC2) and to the experimental cloud resource set up at the University of Edinburgh that uses Eucalyptus.
Currently, Rapid works with Grid and High-Performance Computing infrastructure. It is your task to adapt Rapid so as it can be used to generate intuitive interfaces that submit jobs to several cloud infrastructures. Examples of these infrastructures are Amazon's Elastic Cloud 2, Eucalyptus, Rackspace, Linode and GoGrid. Preferably you will look into existing solutions that can handle several of these infrastructures at ones via a standard library, such as for example libcloud.
Cloud provides several advantages over other distributed computing approaches such as Grid and high-performance computing. However, it also brings several problems, such as expensive data movement and the potential of wasting resources if virtual machines run idle. In this project you extend Rapid's set of modules by integrating with jcloud so that we can start submitting to several cloud vendors.
- Learn how Rapid is used.
- Learn how Rapid works internally, especially its modules to communicate with various computing infrastructures
- Plan and design how to add one or more modules for jcloud
- Write the code with documentation
- Transfer the code to us
Skill set required for the student.