...
In addition to individual infrastructure level telemetry, the infrastructure cloud platform presents aggregate view as a provider of resources including available, used, and step-size; allocations assigned including reservations, limits, and share; and utilization to represent current resource consumptions.
Infrastructure Domains
As a general convention, infrastructure (NFV etc.) is partitioned into high level domains to represent various infrastructure resources metrics such as cpu, memory, disk, network, and various hardware and technology capability extensions.
Domain | Description |
Host | These are physical server metrics for performance and utilization for the physical host including CPU, memory, disk, fans, power, network, power, etc. |
Hypervisor | This is the Hypervisor’s view of resources and usages including CPU, memory, storage, network, etc. |
Virtual Machine | This the individual VM view of performance and usage of CPU, memory, storage, network, etc. |
OS | This is the performance and health metrics from the host and guest operating system flavor, including system, network, CPU, memory, processes, paging, swap, etc. |
Tenant | Compute, Memory, Network and Storage KPI’s partitioned across resource clusters for a tenant/consumer - representing an enterprise, wholesale, or retail consumption model. Advanced KPI’s include and not limited to I/O devices such as GPUs. |
Resource Cluster | This is an aggregate representation of hosts as a combined compute function sharing similar networking and storage. All hosts in the resource cluster have identical HW capabilities and capacity. |
Resource Cluster Group | A Resource Cluster Group is a logical construct which comprises of multiple resource clusters. |
Data Store | This is the data storage usage and performance metrics for an aggregate logical store including read, write, latency, IOPS, etc. from the underlying disks. |
Data Center | Aggregate summarization across resources in a data center, useful for cross-site optimization, workload placement, capacity planning functions, for example. |
Generic Resource Representation Classes
Resource Provider Class
This class describes a common way of representing a resource which can be modelled for consumption by other infrastructure resources. Besides the availability and usage, another important parameter is the allocation step size.
ID | Type | Cardinality | Description |
Unit-description | string | 1 | Examples: MB/GB for memory, Mbps/Gbps for network bandwidth, number of virtual CPUs for compute, MB/GB for storage |
Available | unsigned 64-bit integer | 1 | Total Available resource units |
Used | unsigned 64-bit integer | 1 | Current used resource units; Used cannot exceed Available |
Allocation-step-size | unsigned 64-bit integer | 1 | Allocation step size for consuming the resource. For example, memory allocation for VMs on a host can be only in steps of 1GB |
Resource Allocation Class
This class describes a common way of representing a resource which can be modelled for reservation of relevant infrastructure resources.
Some key aspects with respect to resource provider class and allocation class
The resource provider class is the “provider (or producer)” of the resource and the resource allocation class is the “consumer” of the resource.
If the resource acts as a consumer and a provider, the difference between “minimum-reservation” and “maximum-usable” is the reserved (or unused) capacity.
For a Physical HW resource, such as Resource Cluster, Host etc. minimum-reservation and maximum-usable are set to the same value.
The resource allocation algorithm must ensure that the sum of minimum reservations across all consumers must not exceed the available capability of the producer; an example would be Tenants as consumers and as producer.
ID | Type | Cardinality | Description |
Unit-description | string | 1 | Examples: MB/GB for memory, Mbps/Gbps for network bandwidth, number of virtual CPUs for compute, MB/GB for storage |
Minimum-Reservation | unsigned 64-bit integer | 1 | Minimum guarantee of resource unit |
Maximum-Usable | unsigned 64-bit integer | 1 | Maximum usable resource units |
Shares | Unsigned 64-bit integer | 1 | Weighted proportion of resources an object can have across the available shared infrastructure (percent) |
Resource Utilization Class
This class describes a common way of representing a resource which can be modelled for utilization for all infrastructure resources.
ID | Type | Cardinality | Description |
Unit-description | string | 1 | Examples: MB/GB for memory, Mbps/Gbps for network bandwidth, number of virtual CPUs for compute, MB/GB for storage |
Current-Utilization | unsigned 64-bit integer | 1 | Current utilization of resource |
Average-Utilization | unsigned 64-bit integer | 1 | Average utilization of resource |
Peak-Utilization | unsigned 64-bit integer | 1 | Peak utilization of resource |
Infrastructure Model
Infrastructure Class
The infrastructure classes are represented by a domain model consisting of various atomic resource entities, their abstract representation, execution units by way of application, and aggregate representations: for purposes of allocation, and utilization.
The remaining section details out the specification for various infrastructure objects, relationships and hierarchies in the form of aggregates. Appendix A describes infrastructure policy examples using aggregate objects.
Key Business Requirements
To support latency-sensitive, high-bandwidth network functions and applications driven by 5G, Edge Computing, VoLTE use cases some of the key requirements from a Cloud Infrastructure perspective are
...