As is known in the art, cloud computing systems contain large numbers of servers, storage systems, networking devices, software modules and components. Various performance metrics are provided by these components for monitoring, metering, or capacity planning purpose. These performance metrics usually contain raw data, e.g., the cumulative count of IOs (input/outputs) or TotalIOs, of a front end adapter in a storage system, which are not always desirable for the above mentioned purpose.
Derived metrics based on the current or historical values of one or more metrics often provide additional insight over the original raw metrics. Also, performance metrics from each individual component are disjointed since they do not reflect the performance of logical components across multiple physical components. For example, a service created in a cloud computing system composes compute, storage and network resources from physical components. The service does not have performance data on itself. In order to measure performance, metrics need to be defined based on the hardware components it uses. Furthermore, aggregation of performance metrics based on physical or logical relationships among the components can provide high level performance data, while reduce the amount of data need to be stored.
With huge amounts of performance data on a wide range of metrics periodically sampled from various hardware components in a cloud computing environment, it is desirable to associate the performance metrics with other related physical resources, and map them to relevant logical components to provide insight of resource usage, e.g., how many hardware resources are utilized by a service, rather than how many hardware resources are allocated to it.
In one aspect of the invention, a method comprises collecting performance data from components of a cloud computing system, wherein the cloud components include at least one of a fabric interconnect in a compute layer, a switch in a network layer, and a storage array in a storage layer, the cloud computing system having a management layer, processing, using a computer processor, raw data from objects including at least one fabric interconnect, switch and storage array, obtaining topology information for the at least one fabric interconnect, switch, and storage array using model service adapters, and transforming, using the topology information, the raw data into performance metrics.
The method can further include one or more of the following features: a configuration contains types of the objects for which raw performance metrics can be collected, the objects can be related and defined in the configuration, transforming performance data from network the layer, transforming performance data from the storage layer, transforming performance data from the compute layer, transforming performance data from the management layer, creating performance metrics for logical layers based on relationships to physical layers, the performance metric includes a storage total throughput metric for a service defined as a sum of total throughput of individual storage volumes allocated to the service, the performance metric includes a storage utilization metric for a service, wherein the storage utilization metric comprises an arithmetic average of utilization of storage volumes, using a data model for defining relationships between resources of the storage system and a storage processor, and between the storage system and a storage volume, using a data model for defining relationships of a service comprising blades in the computer layer and storage volumes in the storage layer, and/or querying the relationships using a topology service containing the topology information, wherein the topology service uses definitions from a model supplier adapter (MSA).
In another aspect of the invention, an article comprises: a computer readable medium containing non-transitory stored instructions that enable a machine to perform: collecting performance data from components of a cloud computing system, wherein the cloud components include at least one of a fabric interconnect in a compute layer, a switch in a network layer, and a storage array in a storage layer, the cloud computing system having a management layer, processing, using a computer processor, raw data from objects including at least one fabric interconnect, switch and storage array, obtaining topology information for the at least one fabric interconnect, switch, and storage array using model service adapters, and transforming, using the topology information, the raw data into performance metrics.
The article can further include one or more of the following features: instructions for transforming performance data from network the layer, the storage layer, and the compute layer, the performance metric includes a storage total throughput metric for a service defined as a sum of total throughput of individual storage volumes allocated to the service, and/or the performance metric includes a storage utilization metric for a service, wherein the storage utilization metric comprises an arithmetic average of utilization of storage volumes.
In another aspect of the invention, a system comprises: a cloud computing system comprising a computer layer, a storage layer, a network layer coupled between the compute and storage layer, and a management layer to control the system, the management layer comprising stored instructions to enable the management layer to: collect performance data from components of the cloud computing system, process raw data, perform transformation of the processed raw data, and use configuration to adjust the raw data transformation.
The foregoing features of this invention, as well as the invention itself, may be more fully understood from the following description of the drawings in which:
The compute layer 102 comprises components, such as blade servers, chassis and fabric interconnects that provide the computing power for the platform. The storage layer 106 comprises the storage components for the platform. The network layer 104 comprises the components that provide switching and routing between the compute and storage layers 102, 106 within and between platforms, and to the client or customer network.
It is understood that a variety of other configurations having different interconnections and storage configuration can be provided to meet the needs of a particular application.
The management layer can include a number of applications to perform various functions for overall control, configuration, etc of the various platform components. For example, management applications can include a virtualization function, such as VSPHERE/VCENTER, by VMware of Palto Alto, Calif. A further management application can be provided as the Unified Computing System (UCS) by Cisco. It is understood that the blade chassis and fabric interconnection can be considered part of the UCS. Another management application can includes a management interface, such as EMC UNISPHERE, to provide a flexible, integrated experience for managing existing storage systems, such as CLARIION and CELERRA storage devices from EMC. A further management application includes a platform element manager, such as Unified Infrastructure Manager (UIM) by EMC, for managing the configuration, provisioning, and compliance of the platform.
The unified infrastructure manager 500 further includes a change and configuration management module 510, a policy-based compliance and analysis module 512, a unified infrastructure provisioning module 514, a consolidation topology and event service module 516, and an operational awareness module 518. The various modules interact with platform elements, such as devices in compute, network and storage layers, and other management applications.
The unified infrastructure manager 500 performs platform deployment by abstracting the overall provisioning aspect of the platform(s) and offering granular access to platform components for trouble shooting and fault management.
In one aspect of the invention, a uniform infrastructure management module includes a performance data collection and transformation module to collect and transform performance metrics from physical infrastructure, logical services, virtual applications, and tenant/organizations.
In general, a unified infrastructure management module includes functionality to retrieve performance data from platform components, and transform the performance data to create derived, aggregated metrics.
Exemplary embodiments of the invention enable a unified infrastructure module to collect performance data automatically from various platform components with the high level physical or logical IT resources, such as storage array, storage volume, blade, chassis, fabric interconnect, server, virtual machine, fibre channel switch, IP switch, and the like.
In addition, exemplary embodiments of the invention are useful to automatically transform, when needed, the raw platform performance data to new performance metrics based on the configuration defined in the data model. The model can be fed to the transformation module at compile time or run time on the fly. The relationships among managed entities are created based on the topology service, and are further used to generate aggregated metrics, for logical abstraction, such as service.
It is understood that various vendor specific terminology, product name, jargon, etc., may be used herein. It is further understood that such vendor specific information is used to facilitate an understanding of embodiments of the invention and should not limit the invention in any way. Any specific vendor information should be construed to mean a generic product, function, or module.
Some exemplary items are set forth below. It is understood that one of ordinary skill in the art is familiar with the generic architecture and functionality of a vendor specific terms.
UIM/Provisioning or UIM/P: EMC Unified Infrastructure Management/Provisioning that provides simplified management for VCE VBLOCK by managing the components of VBLOCK platforms as a single entity and easily define and create infrastructure service profiles to match business requirements.
Cisco UCS: Cisco Unified Computing System.
VMWARE VSPHERE: A virtualization platform for building cloud infrastructures
ESX/ESXi: An enterprise-level computer virtualization product offered by VMware.
VM: Virtual Machine
VBLOCK: A pre-architected and pre-qualified environment for virtualization at scale: storage, fabric, compute, hypervisor, management and security.
Data Collection Adapter: A module to interact with platform components to collect performance metrics.
vApp: Virtual Application
vCD: VMware vCloud Director
As used herein, the term transformed means that a new performance metric is created based on present or past values of one or more metrics obtained directly from single or multiple components, the physical infrastructure, the virtualization, and/or the businesses and organizations.
Performance data collection 600 collects performance metrics from various platform components, such as fabric interconnects 602, IP/fabric switches 604, storage arrays 606, and platform applications 608. Data transformation 610 is performed on the raw data from 600, using the input from data model 612, and topology information from topology service 614. In an exemplary embodiment, information from topology service 614 is provided to modules including data transformation 610. The topology service has topology data for physical layer (compute, network, and storage) and logical layer.
As shown in
As discussed above, a platform such as VBLOCK, can comprise components for storage, network, computing and virtualization bound together by technologies from various vendors. As illustrated from the high level resource diagram of
Processing is not limited to use with the hardware and software described herein and may find applicability in any computing or processing environment and with any type of machine or set of machines that is capable of running a computer program. Processing may be implemented in hardware, software, or a combination of the two. Processing may be implemented in computer programs executed on programmable computers/machines that each includes a processor, a storage medium or other article of manufacture that is readable by the processor (including volatile and non-volatile memory and/or storage elements), at least one input device, and one or more output devices. Programs may be implemented in a high level procedural or object-oriented programming language to communicate with a computer system. However, the programs may be implemented in assembly or machine language. The language may be a compiled or an interpreted language and it may be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment. A computer program may be deployed to be executed on one computer or on multiple computers at one site or distributed across multiple sites and interconnected by a communication network. A computer program may be stored on a storage medium or device (e.g., CD-ROM, hard disk, or magnetic diskette) that is readable by a general or special purpose programmable computer for configuring and operating the computer when the storage medium or device is read by the computer to perform processing.
One skilled in the art will appreciate further features and advantages of the invention based on the above-described embodiments. Accordingly, the invention is not to be limited by what has been particularly shown and described, except as indicated by the appended claims. All publications and references cited herein are expressly incorporated herein by reference in their entirety.
Number | Name | Date | Kind |
---|---|---|---|
6006016 | Falgon et al. | Dec 1999 | A |
6249755 | Yemini et al. | Jun 2001 | B1 |
6347374 | Drake et al. | Feb 2002 | B1 |
7016954 | McKenzie et al. | Mar 2006 | B2 |
7349826 | Subramanian et al. | Mar 2008 | B2 |
7401338 | Bowen et al. | Jul 2008 | B1 |
7500142 | Cowart et al. | Mar 2009 | B1 |
7529181 | Yardeni et al. | May 2009 | B2 |
7552443 | Upton | Jun 2009 | B2 |
7574413 | Larson et al. | Aug 2009 | B2 |
7979245 | Bourlatchkov | Jul 2011 | B1 |
8031634 | Artzi et al. | Oct 2011 | B1 |
8117306 | Baumback et al. | Feb 2012 | B1 |
8301755 | DePeuter et al. | Oct 2012 | B2 |
8479048 | Morimura et al. | Jul 2013 | B2 |
8886705 | Tewari | Nov 2014 | B1 |
9053000 | Lam | Jun 2015 | B1 |
20020174267 | Erdmenger | Nov 2002 | A1 |
20030204759 | Singh | Oct 2003 | A1 |
20040049572 | Yamamoto et al. | Mar 2004 | A1 |
20040083284 | Ofek et al. | Apr 2004 | A1 |
20050086331 | Wadia et al. | Apr 2005 | A1 |
20050114487 | Peng et al. | May 2005 | A1 |
20050251567 | Ballew | Nov 2005 | A1 |
20060224725 | Bali et al. | Oct 2006 | A1 |
20070192859 | Shahar et al. | Aug 2007 | A1 |
20090070463 | Cowart et al. | Mar 2009 | A1 |
20090182698 | Bethke et al. | Jul 2009 | A1 |
20110029960 | Cimadamore et al. | Feb 2011 | A1 |
20110055138 | Khanduja et al. | Mar 2011 | A1 |
20110154367 | Gutjahr et al. | Jun 2011 | A1 |
20110314330 | Morimura et al. | Dec 2011 | A1 |
20110320874 | Shimada et al. | Dec 2011 | A1 |
20120151025 | Bailey et al. | Jun 2012 | A1 |
20120221314 | Bourlatchkov et al. | Aug 2012 | A1 |
20120221589 | Shahar et al. | Aug 2012 | A1 |
20120253773 | Cheon et al. | Oct 2012 | A1 |
20120284713 | Ostermeyer et al. | Nov 2012 | A1 |
20120297061 | Pedigo et al. | Nov 2012 | A1 |
20130035976 | Buflett | Feb 2013 | A1 |
20130054779 | Cradick et al. | Feb 2013 | A1 |
20130166724 | Bairavasundaram et al. | Jun 2013 | A1 |
20140237297 | Nagura et al. | Aug 2014 | A1 |
Entry |
---|
U.S. Appl. No. 13/435,017, filed Mar. 30, 2012, He, et al. |
U.S. Appl. No. 13/536,726, filed Jun. 28, 2012, Lam, et al. |
U.S. Appl. No. 13/628,706, Sep. 27, 2012, Lam, et al. |
Vblock Infrastructure Platforms Series 300 Architecture Overview, Version 2.4, Aug. 2011, The Virtual Computing Environment Company, www.vce.com, 74 pages. |
Cisco Unified Computing System and EMC VNXe3300 Unified Storage System, White Paper, Jan. 2011, Revision 1.0, EMC2, Cisco Systems, Inc., 170 West Tasman Drive, San Jose, CA 95134-1706, www.cisco.com, 9 pages. |
EMC Integrated Infrastructure for VMware Enabled by EMC VNXe3100 and VMware vSphere 4.1, An Architectural Overview, White Paper, EMC Global Solutions, EMC2, Feb. 2011, 24 pages. |
VMware vStorage APIs for Array Integration with EMC VNX Series for NAS, Benefits of EMC VNX fo File Inegration with VMware VAAI, White Paper, EMC Solutions Group, Jan. 2012, EMC2, 17 pages. |
Vblock™ Infrastructure Platforms 2010 Vblock Platforms Architecture Overview, Version 1.3, Nov. 2011, The Virtual Computing Environment Company, www.vce.com, 25 pages. |
Best Practices for Deploying VMware vCloud Director on Vblock Infrastructure Platforms, Sep. 2011, The Virtual Computing Environment Company, www.vce.com, 20 pages. |
Service Catalog Strategies for Vblock™ Infrastructure Platforms, IaaS COE, Jan. 2011, The Virtual Computing Environment Company, www.vce.com, 19 pages. |
Unified Infrastructure Manager/Provisioning, © 2011 VCE Company, The Virtual Computing Environment Company, www.vce.com, 3 pages. |
Vblock™ Infrastructure Platforms Technical Overview, © 2011 VCE Company, The Virtual Computing Environment Company, www.vce.com, 8 pages. |
Vblock™ Solution for Trusted Multi-Tenancy: Technical Overview, Aug. 2011, The Virtual Computing Environment Company, www.vce.com, 75 pages. |
U.S. Appl. No. 13/435,017, filed Mar. 30, 2012, 93 pages. |
U.S. Appl. No. 13/536,726, filed Jun. 28, 2012, 73 pages. |
U.S. Appl. No. 13/628,706, filed Sep. 27, 2012, 120 pages. |
U.S. Appl. No. 13/435,017 Office Action dated Mar. 7, 2014, 19 pages. |
U.S. Appl. No. 13/628,706 Notice of Allowance dated Sep. 29, 2014, 15 pages. |
U.S. Appl. No. 13/435,017 Notice of Allowance dated Oct. 16, 2014, 17 pages. |
U.S. Appl. No. 13/536,726 Final Office Action dated on Nov. 10, 2015, 15 pages. |
Response Filed Aug. 6, 2015; To Office Action Dated Apr. 8, 2015; For U.S. Appl. No. 13/536,726; 10 Pages. |
Office Action dated Apr. 8, 2015 for U.S. Appl. No. 13/536,726; 19 pages. |
Office Action dated Apr. 8, 2015; for U.S. Appl. No. 13/536,726; 35 pages. |