...
The main goals of SNIRO are to provide:
- a set of reusable micro-services (e.g., API, data access) that allows new optimizers to be implemented more easily;
- a standardized interface for optimizers to communicate with other optimizers (e.g., homing optimizer interacting with license optimizer to check a solution for any license related constraints);
- scalability and high-availability for the optimization micro-services and supporting micro-services;
- a unified toolkit for developing optimization applications via extensible APIs. This facilitates developing new optimization applications independent of how the underlying optimization modules are implemented;
- a library of optimization engines/solvers. This will include an API for plugging other custom entities (custom data sources; proprietary or open source optimization engines/solvers; etc.);
- a library for translation of policies to constraints for an optimization engine.
- (in longer term) a mechanism for interacting with the ONAP -C (ONAP controllerOperations Manager (OOM) to take actions based on the optimization solution.
The term optimization here is used in the context of providing a solution (or set of solutions) for a problem specified in terms of the state (available resources, topology, objective, etc.) and additional constraints specified as a set of policies. It must be noted that This is different from the use of optimization in other contexts such as “performance optimization”, “platform stability/reliability”, “scalability”, etc. While such services may need information from optimization solutions (e.g. “when should one take an action”, “how much additional capacity is needed to ensure meeting a specific SLA”), they can be considered as applications that can utilize the optimization framework.
...