...
- Microservices: ONAP modules should be designed as microservices: service-based with clear, concise function addressed by each service with loose coupling.
- Shared Services: Where applicable, reusable components can be provided as shared services across ONAP components.
- CI / CD Support: ONAP is predicated on an accelerated lifecycle for network services. As such, agility is key in all aspects of ONAP: development of ONAP, designing of network services, and operation of both ONAP and network services. Principles of continuous integration and deployment should be followed by all modules of the ONAP platform.
- Standard APIs: ONAP must support a rich set of external APIs (aligned with standard bodies such as MEF, TMF, etc., when possible) to easily integrate ONAP with external OSS / BSS as well as other management systems.
- Layered Abstraction: Define ONAP as a layered architecture similar to the OSI model for the internet. Define abstract interfaces between the different layers to support information and request flowing between the layers in an implementation-independent manner. Such a layered architecture provides flexibility to swap technology or replace an individual ONAP module, if desired.
...