Home > Design Patterns > Usage Monitoring
Usage Monitoring

Usage Monitoring (Erl, Naserpour)

How can IT resource usage be measured?

Problem

IT resources that are shared can generate a variety of runtime scenarios that, if not tracked and responded to, can cause numerous failure, performance, and security concerns and can further make usage-based reporting and billing impossible.

Solution

Cloud usage monitors are utilized to track and measure the quantity and nature of runtime IT resource usage activity.

Application

Various specialized cloud usage monitors can be incorporated into a cloud architecture, most of which will interact with other IT resources to transfer or process collected usage data.

Problem

When making IT resources available for access and shared usage by multiple cloud consumers, the manner in which actual usage occurs can be highly unpredictable. IT resources may be subject to high usage volumes by individual cloud consumers performing a large amount of runtime processing or high volumes of cloud service consumers concurrently accessing the virtualized instances of the IT resources. Either way, infinite runtime scenarios can develop, leading to possible runtime exception conditions, security breaches, and other types of runtime failure.

Furthermore, for IT resources and cloud services to be commercialized in support of the Pay-as-You-Go pattern, the cloud architecture needs to support the ability for runtime usage to be accurately measured.

Solution

IT artifacts and systems capable of monitoring, collecting and processing usage data and metrics are incorporated into the cloud architecture to enable the inherent measured usage characteristic of cloud environments, and to further offer a range of specialized usage monitoring and data collection functions.

Usage Monitoring: A usage monitor measures IT resource use and collects corresponding usage data that is stored and made available for reporting purposes.

Figure 1 - A usage monitor measures IT resource use and collects corresponding usage data that is stored and made available for reporting purposes.

Application

This pattern is fundamentally applied via the use of the cloud usage monitor mechanism. This broad, infrastructure-level mechanism encompasses a variety of specialized monitoring-based mechanisms that fulfill different forms of usage monitoring requirements and can be implemented as a monitoring agent, resource agent, or polling agent.

Regardless of which type of cloud usage monitor is used, there are common components that can accompany the implementation of a monitoring IT resource:

  • Usage Monitoring Station - A system that the cloud usage monitor directly communicates with and to which it may transmit collected usage data.
  • Usage Database - A repository used to store usage data received by usage monitoring stations or directly by cloud usage monitors.
  • Data Saver - A middleware component used to save and update collected usage data.
  • Usage Reporter - A middleware component used to retrieve usage data from the usage database and present it in human-readable reports. The usage reporter is generally integrated with a usage and administration portal.
  • Custom Reporter - A tool used to design custom usage reports.

NIST Reference Architecture Mapping

This pattern relates to the highlighted parts of the NIST reference architecture, as follows:

Usage Monitoring: NIST Reference Architecture Mapping
Usage Monitoring: NIST Reference Architecture Mapping
CloudSchool.com Cloud Certified Professional (CCP) Module 4: Fundamental Cloud Architecture

This pattern is covered in CCP Module 4: Fundamental Cloud Architecture.

For more information regarding the Cloud Certified Professional (CCP) curriculum, visit www.cloudschool.com.