With the cloud’s ability to provide users with elastic consumption where they use the services they want at the time they want, it’s imperative to have a pay-as-you-go and pay-per-usage metering and billing system. Achieving this requires significant capabilities for collecting data, analyzing it, and then reporting the usage. Windows Azure Pack provides consistent usage collection for every service offered by all resource providers such as Web Site, Virtual Machine, Service Bus, SQL, and MYSQL servers. In this section, we look at how System Center Virtual Machine Manager, Service Provider Foundation, and management portal for administrators integrate to provide usage and metering for VM Clouds. The three key components for aggregating usage data are VMM, Service Provider Foundation, and the Usage Service in Windows Azure Pack.
Virtual Machine Manager collects data for all virtual machines and hosts managed by Virtual Machine Manager. This includes metrics on usage of CPU, memory, storage, network, as well as virtual machine status information like whether the instances are started or stopped. By default, this data is stored in the VMM database for only a month, beyond which the data is moved to the Operations Manager Data Warehouse. Service Provider Foundation acts as an interface to retrieve this data by providing usage metering to any client, such as management portal for administrators, that wants to collect it. This data comprises all the usage metering metrics for all the virtual machines that a tenant uses, provided that those virtual machines are being monitored by System Center 2012 – Operations Manager and that the data is being stored in Operations Manager Data Warehouses. The role of Service Provider Foundation is to collect metrics from all the VMM instances and aggregate them for billing and analysis purposes.
The Usage Service in Windows Azure Pack contains the following components:
· Usage Collector – Usage collector consists of a scheduler that triggers the collection of information from the different resource providers in a circular fashion. It interacts with each resource provider one by one, if the provider returns with an empty response it moves to the next provider in the cycle.
· Usage (REST API) – The Usage REST API exposes a REST endpoint for data access. This is used to allow access to the content in the usage database.
· Usage Database – Data from the usage collector stored in the central data repository
The following illustration represents how the Service Provider Foundation usage endpoint communicates with the Usage Service in Windows Azure Pack.
This is how the communication flows between the different components:
· The Usage Collector, a component of the Usage Service, collects usage data from every resource provider. For VM Clouds, Usage Collector interacts with the usage endpoint of Service Provider Foundation to collect usage data such as CPU, memory, or disk usage.
· Service Provider Foundation usage endpoint retrieves data from the VMM and the Operations Manager Data Warehouse and returns the data to the Usage Collector service.
· Usage Collector stores the data in a Usage Database.
· Usage REST API can be used to access the usage data from the database for billing.
To associate the Service Provider Foundation usage endpoint with the Windows Azure Pack Usage Service, you must register the Service Provider Foundation usage endpoint from the VM Clouds QuickStart tab. For more information, see Register Service Reporting for Virtual Machine Clouds.