Benefit is claimed under 35 119(a)-(d) to Foreign Application Serial No. 201741021750 filed in India entitled “COST-DRIVEN APPROACH TO DETERMINE INVENTORY LAYOUT IN CLOUD COMPUTING ENVIRONMENTS”, on Jun. 21, 2017, by VMware, Inc., which is herein incorporated in its entirety by reference for all purposes.
The present disclosure relates to a cloud computing environment and, more particularly, to determine inventory layout including a plurality of combinations of different types of infrastructure objects in the cloud computing environment based on an allocated cost budget.
In cloud computing design, numerous tools exist to create and deploy applications (e.g., applications including one or more virtual machines (VMs) connected to each other in a particular topology) in cloud environments. For example, application provisioning tools facilitate cloud computing designers to create and standardize application deployment topologies on infrastructure clouds. Some application provisioning tools include graphical user interfaces (GUIs) that enable designers to generate application deployment topologies called application blueprints, which define structures and configurations of applications. Once a blueprint is designed to define an application, the blueprint can be used to deploy multiple instances of the application to many cloud environments. VMware vRealize Automation® can automate the delivery of personalized infrastructure (e.g., central processing unit (CPU), memory, and storage), applications and custom information technology (IT) services using the blueprints. Au administrator can deploy multiple instances of the application using already created blueprints without a need to specify the configuration properties.
Further, cost management tools may automate cloud costing, consumption analysis and comparison, delivering the insight to efficiently deploy and manage cloud environments. However, such cost management tools may provide these functionalities when the infrastructure is added as an endpoint in the cloud.
The drawings described herein are for illustration purposes only and are not intended to limit the scope of the present subject matter in any way.
Embodiments described herein may provide an enhanced computer-based and network-based method, technique, and system for determining inventory layout including a plurality of combinations of different types of infrastructure objects in the cloud computing environment based on a given cost budget. In a cloud computing environment, a management server may communicate with multiple clients, with each client associated with resource reservations to accommodate applications (e.g., virtual machines (VMs)). A client may be an entity, such as a business, that may be organized in various departments or business units. Each department may use different computing resources of a data center. The data center then may charge the entity by department. For example, a bill may be generated detailing charges per department.
In using the cloud computing environment, a client may instantiate a number of VMs in a virtual infrastructure. The virtual infrastructure may be a listing of departments and which VMs have been instantiated by each department. A configuration may be used to specify computing resources that are desired. For example, the configuration may include types of computing resources (e.g., a computer system/server with a certain processing speed) or fixed levels of service that can be provided. A data center administrator is a user who configures costs for using the computing resources of the data center. The data center administrator may assign a cost to a VM based on the desired configuration. For example, based on the type of computing resources requested, the data center administrator assigns the cost to the VM.
Cost management tools (e.g., vRealize Business for Cloud (vRBC), a VMware product that delivers Information Technology (IT) cost data) may automate cloud costing, consumption analysis and comparison, delivering the insight to efficiently deploy and manage cloud environments. Cost management tools may be oriented towards helping the clients to arrive at costing once provisioned on the cloud or associated private software data center. Alternatively, costing can also be determined when the process of commissioning starts and the IT administrators understand the composition of VMs (e.g., based on what has been provisioned or will be provisional) and apply the cost to each component of VMs and then provide overall costing. These applications or products work as metering software. An example of software that provides cost management includes:
However, such cost management tools may provide these functionalities when the infrastructure is added as an endpoint in the product. Infrastructure commissioning and capacity planning related decisions can be taken based on cost budget. Therefore, administrators may look for below information before provisioning the infrastructure objects (e.g., servers, datastores, applications, and the like) in the cloud.
Examples described herein may provide a different combinations of inventory layout that can be, provisioned, on multiple cloud vendors and servers, given a budget, savings, profit margin or cost. In one example:
Examples disclosed herein may be implemented in connection with cloud computing environments that use VMs and/or containers. A VM is a data computer node that operates with its own guest operating system (OS) on a host using resources of the host virtualized by virtualization software. A container is a data computer node that runs on top of a host OS without the need for a hypervisor or separate OS.
As shown in
Each client may be associated with a resource reservation to support application operations. Example client may be a customer, business group, tenant, an enterprise, and the Like. A resource reservation may allocate a share of the memory, CPU and storage resources on one or more computing resources for a client to use. For example, clients may be provisioned with resource reservations to provide corresponding deployment environments 106A-N in which clients can deploy their applications (e.g., multi-tier applications). Deployment environments 106A-N may be provided by cloud service providers 104A-N.
In one example, a multi-tier application created by a developer is being deployed for an enterprise in a deployment environment 106 provided by cloud service providers 104A-N. As depicted in
In cloud computing environments, a number of VMs can be created for each client and resources (e.g., CPU, memory, storage, and the like) may be allocated for each VM to support application operations. In some examples, a VM is an emulation of a particular computer system that operates based on a particular computer architecture, while functioning as a real or hypothetical computer. VM implementations may involve specialized hardware, software, or a combination of both. In the illustrated example of
Referring now to
VMs 118A-N run on top of a hypervisor 204, which is a software interface layer that abstracts system hardware 206 into virtualized hardware, thereby enabling sharing of system hardware 206 of server 200 amongst VMs 118. Hypervisor 204 acts as an interface between VMs 118A-N and system hardware 206 for executing, VM-related instructions and for transferring data to and from machine memory 210, processor(s) 208, storage 212, and the like. It should be recognized that system hardware 206 also includes, or is, connected to, registers, interrupt handling circuitry, a clock, memory management unit (MMU), a network interface, and the like, which, for the sake of simplicity, are not shown in the figures. Hypervisor 204 may run on top of an operating system of server 200 or directly on hardware components of server 200.
Referring, to
In other examples, blueprints 110 can be created using service templates to use a same blueprint to deploy different instances of an application using services that are different between the instances of the application. In some examples, different deployment profiles are configured based, on the same application blueprint to deploy the applications using different services fir each of the example applications. Further, the blueprints 110 can be stored in a blue print repository 112. For example, when a client's member requests a VM, the VM can be provisioned according to the specifications in the blueprint. An example of a blueprint may specify a Windows 7 developer workstation with one CPU, 2 GB of memory, and a 30 GB hard disk.
In one example, management server 102 may include a cost-driven inventory management module 114. Cost-driven inventory management module 114 can be a part of management software residing in memory of management server 102. During operation, cost-driven inventory management module 114 may receive a cost budget for provisioning infrastructure objects in a cloud computing environment provided by at least one cloud service provider 104.
Further, cost-driven inventory management module 114 may determine an inventory layout including a plurality of combinations of different types of infrastructure objects that are supported by the at least one cloud service provider 104 based on the, cost budget. Example infrastructure objects may include servers, applications, or a combination thereof. Example server may include physical resources selected from a group consisting of CPUs, memory, storage, and network resources. Example applications may include VMs.
In one example, cost-driven inventory management module 114 may determine a capital cost and/or an operational cost associated with each of the different types of infrastructure objects based on a fully loaded cost of a cluster, direct VM cost, and storage cost. The fully loaded cost of the cluster, the direct VM cost, and the storage cost can be provided as an input from a user (i.e., user input database 122) and/or read from a reference database 120. The fully loaded cost of the cluster may include price per gigahertz (Ghz) of CPUs, price per gigabyte (GB) of RAM, hardware cost, network cost, facilities cost, any other additional cost, or any combination thereof The direct VM cost may include operating system (OS) cost, VM labor cost, OS labor cost, backup cost or any combination thereof. The storage cost is a percentage of the GB that is required by VMs. Facilities may refer to real estate costs, particularly, the cost of data center buildings or rent, power costs, cooling costs, racks, and associated facility management labor. Facility related costs except power are encapsulated into the rent price per rack unit. Power costs come from applying power rates (price/kWh) to power consumption measured in vCenter, which is commercially available from VMware. Example network cost may be estimated as a product of suggested price per network port and the number of ports on the server. Additional costs may include costs related to backup, disaster recovery, security, and the like.
Further, cost-driven inventory management module 114 may determine the inventory layout including the plurality of combinations of different types of infrastructure objects based on a comparative analysis of the capital cost and/or the operational cost associated with each of the different types of infrastructure objects. The plurality of combinations of different types of infrastructure objects supported by the at least one cloud service provider is determined by performing a simple ratio approach, rotating priority approach or a combination thereof on the different types of infrastructure objects based on the cost budget, the capital cost and/or the operational cost as shown below.
In one example, cost-driven inventory management module 114 may determine the inventory layout including the plurality of combinations of different types of physical infrastructure that are supported by the at least one cloud service provider based on the cost budget. The different types of physical infrastructure include different types of servers and associated, versions to provide cloud computing services for applications running therein. The plurality of combinations of different types of infrastructure is determined by performing a comparative analysis of vendors providing the different types of servers based on the cost budget.
In another example, cost-driven inventory management module 114 may determine the inventory layout including a plurality of combinations of instances of application blueprints that can be provisioned on existing infrastructure in the cloud computing environment by the at least one cloud service provider based on the cost budget. The existing infrastructure include servers and associated versions provided by one or more vendors.
Furthermore, cost-driven inventory management module 114 may recommend a subset of combinations from the plurality of combinations of different types of infrastructure objects based on predetermined criteria. In one example, cost-driven inventory management module 114 may de-duplicate the plurality of combinations, determine the subset of combinations from the de-duplicated plurality of combinations based on the predetermined criteria, and then recommend. the determined subset of combinations. The predetermined criteria may be selected from a group consisting of a predetermined priority, infrastructure utilization, and hybrid server configuration.
Management server 102 includes a provisioning module 116, which can be implemented as a pan of management software residing in management server 102. provisioning module 116 may provision the infrastructure objects in the cloud computing environment based on selection of one of the subset of combinations in accordance with the recommendation. In one example, the selection may be received from a member (e.g., administrator, manager, user, and the like) of the client. For example, the member may select a recommendation, which includes one or more blueprints and a number of instances of each blueprint to deploy the application. In one example, upon receiving the selection, provisioning module 116 may instruct cost-driven inventory management module 114 to suspend an modifications to the resources allocated to the client, for instance, until the provisioning request is served.
Examples described herein to determine the inventory layout that can easily scale up to the required service standards of the IT administrators may involve reverse engineering cost calculation process. While vRBC calculates the cost of a VM of a particular blueprint given the infrastructure attached to the VM in the form of endpoint, examples, described herein may reverse engineer the process and find out the instances of a VM of a particular blueprint that can be provisioned on a particular kind of infrastructure, given the budget. Additionally, the reference database 120 of vRBC may enable to bring out a comprehensive comparative list of number of VMs of a particular blueprint that can be provisioned on different infrastructure and server combinations, given the budget. In these examples, the cost or the budget is driving factor in determining what infrastructure or cloud vendor can be used to provision VMs, instead of commissioning the inventory and then determining costs on the go based on usage.
Examples described herein may be implemented in a cloud computing environment where a set of resources may be allocated to one or more clients. In one example, management server 102 may comprise the vCenter Server™ and vSphere® program products, which are commercially available from VMware, Inc. An example of cost-driven inventory management module 114 and provisioning module 116 can be implemented in vRealize Automation®, vRealize Operations, vRBC, and/or the like that are offered by VMware. Cost-driven inventory management module 114 and provisioning module 116 can be implemented in infrastructure as a Service (IaaS), which is a component that enables the provisioning of virtualized infrastructure components in a cloud-based computing environment. In other examples, any other suitable cloud computing platform may be used to implement cost-driven inventory management module 114 and provisioning module 116.
In one example, cost-driven inventory management module 114 and provisioning module 116 residing in management server 102 may be implemented as engines or modules comprising any combination of hardware and programming to implement the functionalities described herein. Each of cost-driven inventory management module 114 and provisioning module 116 can be a service process in the virtual center or can be an appliance running in the data center to cater multiple virtual centers in a cloud based environment.
In some examples, the functionalities described herein, in relation to instructions to implement functions of cost-driven inventory management module 114 and provisioning module 116 and any additional instructions described herein in relation to the storage medium, may be implemented as engines or modules comprising any combination of hardware and programming to implement the functionalities of the modules or engines described herein. The functions of cost-driven inventory management module 114 and provisioning module 116 may also be implemented by respective processor. In examples described herein, the processor may include, for example, one processor or multiple processors included in a simile device or distributed across multiple devices.
The embodiments described also can be practiced without some of the specific details described herein, or with other specific details, such as changes with respect to the ordering of the logic, different logic, different architectures, or the like. Thus, the scope of the techniques and/or functions described is not limited by the particular order, selection, or decomposition of aspects described with reference to any particular routine, module, component, or the like.
At 402, a cost budget is received for provisioning infrastructure objects in a cloud computing environment provided by at least one cloud service provider, in one example, the cost budget may be allocated by a client customer, business, and the like) of the cloud service provider.
At 404, a cost analysis of different types of infrastructure objects is performed based on the received cost budget. Example infrastructure objects may include servers, applications, or a combination thereof Example server may include physical resources selected from a group consisting of a central processing unit (CPU), memory, storage, and network resources. Example applications may include VMs. In one example, a capital cost and/or an operational cost associated with each of the different types of infrastructure objects is determined based on a fully loaded cost of a cluster, direct VM cost, and storage cost. The fully loaded cost of the cluster, the direct VM cost, and the storage cost are provided as an input from a user and/or read from a reference database.
At 406, an inventory layout including a plurality of combinations of different types of infrastructure objects that are supported by the at least one cloud service provider is determined based on the cost budget and the cost analysis. Further, the inventory layout including the plurality of combinations of different types of infrastructure objects is determined based on the cost analysis of the capital cost and/or the operational cost associated with each of the different types of infrastructure objects with respect to the allocated cost budget.
In one example, determining the inventory layout including a plurality of combinations of different types of physical infrastructure that are supported by the at least one cloud service provider based on the cost budget. For example, different types of physical infrastructure may include different types of servers (i.e., new servers) and associated versions to provide cloud computing services for applications running therein. Further, the inventory layout including a plurality of combinations of instances of application blueprints that can be provisioned on the different types of servers by the at least one cloud service provider is determined based on the cost budget. The different types of servers can be provided by different vendors.
For example, a server price may depend on many different factors including how many and what CPUs are included in the server, how much RAM is included in the server, what other components such as hard disks, network and storage cards are in the server, and so on. Servers come in different firm (e.g. rack mounted, tower, blade, desktop, and the like), different size, different power consumption, and come with or without OS installed.
In another example, the inventory layout including a plurality of combinations of instances of application blueprints that can be provisioned on existing infrastructure in the cloud computing environment by the at least one cloud service provider is determined based on the cost budget. The existing infrastructure may include servers provided by one or more vendors and allocated to a specific client.
At 408, a subset of combinations from the plurality of combinations of different types of infrastructure objects are recommended/provided on a graphical user interface based on predetermined criteria. At 410, the infrastructure objects are provisioned in the cloud computing environment based on selection of one of the subset of combinations in accordance with the recommendation. In ore example, one of the subset of combinations may be selected by the client of the cloud service provider. The cost-driven method for determining an inventory layout is explained in more detail with reference to
At 504, a fully loaded cost of the cluster may be read from a database (e.g., user database 520) (e.g., as calculated by vRBC). At 506 and 508, the RAM price per GB and the CPU price per GHz may be calculated respectively, as per procedures mentioned below:
Determining price/GHz for CPU using vRBC
Determining price/GB for RAM using vRBC
At 510, the direct VM cost is calculated from the reference database 522 as mentioned in the below example. In one example, the direct VM cost is calculated using information stored in the user input space (e.g., 520) and if the information is not available, then the reference database 522 is consulted for the required information.
Determining direct VM cost for a given OS using vRBC
Further at 510 the application/VM blueprints are read and the storage cost of each profile is calculated from the reference database 522. At 512, the total cost of each profile is calculated by using steps 506, 508, and 510. At 514 and 516, the simple ratio and rotating priority may be used to produce combinations of number of instances of a particular blueprint or profiles. At 518, the combinations are de-duplicated. De-duplication is a data compression technique for eliminating duplicate copies of repeating combinations.
At 612, the direct NW cost is calculated from the reference database 624 as mentioned in
Machine-readable storage medium 704 may store instructions 706-712 that can be executed by processor 702. Instructions 706 may be executed by processor 702 to receive a cost budget for provisioning infrastructure objects in a cloud computing environment provided by at least one cloud service provider. Instructions 708 may be executed by processor 702 to determine an inventory layout including a plurality of combinations of different types of infrastructure objects that are supported by the at least one cloud service provider based on the cost budget. Instructions 710 may be executed by processor 702 to recommend, on a graphical user interface, a subset of combinations from the plurality of combinations of different types of infrastructure objects based on predetermined criteria. Instructions 712 may be executed by processor 702 to provision the infrastructure objects in the cloud computing environment based on selection of one of the subset of combinations in accordance with the recommendation.
Some or all of the system components and/or, data structures may also be stored as contents (e.g., as executable or other machine-readable software instructions or structured data) on a non-transitory computer-readable medium (e.g., as a hard disk; a computer memory; a computer network or cellular wireless network or other data transmission medium; or a portable media article to be read by an appropriate drive or via an appropriate connection, such as a DVD or flash memory device) so as to enable or configure the computer-readable medium and/or one or more host computing systems or devices to execute or otherwise use or provide the contents to perform at least some of the described techniques. Some or all of the components and/or data structures may be stored on tangible, non-transitory storage mediums. Some or all of the system components and data structures may also be provided as data signals (e.g., by being encoded as part of a carrier wave or included as part of an analog or digital propagated signal) on a variety of computer-readable transmission mediums, which are then transmitted, including across wireless-based and wired/cable-based mediums, and may take a variety of forms (e.g., as part of a single or multiplexed analog signal, or as multiple discrete digital packets or frames). Such computer program products may also take other forms in other embodiments. Accordingly, embodiments of this disclosure may be practiced with other computer system configurations.
It may be noted that the above-described examples of the present solution is for the purpose of illustration only. Although the solution has been described in conjunction with a specific embodiment thereof, numerous modifications may be possible without materially departing from the teachings and advantages of the subject matter described herein. Other substitutions, modifications and changes may be made without departing from the spirit of the present solution. All of the features disclosed in this specification (including any accompanying claims, abstract and drawings), and/or all of the steps of any method or process so disclosed, may be combined in any combination, except combinations where at least some of such features and/or steps are mutually exclusive.
The terms “include,” “have,” and variations thereof, as used herein, have the same meaning as the term “comprise” or appropriate variation thereof. Furthermore, the term “based on”, as used herein, means “based at least in part on.” Thus, a feature that is described as based on some stimulus can be based on the stimulus or a combination of stimuli including the stimulus.
The present description has been shown arid described with reference to the foregoing examples. It is understood, however, that other forms, details, and examples can be made without departing from the spirit and scope of the present subject matter that is defined in the following claims.
Number | Date | Country | Kind |
---|---|---|---|
201741021750 | Jun 2017 | IN | national |