HomeNews and blogs hub

'Rapid' integration with 'jclouds' multi-cloud library

Bookmark this page Bookmarked

'Rapid' integration with 'jclouds' multi-cloud library

Author(s)
Neil Chue Hong

Neil Chue Hong

Director

Posted on 17 March 2011

Estimated read time: 3 min
Sections in this article
Share on blog/article:
Twitter LinkedIn

'Rapid' integration with 'jclouds' multi-cloud library

Primary Mentor: Ravi Teja (raviteja2007@gmail.com)
Secondary Mentor: Jos Koetsier (tbc)

Background

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.


Project Goals

Currently, Rapid can submit to several job submission engines, such as Sun Grid Engine, Condor, PBS and Hadoop. In this project you will build a bridge between Rapid and jclouds. Jclouds is an open source multi-cloud library which allows you freedom to choose portable abstractions or cloud specific features. Jclouds presents cloud-agnostic abstractions, with stable implementations of ComputeService and BlobStore.


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 Public IaaS provider like Amazon's Elastic Cloud (EC2), Private IaaS Cloud Solution like Eucalyptus and PaaS solution like Google App Engine. The user should be able to select the solution to which he wants to submit the compute job, and provide the credentials.

Project Description

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, GoGrid, VMWare, Azure, and Rackspace. As these infrastructures are both public and private, you can test with one private cloud solution, and more public cloud solutions.
As Jclouds has API's required to manage the infrastructures, student is expected to implement management of the cloud infrastructures, along with job submission.
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 jclouds so that we can start submitting to several cloud vendors.

Project Requirements

  • Learn how Rapid is used. 
  • Learn how Rapid works internally, especially its modules to communicate with various computing infrastructures. 
  • Learn about jclouds and it's abstractions as well as cloud-specific modules. 
  • Plan and design how to add one or more modules for jclouds to Rapid.
  • Write the code with documentation

Skill set required for the student: Java, XML

Further information

 

 

Share on blog/article:
Twitter LinkedIn