6. vCloud Metering : 6.1 vCenter Chargeback Manager : 6.1.1 vCenter Chargeback Manager Architecture
   
6.1.1 vCenter Chargeback Manager Architecture
The vCenter Chargeback Manager is based on a Windows server that runs the vCenter Chargeback web application, load balancer, and data collector services. Services may run on separate servers for scalability and resiliency. The server can be virtual or physical and has the following recommended specifications:
*2.0GHz or faster Intel/AMD x86 processor.
*4GB or more of RAM.
*3GB disk storage.
*1Gbps Ethernet adapter.
vCenter Chargeback Manager instances can be clustered together to provide improved performance and availability for the user interface. A cluster configuration leverages the Apache load balancer, which is bundled with the Chargeback software. All instances in a cluster must run the same version of Chargeback. A Chargeback cluster can include up to three Chargeback servers. Sizing for chargeback instances in a cluster depends on number of simultaneous users.
Load balancing is active/active. Each user request, whether it comes from the user interface or an API, routes through the load balancer. The load balancer forwards the request to a Chargeback instance in the cluster based on the number of requests currently serviced by each instance in the cluster. With multiple instances, Chargeback also load balances the report processing load by leveraging the internal Quartz scheduler. If the load balancer service terminates, the Windows service can be restarted. The built-in load balancer cannot be replaced with a third-party load balancer. All Chargeback instances in a cluster connect to the same Chargeback database.
If the load balancer service becomes unavailable, the Chargeback Manager application does not work. If the Tomcat server on a cluster instance terminates, the load balancer redirects requests to other cluster instances.
For a load balanced session, stickiness is enabled. The session always sticks to one vCenter Chargeback server. If there are multiple sessions, the following algorithm is used:
1. The load balancer uses the number of requests to find the best worker.
2. Access is distributed according to the lbfactor (it is the same for all the servers in the cluster) in a sliding time window.
For more information, see The Apache Tomcat Connector – Reference Guide (http://tomcat.apache.org/connectors-doc/reference/workers.html) for the following properties:
*sticky_session = 1 (true)
*method = R
The following figure shows a vCenter Chargeback cluster.
Figure 38. vCenter Chargeback Cluster
 
Multiple Chargeback environments (separate vCenter Chargeback Manager and database) can work with a single vCloud Director instance, but this increases the load on the vCloud Director instance.
The vCenter Chargeback Database stores organization hierarchies, cost/rate plans, and global chargeback configuration data. Supported databases include Microsoft SQL Server Express, Microsoft SQL Server, and Oracle. Database partitioning helps to improve the performance of vCenter Chargeback Manager. vCenter Chargeback Manager does not support the database (DB2 or PostgreSQL) included in the vCenter appliance.