Difference between revisions of "Accounting"

From Gcube Wiki
Jump to: navigation, search
(Architecture)
(Architecture)
Line 11: Line 11:
 
* [[Accounting#Accounting Enabling Layer | Accounting Enabling layer]]
 
* [[Accounting#Accounting Enabling Layer | Accounting Enabling layer]]
 
* [[Accounting#Accounting Backend Layer | Accounting Backend layer]]
 
* [[Accounting#Accounting Backend Layer | Accounting Backend layer]]
 +
* [[Accounting#Accounting Storage Layer | Accounting Storage layer]]
  
 
All the developed component must respect this paradigm.
 
All the developed component must respect this paradigm.
Line 36: Line 37:
  
 
=== Accounting Consumer Layer ===
 
=== Accounting Consumer Layer ===
 +
 
In this layer we found not only the accounting consumer which retrieve information related to collected data (e.g. Accounting Manager Portlet) but also all the component which collect data and use accounting-lib to persist in a common pattern.
 
In this layer we found not only the accounting consumer which retrieve information related to collected data (e.g. Accounting Manager Portlet) but also all the component which collect data and use accounting-lib to persist in a common pattern.
 +
 +
=== Accounting Storage Layer ===
 +
 +
This layer ..

Revision as of 15:47, 16 November 2015

GCube Accounting allows to collect information of the infrastructure usage and expose them for the interested consumer.

Architecture

The following picture shows the gCube Accounting architeture

Accounting-architecture.png

The Accounting Architecture has been logically divided in three different layers.

All the developed component must respect this paradigm.


Accounting Enabling Layer

  • accounting-lib
  • accounting-analytics
  • accounting-aggregator

Each enabling layer has its own correspondent backend implementation. Each backend implementation must be dynamically discovered at runtime. This allow to decouple the deployment of a different backend from the development of enabling layer. In other word each component on the enabling layer MUST NOT any dependency over a certain backed implementation. Furthermore, MUST NOT be any component in the infrastructure which depends by a specific backend library.

The only entitled software which can have a dependency against the backend component are the ones that allow to deploy and distribute a consistent infrastructure:

  • bundles (e.g. smartgear-bundle, portal-bundle)
  • provisioning script


Accounting Backend Layer

The actual backend is CouchDB

  • accounting-lib-persistence-BACKEND (i.e. accounting-lib-persistence-couchdb)
  • accounting-analytics-persistence-BACKEND (i.e. accounting-analytics-persistence-couchdb)
  • accounting-aggregator-persistence-BACKEND (i.e. accounting-aggregator-persistence-couchdb)

Accounting Consumer Layer

In this layer we found not only the accounting consumer which retrieve information related to collected data (e.g. Accounting Manager Portlet) but also all the component which collect data and use accounting-lib to persist in a common pattern.

Accounting Storage Layer

This layer ..