We use proprietary and third party's cookies to improve your experience and our services, identifying your Internet Browsing preferences on our website; develop analytic activities and display advertising based on your preferences. If you keep browsing, you accept its use. You can get more information on our Cookie Policy
Cookies Policy
FIWARE.OpenSpecification.Cloud.SelfServiceInterfaces R3 - FIWARE Forge Wiki

FIWARE.OpenSpecification.Cloud.SelfServiceInterfaces R3

From FIWARE Forge Wiki

Jump to: navigation, search
FIWARE WIKI editorial remark:
This page corresponds with Release 3, please refer to Summary of FIWARE Open Specifications for the current version of the Open Specs
Name FIWARE.OpenSpecification.Cloud.SelfServiceInterfaces
Chapter Cloud,
Catalogue-Link to Implementation Cloud Portal
Owner UPM, Alvaro Alonso



Within this document you find a self-contained open specification of a FIWARE generic enabler, please consult as well the FIWARE Product Vision, the website on http://www.fiware.org and similar pages in order to understand the complete context of the FIWARE platform.


Copyright © 2013 by UPM. All Rights Reserved.

Legal Notice

Please check the following Notice to understand the rights to use these specifications.


This specification describes the Self Service Interfaces GE which is enabler for user/admin to better interact with the cloud infrastructure. The main goal of the Self Service Interfaces is to provide a user interface and libraries as a support for the administrators and the users to easily manage their services deployed in the FIWARE cloud. This GE consist of several components that enable the management Openstack Cloud resources, such us Instances, Volumes, Networks, etc.

The Self Services Interfaces is divided in two parts: User Portal and Toolkit.

The User Portal is implemented in a form of a Web GUI following the example of the portals that today's common cloud infrastructure managers like Amazon EC2, Eucalyptus,Cloud Sigma, Rackspace, etc. have. In concrete it bases its design principles on the OpenStack Horizon Dashboard. The basic objective of the user portal is to facilitate the user of the cloud perform operations over the underlying infrastructure. This includes perform actions such as: launching instances on a base of images, create images in the image repository, create networks and subnetworks, etc. Moreover, the portal facilitates the management of these resources in a multi-tenant way, as the Openstack infrastructure allows.

The Toolkit is aimed for administrators and experienced users and it consist of various scripts that permit to perform the same actions the user portal does and some more advanced options. These scripts are available in form of Javascript snippets, than can be executed from any administration terminal compatible with than technology.

Basic Concepts

As Self Services Interfaces is a set of tools to access the rest of Cloud components, the basic concepts that a user has to know are the same that in the underlying modules, described in other sections of this architecture specification.

Generic Architecture

The following diagram on Figure 1 shows the main components of the Self Service Interfaces GE, as well as their main interactions.

Figure 1: Self Service Interfaces GE

User Portal

A web client-side application implemented in JavaScript, that follows the structure as the OpenStack Horizon component, but has extended functionality to meet the requirements of other GE components, such us Service Deployment and Configuration GE (SDC) or PaaS Manager. It is a Backbone-based application that follows the (Model-View-Controller) MVC design principles and aims at improving the user experience by using AJAX. The portal uses the underlying Cloud Library.


A direct command line interface to the cloud infrastructure and platform aimed for experienced users. The toolkit uses the cloud library and its different APIs to perform different calls to the Openstack components (Nova, Glance, Swift, etc) and other FIWARE GEs (SDC, PaaS Manager, Keyrock, etc).

Cloud Library

This library consist of sub-libraries developed in JavaScript. Each of them implement specific APIs to enable the use of the underlying GE from the User Portal or with the Toolkit.

Main Interactions

As shown above, User Portal UI and Toolkit interact with several GEs of this and other chapters.

  • Compute: using this component users can manage virtual machines and all the tools needed to access them (keypairs, security groups, etc)
  • ObjectStorage: it allows the users to save items in containers.
  • Monitoring: this component gets monitoring information from virtual machines and provides it to the users.
  • Image: image service stores the available images from which users can launch instances.
  • Volume: if a user wants to add a persistent device to a VM this component will provide the needed tools.
  • Network: used for networks, subnetworks and routers management.
  • Identity Management: provides Keystone tools and Authorization mechanisms.

