You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 16 Next »

Contents

Objectives

The specification aims to define and standardize an information model which can drive cloud agnostic abstraction across various cloud provider platforms. The specification includes definitions of information objects and their relationships as they represent an individual infrastructure resource and aggregations classes.

Representations can be modelled for reservation, allocation and utilization for all infrastructure resources.

Three core representations are envisioned:

  • 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.

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

1) A single Cloud Region needs to be able to manage multiple distributed (typically Edge) physical DCs

2) Standardized representation of Multi-vendor Cloud Object Hierarchy

  • Aggregate objects (Cloud Region, Tenants, DCI Overlay etc.) 
  • Atomic objects (VMs, Containers etc.) 
  • Resource (CPU, Memory, Network etc.) allocation statistics and resource utilization metrics

3) Standardized representation of Multi-vendor Cloud Analytics

  • Events (E.g. VM Power On/Off), 
  • Alerts (E.g. Cloud Region CPU Usage exceeds threshold) and 
  • Faults (E.g. Loss of Redundancy from a Host NIC perspective) 
  • Policies for correlating between various Events, Alerts, Faults 

4) Near-real-time Streaming Data Management

  • Resource (CPU, Memory, Network etc.) Utilization Metrics 
  • Analytics (Events/Alerts/Faults)

5) Inter-Cloud (typically Edge) Workload (especially Data Plane) Placement/Scheduling/Change Management decisions to leverage metrics and analytics information at an aggregate object level 

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 ONAP Components

A&AI

DCAE

Multi VIM/Cloud

OOF

Policy

SDN-C

Overview

This page is to track the realization of the aforementioned requirements for Casablanca.

Current Progress

Information Model Document:

"Multi-Cloud Object Hierarchy & Capability Information Model," https://docs.google.com/document/d/1iOb8SymGoK7U6N5ZcYtrIPh_LaJMW_UHYdFWe7UOBNk/edit#heading=h.3bc6ryzdgbkh

Jira:  MULTICLOUD-153 - Getting issue details... STATUS

Contributors: 

VMware: ramki krishnanSumit Verdi, Giridhar Jayavelu, Chris Dent, xinhuili

AT&T: Bin HuShankaranarayanan Puzhavakath NarayananSastry Isukapalli

Intel: Maryam Tahhan, Srinivasa Addepalli

Wind RiverGil HellmannBin Yang

Reviewers

Huawei: Zhipeng Huang

AT&T: Arun GuptaAlok Gupta

VMware: Richard Boswell

Planned Next Steps on Document: 

  • Update to Use Sub Committee 
  • Update to Modelling Sub Committee
  • No labels