Cloud Usage Monitor
The cloud usage monitor mechanism is a lightweight and autonomous processing module responsible for collecting and processing IT resource usage data. Depending on the type of usage metrics they are designed to collect and the manner in which usage data needs to be collected, cloud usage monitors can exist in different formats. The upcoming sections describe three common agent-based implementation formats for the cloud usage monitor mechanism. Each can be designed to forward collected usage data to a log database for post-processing and reporting purposes.
Monitoring Agent
A monitoring agent is an intermediary, event-driven program that exists as a service agent and resides along existing communication paths to transparently monitor and analyze dataflows (Figure 1). This type of cloud usage monitor is commonly used to measure network traffic and message metrics.
Figure 1 - A cloud service consumer send a request message to a cloud service (1). The monitoring agent intercepts the message to collect relevant usage data (2) before allowing it to continue to the cloud service (3a). The monitoring agent stores the collected usage data in the log database that is stored outside of the cloud (3b). The cloud service replies with a response messages (4) that is sent back to the cloud service consumer without being intercepted by the monitoring agent (5).
Resource Agent
A resource agent is a processing module designed to collect usage data by having event-driven interactions with specialized resource software (Figure 2). It is used to monitor usage metrics based on pre-defined, observable events at the resource software level (such as initiating, suspending, resuming, and vertical scaling).
Figure 2 - The resource agent residing within the cloud detects an increase in usage between a cloud service consumer and a virtual server (1). The resource agent receives a notification from the underlying resource management program that the virtual server is scaled up (2) and stores the collected usage data in the log database, as per its monitoring metrics (3).
Polling Agent
A polling agent is a processing module that collects cloud service usage data by polling IT resources. This type of cloud service monitor is commonly utilized to periodically monitor IT resource status, such as uptime and downtime (Figure 3).
Figure 3 - The polling agent monitors the status of a cloud service hosted by the virtual server by sending periodic polling request messages (MREQ1 to MREQN). It receives polling response messages (MREP1 to MREPN) that report usage status "A" after every polling cycle (1a). The polling agent stores the collected usage data in the log database (1b). Subsequently, the polling agent sends polling request messages (MREQN+1 to MREQN+M) and receives response messages (MREPN+1 to MREPN+M) that report usage status "B" after every polling cycle (2a). The polling agent stores the new usage data in the log database (2b).
Related Patterns:
- Automated Administration
- Centralized Remote Administration
- Cross-Storage Device Vertical Tiering
- Direct I/O Access
- Direct LUN Access
- Dynamic Failure Detection and Recovery
- Dynamic Scalability
- Elastic Disk Provisioning
- Elastic Network Capacity
- Elastic Resource Capacity
- Intra-Storage Device Vertical Data Tiering
- Load Balanced Virtual Server Instances
- Load Balanced Virtual Switches
- Non-Disruptive Service Relocation
- Pay-as-You-Go
- Realtime Resource Availability
- Resource Management
- Resource Pooling
- Resource Reservation
- Self-Provisioning
- Service Load Balancing
- Service State Management
- Shared Resources
- Storage Workload Management
- Usage Monitoring
- Workload Distribution
- Zero Downtime
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.
Arcitura IT Certified Professionals (AITCP)
Arcitura IT Certified Professionals (AITCP)
Arcitura IT Certified Professionals (AITCP)
Arcitura YouTube Channel
