From EGIWiki
Revision as of 15:38, 15 April 2013 by Bjoernh (talk | contribs)
Jump to: navigation, search

This page will gather various capacities that we identified as being useful for use cases. The EGI virtualized infrastructure will not be able to provide all of the capacities initially. However, given sufficient demand, they may eventually be implemented.

Id Capacity Description Accounting Technical solution(s)
1 Block Storage

Block storage can be attached to virtual instances at run time. Some cloud stacks even require the use of explicitly attached block storage to make any use of the instances at all.

The benefit of block storage over object storage is that the application within the virtual instance does not need to be aware of it. With block storage appearing to the VM as just another block device, from which an ordinary file system can be mounted, applications will be able to deal with this kind of storage transparently.

OpenStack provides Disk GB hours. Storage Accounting Record (StAR) potentially usable here.

Offered by the following Cloud stacks within EGI FCTF:

  • OpenStack
  • OpenNebula
  • StratusLab
  • WNoDeS supports this with restrictions: only administrators can add extra block storage. It is a planned feature to allow users to do that.
2 Object Storage

Object storage is scalable storage in which data objects can be stored. The FCTF have agreed on CDMI to be the access mechanism of choice.

Applications within virtual instances need to make explicit use of object storage in order to make use of it. This is a key difference in comparison to block storage. A potential solution to overcome this limitation is to try and mount object storage as a file system, e.g. via a FUSE driver. There are hints that such solutions exist.

Yes (StAR?), actual metrics need to be defined.
  • OpenStack Swift
  • CDMI proxies
3 Messaging

A messaging system can be used to decouple communication among distributed components of cloud "applications". At the same time, this capacity can be used at the infrastructure level. Messaging is a higher level service, which can be offered/used in several modes of operation:

  1. Directly within a VM, either a specific one deployed by the user or as part of a larger VM containing multiple components and services
  2. As a platform service offered by the cloud. Users could simply rely on its availability and make use of it.

Examples of this kind of system are: Amazon SQS [1]

Yes, number of messages, maybe their size. SQS accounts number of sends and receives separately. Bulk send/receive cheaper.


  • ActiveMQ
  • RabbitMQ

Need to be careful with AMQP protocol versions, 0.9.1 seems entirely different from 1.0. ActiveMQ support 1.0, RabbitMQ 0.9.1 (and will stick to it).

4 CloudFormation

CloudFormation is the capacity to deploy collections of related resources.

There's currently (Apr 2013) a new development in OpenStack[2] that is supposed to implement CloudFormation.
5 AutoScaling

Many applications can benefit from automatic scaling either horizontally or vertically. We refert to vertical scaling as the resizing of existing cloud instances, whereas horizontal scaling means adding or removing instances on demand.

AutoScaling can be supported by additional service such as rule engines and messaging services to provide the data and decisions for scaling.

6 Database

Databases as a service, be it SQL or no-SQL.

Based on number of requests and size of DB.