FluidVM browser based interface

From The FluidVM Wiki

Jump to: navigation, search

The FluidVM browser based interface is a GUI that is shipped with the standard FluidVM product. It is a simple to use, AJAX based interface that is release by K7 Computing and supports all Hypervisors/virtualization technologies supported at that point by the FluidVM Management server.

(Picture needs to go in here)

Contents

Is FluidVM just the interface?

Although it is easy to roll the management server and the GUI into one monolithic software project, a lot of flexibility is lost in the process. FluidVM has a separate Management server that does the job of managing the virtual servers and compute nodes while being fully multi-user. A multi-user system must provide various locking systems to keep one user from interfering with the tasks of others. The management server also provides a task framework that lets multiple clients connect to it, schedule jobs and let the server execute the jobs in batch-processing style. They can constantly or later on query the status of the tasks scheduled by them, etc. The FluidVM management server also provides a common virtualization platform and services like network and storage management. Various "drivers" then provide support for different virtualization technologies. So, it is pretty simple to extend FluidVM to support a new virtualization technology, since only a new driver needs to be written.

The FluidVM Management Server API is exposed as a set of XML-RPC calls. Most of the popular languages have XML-RPC support. A sample application, VPSCart, from K7 Computing is available for free download. It is a simple PHP application that admins can use to define plans and expose them on to a portal. Users can select plans, make payments and then VPSCart will create a FluidVM user with the plan he paid for. VPSCart is available under the terms of the GNU GPL. VPSCart currently supports the PayPal and Authorize.net payment gateways and it is not too difficult to make it support a new one. Please contact us, if you plan to use VPSCart.

Installation

The browser based interface is installed in the same system as the FluidVM management server by the FluidVM installer program. This does not have to be so. The browser based interface can be installed on a separate system if need be. It talks to the FluidVM Management server over the network. By default you can access the interface on port 8086.

Classes of users and the interface

The interface adapts according to the user logged in. After the user is authenticated, only objects that he owns and other objects in the system to which access has been granted are visible to him. FluidVM users can belong to one of the four classes. Depending on the class of user logged in, certain features of the interface adapt. Lot of care has been taken not to make it look drastically different for the different classes of users.

The technology behind it

The FluidVM browser based interface is written in Python using the TurboGears framework. It also makes use of JQuery a lot to provide users with a good experience. Lighttpd is used to front-end the CherryPy server used by TurboGears. This leads to lighttpd serving up static content that make up a web page pretty fast. Example of static content are images, icons, CSS files, JavaScript files and Java applets used in the VNC viewer and the SSH Terminal.

How it talks to the FluidVM management server

The FluidVM Management server API is based on the XML-RPC protocol. The FluidVM browser based interface talks to the Management server using this protocol. It is also possible for you to write applications that extend FluidVM in ways you may find useful.

Personal tools