cloud performance monitoring

Upload: akshay-rele

Post on 06-Jan-2016

11 views

Category:

Documents


0 download

DESCRIPTION

Cloud Performance Monitoring

TRANSCRIPT

  • 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