Basic Design Principles

The User Portal design has the following key features:

  • Client side app accessible within an HTML5 Page (no Web server is needed to interact with back-end)
  • Internationalization: i18n (supports currently 4 languages)
  • Responsive design: adaptable to multiple device screens (desktop, smartphone, tablet, etc)
  • Customizable Object Oriented CSS
  • Dynamic web app refreshed automatically as backend changes

The Toolkit contains Node.js based scripts as a JavaScript implementation of different APIs.

The Cloud Library comprises of libraries that contain various JavaScript APIS: OpenStack APIs, OpenStack API extensions, CDMI APIs and Monitoring APIs. Each of these APIs are organized in the following libraries: ovf, sdc, jstack, cdmi and the monitoring library.


[Keystone] Open Stack Keystone. http://keystone.openstack.org, 2012
[Dashboard] Open Stack Dashboard. http://wiki.openstack.org/OpenStackDashboard, 2012
[Glance] Open Stack Glance image repository documentation. http://glance.openstack.org, 2012
[Amazon EC2] Amazon Management Console. http://aws.amazon.com/console, 2012
[Eucalyptus] Eucalyptus web-based front-end. http://open.eucalyptus.com/wiki/EucalyptusManagement_v1.5, 2012
[Rackspace] Rackspace control panel. http://en.wikipedia.org/wiki/File:Rackspace_Cloud_control_panel_screenshot.png
[Cloud Sigma] Cloud Sigma web interface. http://cloudsigma.com/en/platform-details/intuitive-web-interface, 2012

Detailed Specifications

Re-utilised Technologies/Specifications

The Self Service Interfaces GE is based on RESTful Design Principles. The technologies and specifications used in this GE are:

Terms and definitions

This section comprises a summary of terms and definitions introduced during the previous sections. It intends to establish a vocabulary that will be helpful to carry out discussions internally and with third parties (e.g., Use Case projects in the EU FP7 Future Internet PPP). For a summary of terms and definitions managed at overall FI-WARE level, please refer to FI-WARE Global Terms and Definitions

  • Infrastructure as a Service (IaaS) -- a model of delivering general-purpose virtual machines (VMs) and associated resources (CPU, memory, disk space, network connectivity) on-demand, typically via a self-service interface and following a pay-per-use pricing model. The virtual machines can be directly accessed and used by the IaaS consumer (e.g., an application developer, an IT provider or a service provider), to easily deploy and manage arbitrary software stacks.
  • Platform as a Service (PaaS) -- an application delivery model in which the clients, typically application developers, follow a specific programming model to develop their applications and or application components and then deploy them in hosted runtime environments. This model enables fast development and deployment of new applications and components.
  • Project is a container of virtual infrastructure that has a set of virtual resources (e.g., computing capacities, storage capacities) to support the former. In other words, a VDC is a pool of virtual resources that supports the virtual infrastructure it contains.
  • Service Elasticity is the capability of the hosting infrastructure to scale a service up and down on demand. There are two types of elasticity -- vertical (typically of a single VM), implying the ability to add or remove resources to a running VM instance, and horizontal (typically of a clustered multi-VM service), implying the ability to add or remove instances to/from an application cluster, on-demand. Elasticity can be triggered manually by the user, or via an Auto-Scaling framework, providing the capability to define and enforce automated elasticity policies based on application-specific KPIs.
  • Service Level Agreement (SLA) is a legally binding contract between a service provider and a service consumer specifying terms and conditions of service provisioning and consumption. Specific SLA clauses, called Service Level Objectives (SLOs), define non-functional aspects of service provisioning such as performance, resiliency, high availability, security, maintenance, etc. SLA also specifies the agreed upon means for verifying SLA compliance, customer compensation plan that should be put in effect in case of SLA incompliance, and temporal framework that defines validity of the contract.
Personal tools
Create a book