...
- Map VNFC to Instance Type
- One or more VNFCs (e.g. vCPE VGW) could map to an instance type
- Convert to appropriate instance type based on intent //e.g. "Infrastructure Resource Isolation for VNF" may result in a different instance type if the cloud owner supports "Burstable QoS"
- For each cloud region // Public cloud could have different costs in different geographic locations
- net_value_cost = net_value_cost + cost_instance_type // cost per instance type is based on policy (for R3, it is picked up from Multi Cloud configuration file)
- net_value_cost = net_value_cost + cost_intent //e.g. "Infrastructure High Availability (HA) for VNF" may have additional cost
- Continue R2 Plan
- Private Clouds (OpenStack based)
- Capacity check per Tenant (OpenStack Project)
- returns yes or no
- Capacity check per Tenant (OpenStack Project)
- Public Clouds or Other Clouds
- Capacity check per tenant
- return yes always //assumption: public cloud has infinite capacity
- Capacity check per tenant
- Private Clouds (OpenStack based)
- If infra capacity is finite (Private cloud or Public cloud with reserved instances) // e.g. object of interest is OpenStack Project with a quota (upper limit) for cpu, mem and local disk
- Option A: (potentially supportable with OpenStack based clouds, other clouds to be investigated)
- normalized_cpu_per_object = (current_cpu_used_object + instance_type_cpu*number_of_instances_of vnfc)/total_cpu_object
- if normalized_cpu_per_object > 1, capacity check failed
- normalized_mem_per_object = (current_mem_used_object + instance_type_mem*number_of_instances_of_vnfc)/total_mem_object
- if normalized_mem_per_object > 1, capacity check failed
- normalized_disk_per_object = (current_disk_used_object + instance_type_disk*number_of_instances_of_vnfc)/total_disk_object
- if normalized_disk_per_object > 1, capacity check failed
- net_value_capacity = normalized_infra_capacity = wcpu*normalized_cpu_per_object + wmem*normalized_mem_object + wdisk*normalized_disk_per_object // wcpu, wmem, wdisk are specified in a multi-cloud configuration file; wcpu + wmem + wdisk = 1
- normalized_cpu_per_object = (current_cpu_used_object + instance_type_cpu*number_of_instances_of vnfc)/total_cpu_object
- Option B: (under study)
- normalized_instances_per_object = (current_used_reserved_instances + number_of_instances_of_vnfc)/total_reserved_instances
- net_value_capacity = normalized_instances_per_object
- Option A: (potentially supportable with OpenStack based clouds, other clouds to be investigated)
...
- Convert to appropriate instance type based on intent //e.g. "Infrastructure Resource Isolation for VNF" may result in a different instance type if the cloud owner supports "Burstable QoS"
- Example
- VNFC with "Guaranteed QoS"
- vCPU (Min/Max) - 16, Mem (Min/Max) - 32GB
- Same VNFC with "Burstable QoS", 25% oversubscription
- vCPU (Min) - 16, Mem (Min) - 32GB
- vCPU (Max) - 20, Mem (Max) - 40GB
- VNFC with "Guaranteed QoS"
- Example
Cloud Resource Partitioning for Differentiated QoS (Combined with Previous)
...