Computing Resource Provisioning in GISolve Cloud

GISolve Cloud should provide and integrate a wide range of computing resources for spatial analysis computation:

  1. Development computing resource: In GISolve, users can contribute their applications as a GISolve application service. We need to provide a virtual machine for user to work on the porting of his/her application into GISolve-compliant application.
  2. Hosing computing resource: As user application is converted into an application service, we need a machine to host this service for 24/7 on-demand access
  3. Cyberinfrastructure computing resource: For large-scale analysis, we need to make Grid computing resources, Data-oriented computing resources (Hadoop), and specialized parallel computing resources (GPU, FPGA) available to user applications. There resources are not controlled by us. They are integrated through our middleware services.
  4. External computing resources: GISolve-X requires GISolve to be deployed on external computing resources. What kind of services are generic and can be deployed on the root GISolve for enabling the deployment of GISolve on 3rd-party resources? E.g., application and data search services, collaboration accross all GISolve-Xs.

This page addresses the provisioning of type 1 and 2 resources. Our solution is to build a managed virtual machine environment. After investigation, Eucalyptus is considered as our implementation technology.

Eucalyptus

Eucalyptus basically provides what we need for managing our own virtual machine resources:

  1. Programming support for VM instance creation and deployment
  2. Automatic and customizable VM image building
  3. Programming support for VM cluster/cloud management

Features of Eucalyptus include:

  • Eucalyptus is an IaaS implementation (Good! we don't need more than that)
  • Access to Eucalyptus: REST Web services (compatible with our own WS infrastructure)
  • VM image creation: VmControl service creates a VM instance from an OS image and a root file system image. The VM instance creation is automated (finding OS image, file image; tell cluster controller where they are as well as certificates (keypairs), networks, and security groups; cluster controller then chooses a physical resource to deploy a VM instance)
  • Multi-cluster support: Zone. A zone consists of one cluster controller and multiple node controllers
  • VM is now using Xen for building VM images, but will support vmware, kvm, and hyperv. The good thing about using Eucalyptus is that the details of underlying VM tech is hidden from users
  • The packaging and installation of software within a VM image are streamlined by using Rocks. Eucalyptus supports fine-grained user package integration for building GISolve-specific VM images.
  • Ubuntu has integrated Eucalyptus to create the Ubuntu Enterprise Cloud (UEC), meaning that we can immediately experiment on building our VM cloud using Ubuntu

Immediate plan

- Experiment: Use the HP laptop to install Ubuntu Enterprise Cloud (UEC), one core as cloud/cluster controller and the other as node.