Introduction to the proposal
Please read the attached Powerpoint as an easy introduction to the proposal.
Informal Class Diagram
Aggregate Representation Class Attributes
- A few key attributes of each aggregation representation class are displayed here.
- What is not shown are the various capability, capacity and utilization measures (e.g., CPU capabilities, capacity, optional allocation step size, and utilization) that are to be attached the classes. These measures are essential for placement and management purposes in Edge Automation. These will be added once a consensus is reached on the overall class structure.
Physical DC Endpoint Class:
ID | Type | Cardinality | Description |
Common-name | Name class | 1 | Common name fields across all objects |
Longitude-ID | float | 1 | Physical DC Longitude. |
Latitude-ID | float | 1 | Physical DC Latitude. Lat/Lon distance between physical DCs serves as a good estimate for propagation latency. |
Network-Bandwidth-Info | (DC common-name, value) | 1..n | Maximum incoming/outgoing Network Bandwidth from the physical DC to all other interconnected physical DCs. |
Cloud Region Class
Key Attributes
ID | Type | Cardinality | Description |
Common-name | Name class | 1 | Common name fields across all objects |
Physical-DC-Endpoint-Collection-ID | Physical DC Endpoint Class Collection | 1..n | Used for latency and bandwidth accounting across physical DCs in a distributed data center topology |
Resource Cluster Group Class
ID | Type | Cardinality | Description |
Common-name | Name class | 1 | Common name fields across all objects |
Resource-Cluster-Collection-ID | Resource Cluster Class Collection | 1..n | Collection of multiple resource clusters |
Physical-DC-Endpoint-ID | Physical DC Endpoint | 1 | This is primarily useful in a distributed data center topology -- more details in the cloud region section. |
Resource Cluster Class
ID | Type | Cardinality | Description |
Common-name | Name class | 1 | Common name fields across all objects |
<resource>-Collection-list | <resource> Collection | 1..n | e.g., Collection of multiple compute hosts |
Resource Slice Class
ID | Type | Cardinality | Description |
Common-name | Name class | 1 | Common name fields across all objects |
<tenant>-name | Name class | 1 | Reference to the <tenant>/administrative domain to whom the slice is given. |
<allocated resources>-list | <resource-allocation> Collection | 1..n | Resources with allocations |
Important Differences between Public Cloud and Private Cloud
Private cloud offers more fine grained control over the infrastructure as compared to Public Cloud
Public cloud exposes only Virtualized infra layer
Virtualized infra layer objects
Aggregate object example: Resource Slice
Atomic object example: VM
Private cloud exposes HW infra layer besides Virtualized infra layer
Virtualized infra layer objects (same as Public Cloud) +
HW infra layer objects
Aggregate object example: Resource Cluster
Atomic object example: Host
Some non-exhaustive examples including benefits of more fine grained HW infrastructure control in a Private Cloud – these are especially relevant for Distributed Edge Clouds
Service Security Policy
Leverage Smart NICs to program security policies to deliver performance & scalability
Service Operational Policy
Leverage Host and Resource Cluster near-real-time resource metrics and real-time faults & alerts to substantially improve closed loop remediation response time
Service Placement Policy
Leverage Resource Cluster near-real-time allocated resource capacity and metrics/faults/alerts to substantially improve dynamic workload placement/scheduling across cloud regions
These can be represented as additional soft constraints in the placement/scheduling minimize/maximize objective function
Appendix A
Resource Cluster Group Usage Example
VNF Type - EPC CP, PGW DP, SGW DP, BNG DP, IMS CP, etc. – where CP is Control Plane and DP is Data Plane
Resource Cluster A - “RCA” - hosts with standard NICs
Resource Cluster B - “RCB” - hosts with IPSec offload NICs
Resource Cluster Group A - “RCGA” - “RCA” and “RCB”
Resource Cluster Group B - “RCGB” - “RCB”
Resource Slice A - “RSA” - logical slice in “RCGA”
Resource Slice B - “RSB” - logical slice in “RCGB”
Resource Slice C - “RSC” - logical slice in “RCGB”
Realizing Minimum guarantees
Sum of minimum guarantees of resource slices cannot exceed the total capacity of the resource clusters they belong to
Placement Policy Example
VNF Type “EPC CP” uses “RSA”
NIC offloads are immaterial to EPC CP; EPC CP can use “RCA” and “RCB”
VNF Type “PGW DP” uses “RSB”
IPSec offload in NIC is a must for PGW DP performance reasons
vCPE Optimization Policy Example using Aggregate Objects
R1 vCPE use case – Illustrative Sequence Diagrams (https://wiki.onap.org/display/DW/Residential+Broadband+vCPE+Drafts+for+discussion?preview=%2F10783327%2F16005563%2FvCPE+Use+Case+-+Customer+Service+Instantiation+-+171103.pptx)
Constraints used by Optimization Framework (OF)
VBNG location is fixed based on subscriber
VG MUX to VBNG Data Center connectivity latency cannot exceed certain value
Optimization Policy used by OF
Choose optimized multi cloud instance for the placement of VG MUX for a given subscriber based on the above
Information/Data model Standardization Example
VNF Type - EPC CP, PGW DP, SGW DP, BNG DP etc. – where CP is Control Plane and DP is Data Plane
VNF Type maps to Resource Cluster Group Class (a Resource Cluster Group could have one or more Resource Clusters)
Multi Cloud Mapping of Resource Cluster Group
<Host Aggregate> in OpenStack; <Host Aggregate, Cluster> in VMware integrated OpenStack
In this example, each VNF maps to a Resource Slice in the infrastructure
Multi Cloud Mapping of Resource Slice
<Project> in OpenStack and VMware Integrated OpenStack; <Tenant> in Azure
Multi Cloud inputs used by OF
Near-real-time stats per <Tenant, Resource Cluster Group> at scale using asynchronous push model using DMaaP