...
Distributed Edge Cloud Infrastructure Object Hierarchy (Stretch Goal)
Value:
- Fine grained resource management & analytics for Distributed Edge CloudsClouds
References:
- 1. Infrastructure Modelling:
...
- For the 5G Service/VNF placement example in Note 3
- SO passes the Physical DC End Point to Multi-Cloud as a opaque data, besides the Cloud Region
Cloud-agnostic Placement/Networking & Homing Policies (Phase 1 - Casablanca MVP, Phase 2 - Stretch Goal)
End-to-end use case Applicability:
- All (especially the data plane VNFs with fine-grained VNF placement and high performance networking requirements)
Value:
- Improve "workload deployability" by avoiding exposure of "cloud specific" capabilities to several ONAP components and addressing "separation of concerns"
- Support capacity check (besides capability check) for HPA resources
- Applicable to all workloads - VM-based or Container-based
...
The sequence diagram below expands "Multi-Cloud/VNFM Deploy Apps" in Edge Scoping Sequence Diagram
Cloud Agnostic Intent (Policy) Execution Workflow:
Gliffy Diagramsize 1200 name Cloud Agnostic Intent Execution Workflow pagePin 29
size | 1200 |
---|---|
name | Cloud Agnostic Intent Execution Workflow |
pagePin | 29 |
Cloud Agnostic Policy Design Considerations:
- Organize Policy per Cloud Region or group of Cloud Regions
- Different cloud regions have different cloud control plane instances and naturally parallelizeable from OOF and MC perspective
- One or more of the cloud regions may not respond in the
Info | ||
---|---|---|
| ||
{
"cloudRegion": { "id": "1", "cloudVendor": "Microsoft Azure", "intent": { "name": "Infrastructure HA for VNF", //realization thru Azure Fault Domain or Availability set "cost": { "value" : "0", "operatorSpecified" : "FALSE" } //Cost is derived based on APIs since it is a public cloud }, "intent": { "name": "Infrastructure Resource Isolation for VNF", //realization through dedicating compute & memory "cost": { "value" : "0", "operatorSpecified" : "FALSE" } //Cost is derived based on APIs since it is a public cloud }, "intent": { "name": "High Performance DPDK-based Overlay Networking", "cost": { "value" : "0", "operatorSpecified" : "FALSE" } //Cost is derived based on APIs since it is a public cloud } }, "cloudRegion": { "id": "2", "cloudVendor": "VMware VIO", "intent": { "name": "Infrastructure HA for VNF", // realization through OpenStack Policy-group and Anti-affinity Policy "cost": { "value" : "10", "operatorSpecified" : "TRUE" } //cost is specified by operator since it is a private cloud }, "intent": { "name": "Infrastructure Resource Isolation for VNF", // realization possible without dedicating CPU and Memory, refer to section on "Cloud Resource Partitioning for Differentiated QoS" on how this can help in offering tiered services "cost": { "value" : "9", "operatorSpecified" : "TRUE" }, //cost is specified by operator since it is a private cloud "minGuarantee": { "capability": "TRUE", "overSubscriptionPercent": {"value": "10"}, } }, "intent": { "name": "High Performance DPDK-based Overlay Networking", "cost": { "value" : "10", "operatorSpecified" : "TRUE" }, //cost is specified by operator since it is a private cloud } "cloudCapacityUtilizaitonAttributes" : { "current_allocated_capacity" : { {"cpu", "memory", "network"}: {"cloud": {"weight": "0.85", "threshold": "0.9"}, "tenant (resource slice)": {"weight": "0.85", "threshold": "0.9" "average_utilization" : { {"cpu", "memory", "network"}: {"cloud": {"weight": "0.13"}, "tenant (resource slice)": {"weight": "0.13"}, "host aggregate (resource cluster)": {"weight": "0.13"} }, "time-window": "24", "unit": "hours" }, "peak_utilization" : { {"cpu", "memory", "network"}: {"cloud": {"weight": "0.02"}, "tenant (resource slice)": {"weight": "0.02"}, "host aggregate (resource cluster)": {"weight": "0.02"} }, "time-window": "24", "unit": "hours" } } //current_allocated_capacity, average_utilization and peak_utilization are normalized to 1 //For a given object such as tenant_cpu, sum of weights across all attributes (current_allocated_capacity, average_utilization & peak_utilization) must be 1 //E.g. net_value = cloud_cpu_current_allocated_capacity*0.85 + cloud_cpu_average_utilization*0.13 + cloud_cpu_peak_utilization*.02 + ... //For a given object such as cloud_cpu, if the current_allocated_capacity "threshold" exceeds the specified value, return "high net value" //For Casablanca (R3), the default policy is adapted to minimum viable attributes and objects across all supported clouds OpenStack-based (Open source OpenStack, VMware VIO, Wind River Titanium), Public (Microsoft Azure), Open source K8S (TBD) }, "cloudRegion": { "id": "3", "cloudVendor": "Wind River Titanium", "intent": { "name": "Infrastructure HA for VNF", // realization through OpenStack Policy-group and Anti-affinity Policy "cost": { "value" : "10", "operatorSpecified" : "TRUE" } //cost is specified by operator since it is a private cloud }, "intent": { "name": "Infrastructure Resource Isolation for VNF", //realization through dedicating compute & memory "cost": { "value" : "10", "operatorSpecified" : "TRUE" }, //cost is specified by operator since it is a private cloud }, "intent": { "name": "High Performance DPDK-based Overlay Networking", "cost": { "value" : "9", "operatorSpecified" : "TRUE" }, //cost is specified by operator since it is a private cloud } }, "cloudRegion": { "id": "4", "cloudVendor": "K8S (Open Source) for Containers", "intent": { "name": "Infrastructure HA for VNF", // realization through nodeSelector – https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity "cost": { "value" : "10", "operatorSpecified" : "TRUE" } //cost is specified by operator since it is a private cloud }, "intent": { "name": "Infrastructure Resource Isolation for VNF", // realization possible without dedicating CPU and Memory, refer to section on "Cloud Resource Partitioning for Differentiated QoS" on how this can help in offering tiered services "cost": { "value" : "9", "operatorSpecified" : "TRUE" }, //cost is specified by operator since it is a private cloud "minGuarantee": { "capability": "TRUE", //realization through burstable QoS class – https://kubernetes.io/docs/tasks/configure-pod-container/quality-service-pod/ "overSubscriptionPercent": {"value": "10"}, } }, "intent": { "name": "High Performance DPDK-based Overlay Networking", //realization through one of the host-based networking options such as vhostuser, VMware NSX-T etc. – https://github.com/containernetworking/cni "cost": { "value" : "10", "operatorSpecified" : "TRUE" }, //cost is specified by operator since it is a private cloud } },
|
...