...
Infrastructure Class - Representation for a NFVI resource, its information model, relationships, hierarchies, and aggregations.
Cloud Capability Class - Representation for cloud profiles and capabilities including technology, architecture, hardware, configurations, and so on.
Application Class - Representation for various workloads and their compositions to deliver end-to-end services such as vEPC, vIMS, vCPE, etc. This is out of scope for this specification.
Business Context
In the current solution landscape, Multi-vendor Cloud (OpenStack-based, VMware VIO, Microsoft Azure etc.) management involves a Cloud-specific Service Provider Design time (on-boarding, infrastructure policy authoring etc.), Deployment time (workload management etc.), Operational time (data management etc.).
This specification aims to address the above challenge by standardizing the information model for various cloud objects (aggregates and atomic) and cloud capabilities. With this approach, service providers can benefit from on-boarding clouds once, then flexibly distribute and life-cycle manage workload across different cloud variants (Internal IT, NFV, Public Clouds).
...
The information model is consumed by various actors in the operational landscape to carry out lifecycle management and operational functions. As such the information model for the infrastructure class is split into an aggregate and atomic entities to meet the objective of the various actors. The finer granularity telemetry information is typically used by monitoring and analytical systems for decisioning and closed-loop optimizations. Inventory management systems could also be interested in such granularities. Aggregate entities in contrast are are more suitable for actors such as workload placement functions to make dynamic decisions, capacity planning, service orchestration, for example.
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.
...
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
...
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
...
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
...