...
3. ONAP Implementation Approach:
- 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.
4. ONAP Deployment / resiliency / scalability Support:
- Cloud Environment Support: All components in ONAP should be virtualized, preferably with support for both virtual machines and containers. All components should be software-based with no requirement on a specific hardware platform.
- Scalability: ONAP must be able to manage a small set of PNF / VNFs to highly distributed, very large network and service environment deployed across the globe. It should be possible to deploy multiple instances of ONAP and create a network of inter-working ONAP instances.
- Availability & Resiliency: ONAP must support various deployment and configuration options to meet varying availability and resiliency needs of various service providers.
- Security: All ONAP components should keep security considerations at the fore-front of all architectural decisions. Security should be a pervasive underlying theme in all aspects of ONAP. The ONAP architecture should have a flexible security framework, allowing ONAP platform users to meet their security requirements.
- Platform Plumbing: Identifies areas of commonality and implements reusable solutions that can be used to support generic needs such as (a) resiliency and traffic control, (b) observability (e.g. logging), (c) security, and (d) data persistence, alleviating the burden of this on the module developers, and speeding up the process accordingly. This also helps optimize platform and component footprint.
...