cloud performance monitoring
DESCRIPTION
Cloud Performance MonitoringTRANSCRIPT
-
View
Poi
nt
Abstract
Performance Monitoring is an integral part of maintenance. Requirements for a monitoring solution for Cloud are totally different from a legacy and virtualized environment monitoring solution.
There are many third party tools/solutions available for monitoring a cloud. But there are no standard models exist for such a solution as what all parameters needs to be covered in the solution so that an exhaustive performance report can be produced for the service provider. In the context of Cloud Computing becoming the most sought after technology, there is a need for such a standard model.
This paper is intended to provide a very brief introduction about Cloud computing and its architecture, illustrates how Cloud Performance monitoring differs from traditional monitoring, the different types of monitoring in cloud and metrics of interest to various users. The paper also proposes a high level view of a model which can be used as a guideline while coming up with performance monitoring solutions for cloud.
- Vineetha V
Performance Monitoring in Cloud
www.infosys.com
-
2 | Infosys View Point
I. What Is Cloud Computing?Cloud Computing can be simply defined as Computing in a remote location or location independent with shared and dynamic resource availability on demand
Cloud computing describes a new supplement, consumption, and delivery model for IT services based on the Internet, and it typically involves over-the-Internet provision of dynamically scalable and often virtualized resources. This frequently takes the form of web-based tools or applications that users can access and use through a web browser as if it is a program installed locally on their own computer. In Cloud computing environment everything becomes a Service.
Primary motive behind more organizations moving to cloud is the reduction in cost and dynamic resource allocation. Since the underlying infrastructure is hosted by the cloud provider, SMEs do not need to worry about the maintenance of them. Also, characteristics like Scalability, elasticity, Multi-tenancy, Pay-per-Use make Cloud computing the most wanted technology today. Of course there are some areas of concerns in Cloud like security and reliability.
There are different types of Cloud:
Public Cloud
A public cloud is one based on the standard cloud computing model, in which a service provider makes resources, such as
applications and storage, available to the general public over the Internet. Public cloud services may be free or offered on a pay-per-usage model.
The main benefits of using a public cloud service are:
Easy and inexpensive set-up because hardware, application and bandwidth costs are covered by the provider
Scalability to meet needs
No wasted resources because you pay for what you use
Examples of public clouds include Amazon Elastic Compute Cloud (EC2), IBMs Blue Cloud, Sun Cloud, Google AppEngine and Windows Azure Services Platform
Private Cloud
Private cloud (also called internal cloud or corporate cloud) is a cloud set up with in a corporate or organization that provides hosted services to a limited number of people behind a firewall.
Hybrid Cloud
A hybrid cloud is a cloud computing environment in which an organization provides and manages some resources in-house and has others provided externally. For example, an organization might use a public cloud service, such as Amazons Elastic Compute Cloud (EC2) for general computing but store customer data within its own data center
II. Cloud ArchitectureThe most significant components of Cloud are the Front End and the Back End. Front End is the Client side, the User of the applications hosted in Cloud. This covers the application used to access the Cloud through interface like web browser and clients network. Back End is the actual Cloud itself with various servers, storage devices, network etc. Theoretically a Cloud has all types of dedicated servers present in it to host practically any computer program.
A central server administers the system, monitoring traffic and client demands to ensure everything runs smoothly. There are set of rules and Middleware which helps in networked computers to communicate with each other.
Cloud ServiceConsumer
Cloud ServiceDeveloper
Cloud Service Provider
CloudServices
VirtualizedInfrastructure
Software-as-a-service
ServerVirtualization
StorageVirtualization
N/WVirtualization
Platform-as-a-service
Infrastructure-as-a-service
SystemResources
Server Storage Servers Storage N/W Hardware
-
Infosys View Point | 3
III. How/Why Performance Monitoring Differs from Traditional Server MonitoringSince we have various types of IT Components in a cloud, the traditional performance management which focuses on specific components will not work for Cloud. They are not well equipped to provide a more holistic view of the cloud environment.
More than independent management of Physical and virtual infrastructure elements, focus should be on how they perform to deliver the Business Service to the User. Service Level Agreements (SLAs) are very important in a Cloud environment. Since the Customer pays for the services/Infrastructure he uses, customer needs to be assured of a level of service at any time. Thus performance Monitoring of Cloud should monitor the capability of components of cloud in delivering the expected service. To a large extend Clouds are based on virtualized resources. Most of the Virtualization vendors provide management/monitoring solutions which collect a robust set of resource utilization statistics, even though they provide a good view of individual components, they fail to provide a complete picture of the performance of the entire cloud environment
For example with VMwares VCenter/vSphere we can get basic resource utilization information of the ESX/ESXi host and virtual machines, they fail to provide a visibility into the performance of the business applications hosted on these platforms.
Although it is possible to approximate the performance of Physical infrastructure based on how its resources are utilized, that is not the case with virtual components due to the shared and dynamic nature of resource allocation. The monitoring solution should be capable of dynamically identifying the VMs in which the application is currently running and then collect the parameters. Also depending on the agreement between the service provider and the customer, resources will be
dynamically allocated to applications. Thus Virtualized/Cloud environment requires a specialized monitoring solution which can provide effective, convenient and holistic view of the entire environment.
In a nutshell we need a monitoring model for Cloud which can provide a view of the health of the entire cloud in delivering a service. It should help the provider assess whether customers demands can be met with the current resources/performance. Also we need to get a view of individual applications hosted on cloud.
IV. Cloud Performance MonitoringWhen we consider monitoring performance of a Cloud, we can broadly classify it to 2 categories. Monitoring from Service providers view and Monitoring from Cloud Consumers view.
1. Infrastructure Performance - A Cloud service provider is interested in this kind of report. This involves performance of the various infrastructure components in the cloud like Virtual Machines, Storage, Network etc. Since individual components performance fail to provide an accurate view of the overall cloud performance, a new approach called Infrastructure Response Time is being researched upon to get a more accurate picture of the performance of a virtualized/cloud environment. Infrastructure Response Time (IRT) is defined as the time it takes for any workload (application) to place a request for work on the virtual environment and for the virtual environment to complete the request (from the guest to spindle and back again). The request could be a simple data exchange between 2 VMs or a complex request which involves database transaction and writes into a storage array. [definition from http://www.virtualinstruments.com/files/pdfs/WP_APM-Experts-Infrastructure-Performance-Management-for-Virtualized-Systems.pdf]
Typical data flow between various components in a DB transaction is as follows:
Servers/VMs
VMNetwork
NetworkFabric
SANFabric
Storage
-
4 | Infosys View Point
Key requirements for an Infrastructure Performance Management Solution for a Virtual/Cloud environment can be identified as below:
Support any application hosted in the environment. Solution should be able to automatically identify the applications and their topologies and this need to be independent of the application architecture.
Continuous discovery. Need to dynamically identify virtual and physical resources used by the application at a given point in time.
IRT must be calculated across the breadth & depth of the virtual environment. Full scope of the environment needs to be considered.
Be prepared for new applications and new infrastructure being added to the environment. Solution should be able to automatically discover and calculate IRT for these new entrants as well.
Support for multiple platforms like VMware, Hyper-V etc
Metrics/Parameters of Interest in Infrastructure Performance Monitoring
Infrastructure Response Time is the Key metric along with the various resource utilization metrics as follows:
CPU usage; total all CPUs, per CPU, and delta between CPUs
Disk usage; total, free, used
Disk Latency
Percentage Busy
Percentage Ready
Memory; percentage used, swap activity
Network; bytes in/out
Host System State
Host System Resource Usage
Virtual Machine Configuration
Virtual Machine State
Sample list of Parameters monitored for Host and VM for VMware ESX/ESXi
Host Machine Virtual Machine
Running State Number of CPUs
Overall Alarm Status Overall CPU Usage, CPU extra and guaranteed
Number of CPU Cores CPU Usage in MHz, CPU sample count
CPU Speed per Core CPU Active average and peak over a period
CPU Threads CPU Refused average over a period
CPU Active average and peak over a period CPU running average and peak over a period
Memory Size, Usage, active (% of memory) Memory swap in/swap out
Memory swap in/swap out Guest and Host memory usage
Memory heap, overhead and shared Memory active, balloon, consumed, granted,
Disk Capacity, Free, command abort and issued VM network data receive and transmit rate, packets
Disk read rate, read and write requests VM Disk read and write rate
Network data receive and transmit rate Guest OS and heartbeats in period
Network packets received and transmitted Amount of guaranteed resource
2. Application Performance - Performance of the applications hosted in the cloud. Cloud consumer, whose application is hosted in the cloud, is interested in this kind of report.
In Calculating Application Performance also we cannot go by the resources utilized by the application as in a cloud, applications move around and so the monitoring solution needs to track and map them.
Application Response Time is the key metric in Application Performance management which actually calculates the time taken for the application to respond to user requests. Since this is of more interest to the application owners, applications designed to be hosted in a cloud tend to have monitoring solution built in to the application itself.
-
Infosys View Point | 5
V. Parameters of Interest for Cloud Service ProviderCloud Service Provider needs to get an exhaustive view of the health of the entire cloud to assess the situation. Lot of decision making and determining SLAs are driven by the Cloud performance.
Cloud service providers would be interested in the below details to assess the actual performance of cloud.
A. Resource Utilization details
Just like in any other performance monitoring, utilization parameters of physical servers/infrastructure is an important factor in cloud monitoring, as these servers make up the cloud.
B. Infrastructure Response Time (IRT)
As already discussed, IRT gives a clear picture of the overall performance of the cloud as it checks the time taken for each transaction to complete. IRT is very crucial as it has an impact on the application performance and availability which in turn affects the SLAs
C. Virtualization metrics
Similar to the physical machines, we need to collect the resource utilization data from the Virtual machines. This provides a picture of how much of the VM is being utilized and this data helps in analysing the resource utilization by applications and to decide on the scaling requirements.
Other important parameters related to Virtual Machines like
Number of VMs used by application
Time taken to create a new VM
Time taken to move an app from one VM to another
Time taken to allocate additional resources to VM
are of importance as they also contribute to IRT and performance of the applications hosted in cloud.
D. Transaction metrics
Transaction metrics can be considered as a derivative from IRT. Metrics like Success percentage of transactions, count of transactions etc. for an application would give a clearer picture of the performance of an application in cloud at a particular instance.
An ideal monitoring solution for Cloud should be capable of providing all the above details.
VI. Reporting and Collecting Performance Data
Reporting
The following reports would help the service provider to understand the cloud usage and its performance.
Multi-dimensional reports
- Different levels of Report for different users like overall infrastructure usage, usage reports of specific resources/datacenters etc
- Application level reports like, Reports showing the infrastructure usage by each application, infrastructure reports like, Performance of the resources in the cloud
Busy-hour / peak Usage Report
- Helps to get a clear view of the usage of the application for better planning of resources and SLAs
What If analysis
Trend Analysis
Collecting
Monitoring application should collect Performance parameters like CPU utilization, memory utilization etc. from physical as well as virtual hosts.
Solution to be capable enough to collect the response time per transaction and per application. Could be done either using an agent residing in the VM or an external monitoring agent. The agent needs to track and capture details of each transaction happening with the applications hosted in the VM.
Collect virtualization metrics from underlying virtualization platform. Need to ensure that the solution works well with different virtualization platforms.
Derive transaction metrics/data from collected data on response time.
-
6 | Infosys View Point
Below is a proposed high level model for a Cloud monitoring solution with a view.
Reporting
Processing
DataCollection
MonitoringAgent
Application Data
ResourceData
Virtualizationon Metrics
IRT
Application
Platform
VM VM VM VM
Physical Infrastructure
-
Infosys View Point | 7
A detailed framework of the given high level model is the next stage of study. A detailed view of components involved in the framework and integration with interfacing components can be considered as part of framework. This can be extended further for hosting the monitoring solution on the cloud.
This paper is intended to provide a guideline or requirements for developing a cloud monitoring solution for service providers.
Conclusion
1. http://www.ciozone.com/vendorzones/ca/infrastr-perform-mgmt_238145.pdf
2. http://en.wikipedia.org/wiki/Cloud_computing
3. http://communication.howstuffworks.com/cloud-computing1.htm
4. http://pubs.vmware.com/vsp40_i/wwhelp/wwhimpl/js/html/wwhelp.htm#href=admin/c_performance_metrics.html
5. http://www.jot.fm/issues/issue_2009_11/column3/index.html
6. http://searchcloudcomputing.techtarget.com/definition/
REFERENCES
-
2012 Infosys Limited, Bangalore, India. Infosys believes the information in this publication is accurate as of its publication date; suchinformation is subject to change without notice. Infosys acknowledges the proprietary rights of the trademarks and product names of other companies mentioned in this document.
About Infosys
Many of the world's most successful organizations rely on Infosys to deliver measurable business value. Infosys provides business consulting, technology, engineering and outsourcing services to help clients in over 30 countries build tomorrow's enterprise.
For more information, contact [email protected] www.infosys.com