Background
This Use Case was originally written as a guide for VNF Providers. The goal was to augment the VNF Requirements and Guidelines and to give context to how a VNF should handle a life-cycle event such as scaling. However, this same use case may be very useful in the coordination of all the ONAP components for orchestrating this basic life-cycle event.
Use Case Descriptions
Manual Scale Out – This is a first step towards auto-scaling and will be useful beyond the development of auto-scaling. This involves Operations triggering a scaling event through VID. The scaling event will be sent to SO to orchestrate the instantiation of a new VNFC. APPC will then need to finalize the configuration and Healthcheck of the new instance before putting it into service.
Auto Scale Out – This will be a closed loop process that will use telemetry from the VNF to determine if a new instance of a VNFC is needed. If a scaling policy is triggered by the telemetry then a scaling event is sent to the SO for orchestration of the new VNFC. Once the VNFC is built APPC will take over configuration and Healthcheck before placing the new instance into service.
Scale In - Scale In is generally more complicated than Scale Out. Scaling In requires moving traffic off of an instance of a VNFC. Since many VNFCs are stateful, moving traffic requires either waiting for existing flows to end (This could be a very long time - up to weeks) or moving the state of the instance along with the flows (This is non-trivial). For this reason most of our work so far has focused on Scale Out. We recognize that Scale In is just as important and it will be the next phase of work.
The following diagram shows how what we have done on each of these use cases:
Impacts
S3P Impacts
Manual Scale Out and Auto Scale Out are automated processes that will help bypass many manual operations steps for scaling VNFs. Therefore this cannot be treated as most ONAP components are treated from a S3P point of view.
Scalability – Manual and Auto Scale Out will be a major step in allowing VNFs to easily scale and use only the resources that are required for the current demand. Scale out use cases should also be exercised in parallel to determine how many scale out operations can be done simultaneously.
Stability – As part of initial tests, both scale out use cases will need to be aggressively exercised in varied conditions to ensure the processes work and are resilient to failure.
Security – New instances of the VNF(C) should be tested from a security point of view to ensure there are no vulnerabilities.
Performance – the scale out use cases will need to be measured to determine the length of time it takes to do a single scale out operation. This will likely vary greatly amonst different VNF types and therefore conducting the tests across multiple VNFs would result in better measurements. There might also be significant differences based on process changes. Experimentation might be the best way to determine the most efficient process to use for scale out.
Platform Impacts
Manual Scale Out will impact VID, A&AI, SO, APPC and maybe MultiCloud
Auto Scale Out will impact SO, A&AI, APPC, CLAMP, Policy, DCAE and maybe MultiCloud
Details on Impacts to ONAP Projects can be found on this page.
Documentation Impacts
VNF Guidelines and Requirements (VNFRQTS) will need to be updated to show how VNFs should handle Scaling events
Integration Testing Impacts
Test descriptions for integration testing of VNF scaling behavior
Use Case Authors
AT&T