Table of Contents
This document focuses on setting and evolving VNF or PNF standards that will facilitate industry discussion, participation, alignment and evolution towards comprehensive and actionable VNF or PNF best practices and standard interface.
The goal is to accelerate adoption of VNF or PNF best practices which will increase innovation, minimize customization needed to onboard VNFs or PNFs as well as reduce implementation complexity, time and cost for all impacted stakeholders.
The intent is to drive harmonization of VNFs or PNFs across VNF or PNF providers, Network Cloud Service providers (NCSPs) and the overall Network Function Virtualization (NFV) ecosystem by providing both long term vision as well as short tem focus and clarity.
The audience for this document are VNF or PNF providers, NCSPs and other interested 3rd parties who need to know the design, build and lifecycle management requirements for VNFs or PNFs to be compliant with ONAP.
These guidelines describe VNF environment and provide an overview of what the VNF developer needs to know to operate and be compliant with ONAP.
These guidelines contains high level expectations and references to specific requirements documentation for VNFs or PNFs which are applicable to the current release of ONAP.
Part of the guidelines also contains visionary recommendations for future functionality that could be desirable for ONAP future releases.
Conformance requirements are in the VNF/PNF Requirements document.
The requirements and guidelines defined herein are intended to facilitate industry discussion, participation alignment and evolution toward comprehensive and actionable VNF or PNF best practices. Integration costs are a significant impediment to the development and deployment of new services. We envision developing open source industry processes and best practices leading eventually to VNF or PNF standards supporting commercial acquisition of VNFs or PNFs with minimal integration costs. Traditional PNFs have all been unique like snowflakes and required expensive custom integration, whereas VNF products and services should be designed for easier integration just like LegoTM blocks. For example, by standardizing on common actions and related APIs supported by VNFs, plug and play integration is assured, jumpstarting automation with management frameworks. Onboarding VNFs would no longer require complex and protracted integration or development activities thus maximizing automation and minimizing integration cost. Creating VNF open source environments, best practices and standards provides additional benefits to the NFV ecosystems such as:
Larger market for VNF providers
Rapid introduction and integration of new capabilities into the services providers environment
Reduced development times and costs for VNF providers
Better availability of new capabilities to NCSPs
Better distribution of new capabilities to end-user consumers
Reduced integration cost (capex) for NCSPs
Usage based software licensing for end-user consumers and NCSPs
The industry transformation associated with softwarization 1 results in a number of changes in traditional approaches for industry collaboration. Changes from hardware to software, from waterfall to agile processes and the emergence of industry supported open source communities imply corresponding changes in processes at many industry collaboration bodies. With limited operational experience and much more dynamic requirements, open source communities are expected to evolve these VNF or PNF guidelines further before final documentation of those aspects necessary for standardization. This document and accompanying refer documents provides VNF or PNF providers, NCSPs and other interested 3rd parties a set of guidelines and requirements for the design, build and overall lifecycle management of VNFs.
VNF or PNF Providers
PNF suppliers and those transitioning from providing physical network functions to providing VNFs as well as new market entrants should find these VNF or PNF requirements and guidelines a useful introduction to the requirements to be able to develop VNFs or PNFs for deployment into a Network Cloud. VNF or PNF Providers may also be interested to test their VNFs or PNFs in the context of an open source implementation of the environment.
Network Cloud Service Providers (NCSPs)
A NCSP provides services based on Network Cloud infrastructure as well as services above the infrastructure layer, e.g., platform service, end-to-end services.
Common approaches to packaging of VNFs enable economies of scale in their development. As suitable infrastructure becomes deployed, NCSPs have a common interest in guidelines that support the ease of deployment of VNFs in each other’s Network Cloud. After reading these VNF guidelines, NCSPs should be motivated to join ONAP in evolving these guidelines to meet the industry’s collective needs.
Other interested parties
Other parties such as solution providers, open source community, industry standard bodies, students and researchers of network technologies, as well as enterprise customers may also be interested in the VNF or PNF Guidelines. Solution Providers focused on specific industry verticals may find these VNF or PNF guidelines useful in the development of specialized VNFs or PNFs that can better address the needs of their industry through deployment of these VNFs or PNFs in NCSP infrastructure. Open Source developers can use these VNF or PNF guidelines to facilitate the automation of VNF ingestion and deployment. The emergence of a market for VNFs enables NCSPs to more rapidly deliver increased functionality, for execution on white box hardware on customer’s premises – such functionality may be of particular interest to enterprises supporting similar infrastructure.
This document is part of a hierarchy of documents that describes the overall Requirements and Guidelines for ONAP. The diagram below identifies where this document fits in the hierarchy.
ONAP Requirements and Guidelines
VNF or PNF Guidelines
Future ONAP Subject Documents
VNF or PNF Requirements
Future VNF or PNF Requirements Documents
Future Requirements Documents
VNF or PNF Guidelines
Describes VNF or PNF environment and overview of requirements
VNF development readiness requirements (Design, Resiliency, Security, and DevOps)
Requirements for how VNFs interact and utilize ONAP
Provides recommendations and standards for building Heat templates compatible with ONAP.
Provides recommendations and standards for building TOSCA templates compatible with ONAP.
A technology trend towards softwarization is impacting the communications industry as it has already impacted a number of other industries. This trend is expected to have some significant impacts on the products and processes of this industry. The transformation from products primarily based on hardware to products primarily based on software has a number of impacts. The completeness of the software packages to ease integration, usage based licensing to reflect scaling properties, independence from hardware and location and software resilience in the presence of underlying hardware failure all gain in importance compared to prior solutions. The processes supporting software products and services are also expected to transform from traditional waterfall methodologies to agile methods. In agile processes, characteristics such as versioned APIs, rolling upgrades, automated testing and deployment support with incremental release schedules become important for these software products and services. Industry process related to software products and services also change with the rise of industrially supported open source communities. Engagement with these open source communities enables sharing of best practices and collaborative development of open source testing and integration regimes, open source APIs and open source code bases.
The term VNF is inspired by the work 2 of the ETSI 3 Network Functions Virtualization (NFV) Industry Specification Group (ISG). ETSI’s VNF definition includes both historically network functions, such as Virtual Provider Edge (VPE), Virtual Customer Edge (VCE), and Session Border Controller (SBC), as well as historically non-network functions when used to support network services, such as network-supporting web servers and databases. The VNF discussion in these guidelines applies to all types of virtualized workloads, not just network appliance workloads. Having a consistent approach to virtualizing any workload provides more industry value than just virtualizing some workloads. 4
VNFs are functions that are implemented in Network Clouds. Network Clouds must support end-to-end high-bandwidth low latency network flows through VNFs running in virtualization environments. For example, a Network Cloud is able to provide a firewall service to be created such that all Internet traffic to a customer premise passes through a virtual firewall running in the Network Cloud.
A data center may be the most common target for a virtualization environment, but it is not the only target. Virtualization environments are also supported by more constrained resources e.g., Enterprise Customer Premise Equipment (CPE). Virtualization environments are also expected to be available at more distributed network locations by architecting central offices as data centers, or virtualizing functions located at the edge of the operator infrastructure (e.g., virtualized Optical Line Termination (vOLT) or xRAN 5) and in constrained resource Access Nodes. Expect detailed requirements to evolve with these additional virtualization environments. Some VNFs may scale across all these environments, but all VNFs should onboard through the same process before deployment to the targeted virtualization environment.
Business process changes need to occur in order to realize full benefits of VNF characteristics: efficiency via automation, open source reliance, and improved cycle time through careful design.
Efficiency via Automation
reliant on human labor for critical operational tasks don’t scale. By aggressively automating all VNF operational procedures, VNFs have lower operational cost, are more rapidly deployed at scale and are more consistent in their operation. ONAP provides the automation framework which VNFs can take advantage of simply by implementing ONAP compatible interfaces and lifecycle models. This enables automation which drives operational efficiencies and delivers the corresponding benefits.
VNFs are expected to run on infrastructure largely enabled by open source software. For example, OpenStack 6 is often used to provide the virtualized compute, network, and storage capabilities used to host VNFs. OpenDaylight (ODL) 7 can provide the network control plane. The OPNFV community 8 provides a reference platform through integration of ODL, OpenStack and other relevant open source projects. VNFs also run in open source operating systems like Linux. VNFs might also utilize open source software libraries to take advantage of required common but critical software capabilities where community support is available. Automation becomes easier, overall costs go down and time to market can decrease when VNFs can be developed and tested in an open source reference platform environment prior to on-boarding by the NCSP. All of these points contribute to a lower cost structure for both VNF providers and NCSPs.
Improved Cycle Time through Careful Design
Today’s fast paced world requires businesses to evolve rapidly in order to stay relevant and competitive. To a large degree VNFs, when used with the same control, orchestration, management and policy framework (e.g., ONAP), will improve service development and composition. VNFs should enable NCSPs to exploit recursive nesting of VNFs to acquire VNFs at the smallest appropriate granularity so that new VNFs and network services can be composed. The ETSI NFV Framework 9 envisages such recursive assembly of VNFs, but many current implementations fail to support such features. Designing for VNF reuse often requires that traditional appliance based PNFs be refactored into multiple individual VNFs where each does one thing particularly well. While the original appliance based PNF can be replicated virtually by the right combination and organization of lower level VNFs, the real advantage comes in creating new services composed of different combinations of lower level VNFs (possibly from many providers) organized in new ways. Easier and faster service creation often generates real value for businesses. As softwarization trends progress towards more agile processes, VNFs, ONAP and Network Clouds are all expected to evolve towards continuous integration, testing and deployment of small incremental changes to de-risk the upgrade process.
ETSI defines a VNF as an implementation of a network function that can be deployed on a Network Function Virtualization Infrastructure (NFVI). Service instances may be composed of an assembly of VNFs. In turn, a VNF may also be assembled from VNF components (VNFCs) that each provide a reusable set of functionality. VNFs are expected to take advantage of platform provided common services.
VNF management and control under ONAP is different but remain compatible with the management and control exposed in the ETSI MANO model. With ONAP, there are two ways to manage and control VNF. One is asking all VNF providers to take advantage of and interoperate with common control software, as loop indicates by the black arrows in figure 1. At the same time a management and control architectural option exists for preserving legacy systems, e.g., ETSI MANO compatible VNFs can be controlled by third-party or specific VNF Managers(VNFMs) and Element Management Systems (EMSs) provided outside ONAP,as the loop indicates by the red arrows in figure 1. The ONAP is being made available as an open source project to reduce friction for VNF providers and enable new network functions to get to market faster and with lower costs.
Figure 1 shows a simplified ONAP and Infrastructure view to highlight how individual Virtual Network Functions plug into the ONAP control loops.
Figure 1. Control Loop
In the control loop view in Figure 1, the VNF provides an event data stream via an API to Data Collection, Analytics and Events (DCAE). DCAE analyzes and aggregates the data stream and when particular conditions are detected, uses policy to enable what, if any, action should be triggered. Some of the triggered actions may require a controller to make changes to the VNF through a VNF provided API.
For a detailed comparison between ETSI NFV and ONAP, refer to Appendix C - Comparison between VNF Guidelines and ETSI GS NFV-SWA 001.
In order to deploy VNFs, a target virtualization environment must already be in place. The NCSPs scale necessitates a phased rollout of virtualization infrastructure and then of VNFs upon that infrastructure. Some VNF use cases may require greenfield infrastructure deployments, others may start brownfield deployments in centralized data centers and then scale deployment more widely as infrastructure becomes available. Some service providers have been very public and proactive in setting transformation targets associated with VNFs.
Because of the complexity of migration and integration issues, the requirements for VNFs in the short term may need to be contextualized to the specific service and transition planning.
Much of the existing VNF work has been based on corresponding network function definitions and requirements developed for PNFs. Many of the assumptions about PNFs do not apply to VNFs and the modularity of the functionality is expected to be significantly different. In addition, the increased service velocity objectives of NFV are based on new types of VNFs being developed to support new services being deployed in virtualized environments. Much of the functionality associated with 5G (e.g., IoT, augmented reality/virtual reality) is thus expected to be deployed as VNFs in targeted virtualization infrastructure towards the edge of the network.
VNFs need to be constructed using a distributed systems architecture that we will call “Network Cloud Ready”. They need to interact with the orchestration and control platform provided by ONAP and address the new security challenges that come in this environment.
The main goal of a Network Cloud Ready VNF is to run ‘well’ on any Network Cloud (public or private) over any network (carrier or enterprise). In addition, for optimal performance and efficiency, VNFs will be designed to take advantage of Network Clouds. This requires careful engineering in both VNFs and candidate Network Cloud computing frameworks.
To ensure Network Cloud capabilities are leveraged and VNF resource consumption meets engineering and economic targets, VNF performance and efficiency will be benchmarked in a controlled lab environment. In line with the principles and practices laid out in ETSI GS NFV-PER 001, efficiency testing will consist of benchmarking VNF performance with a reference workload and associated performance metrics on a reference Network Cloud (or, when appropriate, additional benchmarking on a bare metal reference platform).
Network Cloud Ready VNF characteristics and design consideration can be grouped into three areas:
Virtualization Environment Ready
Detailed requirements are contained in the reference documents that are listed in Appendix B - References.
VNFs should be designed to operate within a cloud environment from the first stages of the development. The VNF provider should think clearly about how the VNF should be decomposed into various modules. Resiliency within a cloud environment is very different than in a physical environment and the developer should give early thought as to how the Network Cloud Service Provider will ensure the level of resiliency required by the VNF and then provide the capabilities needed within that VNF. Scaling and Security should also be well thought out at design time so that the VNF runs well in a virtualized environment. Finally, the VNF Provider also needs to think about how they will integrate and deploy new versions of the VNF. Since the cloud environment is very dynamic, the developer should utilize DevOps practices to deploy new software.
Detailed requirements for VNF Development can be found in the VNF Requirements document.
A VNF may be a large construct and therefore when designing it, it is important to think about the components from which it will be composed. The ETSI SWA 001 document gives a good overview of the architecture of a VNF in Chapter 4 as well as some good examples of how to compose a VNF in its Annex B. When laying out the components of the VNF it is important to keep in mind the following principles: Single Capability, Independence, State and the APIs.
Many Network Clouds will use Heat and TOSCA to describe orchestration templates for instantiating VNFs and VNFCs. Heat and TOSCA has a useful abstraction called a “module” that can contain one or more VNFCs. A module can be thought of as a deployment unit. In general the goal should be for each module to contain a single VNFC.
220.127.116.11.1. Single Capability¶
VNFs should be carefully decomposed into loosely coupled, granular, re-usable VNFCs that can be distributed and scaled on a Network Cloud. VNFCs should be responsible for a single capability.
The Network Cloud will define several flavors of VMs for a VNF designer to choose from for instantiating a VNFC. The best practice is to keep the VNFCs as lightweight as possible while still fulfilling the business requirements for the “single capability”, however the VNFC should not be so small that the overhead of constructing, maintaining, and operating the service outweighs its utility.
VNFCs should be independently deployed, configured, upgraded, scaled, monitored, and administered (by ONAP). The VNFC must be a standalone executable process.
API versioning is one of the biggest enablers of independence. To be able to independently evolve a component, versioning must ensure existing clients of the component are not forced to flash-cut with each interface change. API versioning enables smoother evolution while preserving backward compatibility.
Each VNFC within a VNF must support independent horizontal scaling, by adding/removing instances, in response to demand loads on that VNFC. The Network Cloud is not expected to support adding/removing resources (compute, memory, storage) to an existing instance of a VNFC (vertical scaling). A VNF should be designed such that its components can scale independently of each other. Scaling one component should not require another component to be scaled at the same time. All scaling will be controlled by ONAP.
18.104.22.168.4. Managing State¶
VNFCs and their interfaces should isolate and manage state to allow for high-reliability, scalability, and performance in a Network Cloud environment. The use of state should be minimized as much as possible to facilitate the movement of traffic from one instance of a VNFC to another. Where state is required it should be maintained in a geographically redundant data store that may in fact be its own VNFC.
This concept of decoupling state data can be extended to all persistent data. Persistent data should be held in a loosely coupled database. These decoupled databases need to be engineered and placed correctly to still meet all the performance and resiliency requirements of the service.
22.214.171.124.5. Lightweight and Open APIs¶
Key functions are accessible via open APIs, which align to Industry API Standards and supported by an open and extensible information/data model.
Properly (de)composing a VNF requires thinking about “reusability”. Components should be designed to be reusable within the VNF as well as by other VNFs. The “single capability” principle aids in this requirement. If a VNFC could be reusable by other VNFs then it should be designed as its own single component VNF that may then be chained with other VNFs. Likewise, a VNF provider should make use of other common platform VNFs such as firewalls and load balancers, instead of building their own.
The VNF is responsible for meeting its resiliency goals and must factor in expected availability of the targeted virtualization environment. This is likely to be much lower than found in a traditional data center. The VNF developer should design the function in such a way that if there is a platform problem the VNF will continue working as needed and meet the SLAs of that function. VNFs should be designed to survive single failure platform problems including: hypervisor, server, datacenter outages, etc. There will also be significant planned downtime for the Network Cloud as the infrastructure goes through hardware and software upgrades. The VNF should support tools for gracefully meeting the service needs such as methods for migrating traffic between instances and draining traffic from an instance. The VNF needs to rapidly respond to the changing conditions of the underlying infrastructure.
VNF resiliency can typically be met through redundancy often supported by distributed systems architectures. This is another reason for favoring smaller VNFCs. By having more instances of smaller VNFCs it is possible to spread the instance out across servers, racks, datacenters, and geographic regions. This level of redundancy can mitigate most failure scenarios and has the potential to provide a service with even greater availability than the old model. Careful consideration of VNFC modularity also minimizes the impact of failures when an instance does fail.
Security must be integral to the VNF through its design, development, instantiation, operation, and retirement phases. VNF architectures deliver new security capabilities that make it easier to maximize responsiveness during a cyber-attack and minimize service interruption to the customers. SDN enables the environment to expand and adapt for additional traffic and incorporation of security solutions. Further, additional requirements will exist to support new security capabilities as well as provide checks during the development and production stages to assure the expected advantages are present and compensating controls exist to mitigate new risks.
New security requirements will evolve along with the new architecture. Initially, these requirements will fall into the following categories:
VNF General Security Requirements
VNF Identity and Access Management Requirements
VNF API Security Requirements
VNF Security Analytics Requirements
VNF Data Protection Requirements
The ONAP software development and deployment methodology is evolving toward a DevOps model. VNF development and deployment should evolve in the same direction, enabling agile delivering of end-to-end services.
VNF packages should provide comprehensive automated regression, performance and reliability testing with VNFs based on open industry standard testing tools and methodologies. VNF packages should provide acceptance and diagnostic tests and in-service instrumentation to be used in production to validate VNF operation.
126.96.36.199.2. Build and Deployment Processes¶
VNF packages should include continuous integration and continuous deployment (CI/CD) software artifacts that utilize automated open industry standard system and container build tools. The VNF package should include parameterized configuration variables to enable automated build customization. Don’t create unique (snowflake) VNFs requiring any manual work or human attention to deploy. Do create standardized (Lego™) VNFs that can be deployed in a fully automated way.
ONAP will orchestrate updates and upgrades of VNFs. One method for updates and upgrades is to onboard and validate the new version, then build a new instance with the new version of software,transfer traffic to that instance and kill the old instance. There should be no need for the VNF or its components to provide an update/upgrade mechanism.
Increased automation is enabled by VNFs and VNF design and composition. VNF and VNFCs should provide the following automation capabilities, as triggered or managed via ONAP:
Events and alarms
Zero-Touch rolling upgrades and downgrades
ONAP is the “brain” providing the lifecycle management and control of software-centric network resources, infrastructure and services. ONAP is critical in achieving the objectives to increase the value of the Network Cloud to customers by rapidly on-boarding new services, enabling the creation of a new ecosystem of consumer and enterprise services, reducing capital and operational expenditures, and providing operations efficiencies. It delivers enhanced customer experience by allowing them in near real-time to reconfigure their network, services, and capacity.
One of the main ONAP responsibilities is to rapidly onboard and enrich VNFs to be cataloged as resources to allow composition and deployment of services in a multi-vendor plug and play environment. It is also extremely important to be able to automatically manage the VNF run-time lifecycle to fully realize benefits of NFV. The VNF run-time lifecycle includes aspects such as instantiation, configuration, elastic scaling, automatic recovery from resource failures, and resource allocation. It is therefore imperative to provide VNFs that are equipped with well-defined capabilities that comply with ONAP standards to allow rapid onboarding and automatic lifecycle management of these resources when deploying services as depicted in Figure 2.
Figure 2. VNF Complete Lifecycle Stages
In order to realize these capabilities within the ONAP platform, it is important to adhere to a set of key principles (listed below) for VNFs to integrate into ONAP.
Requirements for ONAP Ready can be found in the VNF Requirements document.
Onboarding automation will be facilitated by applying standards-based approaches to VNF packaging to describe the VNF’s infrastructure resource requirements, topology, licensing model, design constraints, and other dependencies to enable successful VNF deployment and management of VNF configuration and operational behavior.
The current VNF Package Requirement is based on a subset of the Requirements contained in the ETSI Document: ETSI GS NFV-MAN 001 v1.1.1 and GS NFV IFA011 V0.3.0 (2015-10) - Network Functions Virtualization (NFV), Management and Orchestration, VNF Packaging Specification.
ONAP must be able to orchestrate and manage the VNF configuration to provide fully automated environment for rapid service provisioning and modification. VNF configuration/reconfiguration could be allowed directly through standardized APIs or through EMS and VF-C.
The end-to-end service reliability and availability in a virtualized environment will greatly depend on the ability to monitor and manage the behavior of Virtual Network Functions in real-time. ONAP platform must be able to monitor the health of the network and VNFs through collection of event and performance data directly from network resources utilizing standardized APIs or through EMS. The VNF provider must provide visibility into VNF performance and fault at the VNFC level (VNFC is the smallest granularity of functionality in our architecture) to allow ONAP to proactively monitor, test, diagnose and trouble shoot the health and behavior of VNFs at their source.
Every Network Cloud Service Provider will have a different set of resources and capabilities for their Network Cloud, but there are some common resources and capabilities that nearly every NCSP will offer.
VNFCs should be agnostic to the details of the Network Cloud (such as hardware, host OS, Hypervisor or container technology) and must run on the Network Cloud with acknowledgement to the paradigm that the Network Cloud will continue to rapidly evolve and the underlying components of the platform will change regularly. VNFs should be prepared to move VNFCs across VMs, hosts, locations or datacenters, or Network Clouds.
VNFs should be compliant with the Network Cloud network virtualization platform including the specific set of characteristics and features.
The Network Cloud is expected to be tuned to support VNF performance requirements. Initially, specifics may differ per Network Cloud implementation and are expected to evolve over time, especially as the technology matures.
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.
To enable the compliance with security, audit, regulatory and other needs, NCSPs may operate a limited set of guest OS and CPU architectures and families, virtual machines, etc.
VNFCs should be agnostic to the details of the Network Cloud (such as hardware, host OS, Hypervisor or container technology) and must run on the Network Cloud with acknowledgement to the paradigm that the Network Cloud will continue to rapidly evolve and the underlying components of the platform will change regularly.
Physical Network Functions (PNF) are a vendor-provided Network Function(s) implemented using a set of software modules deployed on a dedicated hardware element while VNFs utilize cloud resources to provide Network Functions through virtualized software modules.
PNFs can be supplied by a vendor as a Black Box (provides no knowledge of its internal characteristics, logic, and software design/architecture) or as a White Box (provides detailed knowledge and access of its internal components and logic) or as a Grey Box (provides limited knowledge and access to its internal components). Also note that the PNF hardware and the software running on it could come from the same vendor or different vendors.
PNFs need to be chained with VNFs to design and deploy more complex end to end services that span across Network Clouds. PNF should have the following characteristics.
Although the goal is to virtualize network functions within a service chain, there will be certain network functions in the near term or even in the end state that would remain physical (e.g., 5G radio functions, ROADM, vOLT, AR/CR appliances etc.). PNFs must be designed to allow their seamless integration with Network Clouds and complement end to end service requirements for resiliency, scalability, upgrades, and security.
A PNF provides one or more network functions on a dedicated hardware box. PNFs are expected to evolve to Virtualized Network Functions and their current design should facilitate their future virtualization. The software modules and corresponding hardware should be packaged together to provide the desired Network Functions. However, it is not required for the software modules and hardware to be provided by a single vendor. PNFs are deployed through Service Provider’s installation and commission procedure. Virtualized instantiation processes flows such as OpenStack HHEAT are not utilized and PNFs are instantiated when they are powered up and connected to ONAP. PNFs must provide access to its software modules and management functions through open APIs.
Horizontal scaling for PNFs would not be the logical approach and they need to be scaled up vertically by increasing computing hardware resources (e.g. cpu, memory). Vertical scaling of PNFs will need to follow Service Provider’s hardware upgrade processes and procedures.
Software modules and their interfaces should be able to monitor and manage their state to allow high-reliability, performance, and high-availability (active-active or stand by) as needed by overriding services. At this time, PNF data store should be replicated in the back up hardware to allow fail overs for both active-active and stand by high-availability methods.
The PNF is responsible for meeting its resiliency goals with the use of redundant physical infrastructure. The PNF developer should design the function in such a way that if there is a physical platform problem the PNF will continue working as needed and meet the SLAs of that function. PNFs should be designed to survive single failure platform problems including: processor, memory, NIC, datacenter outages, etc. The PNF should support tools for gracefully meeting the service needs such as methods for migrating traffic between PNF’s and draining traffic from a PNF.
The ONAP software development and deployment methodology is evolving toward a DevOps model. PNF development and deployment should evolve in the same direction, enabling agile delivering of end-to-end services.
PNF packages should provide comprehensive automated regression, performance and reliability testing with PNFs based on open industry standard testing tools and methodologies. PNF packages should provide acceptance and diagnostic tests and in-service instrumentation to be used in production to validate PNF operation.
PNF packages should include continuous integration and continuous deployment (CI/CD) software artifacts that utilize automated open industry standard system and container build tools. The PNF package should include parameterized configuration variables to enable automated build customization. Don’t create unique (snowflake) PNFs requiring any manual work or human attention to deploy. Do create standardized (Lego™) PNFs that can be deployed in a fully automated way. ONAP will orchestrate updates and upgrades of PNFs. One method for updates and upgrades is to onboard and validate the new version, then build a new instance with the new version of software, transfer traffic to that instance and kill the old instance. There should be no need for the PNF or its components to provide an update/upgrade mechanism.
Increased automation is enabled by PNFs and PNF design and composition. PNF should provide the following automation capabilities, as triggered or managed via ONAP:
Events and alarms
Zero-Touch rolling upgrades and downgrades
PNF and VNF lifecycles are fundamentally managed the same way utilizing ONAP onboarding, configuration, and monitoring capabilities. The main difference is related to the processes and methods used for deployment and instantiation of these resources. PNFs are first installed in the target location utilizing Service Provider’s installation and commission procedures that includes manual activities. Next, any additional software module will be downloaded to the physical hardware and started utilizing the required APIs. On the other had VNF deployment and instantiation are orchestrated by ONAP utilizing the underlying Network Cloud orchestration and APIs.
It is intended to onboard PNF packages into ONAP using the same processes and tools as VNFs to reduce the need for customization based on the Network Function underlying infrastructure. The main difference is associated with the content of the Package that describes the required information for lifecycle management of the Network Function. For instance, PNF packages will not include any information related to the Network Cloud infrastructure such as HEAT templates.
The configuration for both PNFs and VNFs are managed utilizing common orchestration capabilities and standardized resource interfaces supported by ONAP. PNFs must allow direct configuration management interfaces to ONAP without any needs for an EMS support.
PNFs must allow ONAP to directly collect event and performance data without the aid of any EMSs to monitor PNF health and behavior. ONAP requires common standardized models and interfaces to support collection of events and data streams for both VNFs and PNFs and the vendors must be able to support these requirements.
Network functions implemented over dedicated physical hardware will eventually be virtualized over Network Cloud infrastructure. However, this transition will take place over time and there is a need to support this integrated network functions in various forms until complete virtualization is achieved. The integrated solution may come in the form of a tightly bundled package from a single provider referred to as black box in this document. In this configuration, the software modules will not be directly managed by an external management system and the bundled package is managed utilizing standardized open APIs provided by the vendor.
In an alternative configuration, the internal software modules are not tightly coupled with physical hardware and can be directly accessed, extended, and managed by an external management system through standardized interfaces. Each software module can be provided by different vendors and loaded onto the underlying hardware. This configuration is referred to as a white box in this document.
A gray box configuration provides direct access and manageability only to a subset of software modules that are loaded on top of a basic bundled package.
The intent of these guidelines and requirements is to provide long term vision as well as short term focus and clarity where no current open source implementation exists today. The goal is to accelerate the adoption of VNFs which will increase innovation, minimize customization to onboard VNFs, reduce implementation time and complexity as well as lower overall costs for all stakeholders. It is critical for the Industry to align on a set of standards and interfaces to quickly realize the benefits of NFV.
This VNF guidelines document provides a general overview and points to more detailed requirements documents. The subtending documents provide more detailed requirements and are listed in Appendix B - References. All documents are expected to evolve.
Some of these VNF or PNF guidelines may be more broadly applicable in the industry, e.g., in other open source communities or standards bodies. The art of VNF architecture and development is expected to mature rapidly with practical deployment and operations experience from a broader ecosystem of types of VNFs and different VNF providers. Individual operators may also choose to provide their own extensions and enhancements to support their particular operational processes, but these guidelines are expected to remain broadly applicable across a number of service providers interested in acquiring VNFs.
We invite feedback on these VNF or PNF Guidelines in the context of the ONAP Project. We anticipate an ongoing project within the ONAP community to maintain similar guidance for VNF developers to ONAP.Comments on these guidelines should be discussed there.
Heat is a service to orchestrate composite cloud applications using a declarative template format through an OpenStack-native REST API.
Hardware Platform Awareness (HPA) is the means by which the underlying NFV-I hardware platform capabilities are exposed to the network service orchestration and management functionality, for the purpose of fulfilling VNF instantiation-time hardware platform
Network Cloud (NC) are built on a framework containing these essential elements: refactoring hardware elements into software functions running on commodity cloud computing infrastructure; aligning access, core, and edge networks with the traffic patterns created by IP based services; integrating the network and cloud technologies on a software platform that enables rapid, highly automated, deployment and management of services, and software defined control so that both infrastructure and functions can be optimized across change in service demand and infrastructure availability; and increasing competencies in software integration and a DevOps operations model.
Network Cloud Service Provider (NCSP) is a company or organization, making use of a communications network to provide Network Cloud services on a commercial basis to third parties.
Network functions virtualization (NFV) defines standards for compute, storage, and networking resources that can be used to build virtualized network functions.
NFV Infrastructure (NFVI) is a key component of the NFV architecture that describes the hardware and software components on which virtual networks are built.
PNF is a vendor-provided Network Function(s) implemented using a bundled set of hardware and software.
Standards Developing Organizations are organizations which are active in the development of standards intended to address the needs of a group of affected adopters.
Softwarization is the transformation of business processes to reflect characteristics of software centric products, services, lifecycles, and methods.
Targeted Virtualization Environment
Targeted Virtualization Environment is the execution environment for VNFs. While Network Clouds located in datacenters are a common execution environment, VNFs can and will be deployed in various locations (e.g., non-datacenter environments) and form factors (e.g., enterprise Customer Premise Equipment). Non-datacenter environments are expected to be available at more distributed network locations including central offices and at the edge of the NCSP’s infrastructure.
Topology and Orchestration Specification for Cloud Applications (OASIS spec)
Virtual Machine (VM) is a virtualized computation environment that behaves very much like a physical computer/server. A VM has all its ingredients (processor, memory/storage, interfaces/ports) of a physical computer/server and is generated by a hypervisor, which partitions the underlying physical resources and allocates them to VMs. Virtual Machines are capable of hosting a virtual network function component (VNFC).
Virtual Network Function (VNF) is the software implementation of a function that can be deployed on a Network Cloud. It includes network functions that provide transport and forwarding. It also includes other functions when used to support network services, such as network-supporting web servers and database.
Virtual Network Function Component (VNFC) are the sub-components of a VNF providing a VNF Provider a defined sub-set of that VNF’s functionality, with the main characteristic that a single instance of this component maps 1:1 against a single Virtualization Container. See Figure 3 for the relationship between VNFC and VNFs.
The VNF guidelines presented in this document (VNF Guidelines) overlap with the ETSI GS NFV-SWA 001 (Network Functions Virtualization (NFV); Virtual Network Function Architecture) document. For convenience we will just refer to this document as SWA 001.
The SWA 001 document is a survey of the landscape for architecting a VNF. It includes many different options for building a VNF that take advantage of the ETSI MANO architecture.
The Network Cloud and ONAP have similarities to ETSI’s MANO, but also have differences described in earlier sections. The result is differences in the VNF requirements. Since these VNF Guidelines are for a specific implementation of an architecture they are narrower in scope than what is specified in the SWA 001 document.
The VNF Guidelines primarily overlaps the SWA 001 in Sections 4 and 5. The other sections of the SWA 001 document lie outside the scope of the VNF Guidelines.
This appendix will describe the differences between these two documents indexed on the SWA 001 sections.
This section provides an overview of the ETSI NFVI architecture and how it interfaces with the VNF architecture. Because of the differences between infrastructure architectures there will naturally be some differences in how it interfaces with the VNF.
A high level view of the differences in architecture can be found in the main body of this document.
This section of the SWA 001 document gives a broad view of all the possible design patterns of VNFs. The VNF Guidelines do not generally differ from this section. The VNF Guidelines address a more specific scope than what is allowed in the SWA 001 document.
188.8.131.52.1. Section 5.1 VNF Design Patterns¶
The following are differences between the VNF Guidelines and SWA-001:
5.1.2 - The Network Cloud does not recognize the distinction between “parallelizable” and “non-parallelizable” VNFCs, where parallelizable means that there can be multiple instances of the VNFC. In the VNF Guidelines, all VNFCs should support multiple instances and therefore be parallelizable.
5.1.3 - The VNF Guidelines encourages the use of stateless VNFCs. However, where state is needed it should be kept external to the VNFC to enable easier failover.
5.1.5 - The VNF Guidelines only accepts horizontal scaling (scale out/in) by VNFC. Vertical scaling (scale up/down) is not supported by ONAP.
184.108.40.206.2. Section 5.2 VNF Update and Upgrade¶
5.2.2 - ONAP will orchestrate updates and upgrades. The preferred method for updates and upgrades is to build a new instance with the new version of software, transfer traffic to that instance and kill the old instance.
220.127.116.11.3. Section 5.3 VNF Properties¶
The following are differences between the VNF Guidelines and SWA-001:
5.3.1 - In a Network Cloud all VNFs must be only “COTS-Ready”. The VNF Guidelines does not support “Partly COTS-READY” or “Hardware Dependent”.
5.3.2 – The only virtualization environment currently supported by ONAP is “Virtual Machines”. The VNF Guidelines state that all VNFs should be hypervisor agnostic. Other virtualized environment options such as containers are not currently supported. However, container technology is targeted to be supported in the future.
5.3.3 - All VNFs must scale horizontally (scale out/in) within the Network Cloud. Vertical (scale up/down) is not supported.
5.3.5 - The VNF Guidelines state that ONAP will provide full policy management for all VNFs. The VNF will not provide its own policy management for provisioning and management.
5.3.7 - The VNF Guidelines recognizes both stateless and stateful VNFCs but it encourages the minimization of stateful VNFCs.
18.104.22.168.4. Section 5.4 Attributes describing VNF Requirements¶
Attributes described in the VNF Guidelines and reference documents include those attributes defined in this section of the SWA 001 document but also include additional attributes.
Softwarization is the transformation of business processes to reflect characteristics of software centric products, services, lifecycles and methods.
“Virtual Network Functions Architecture” ETSI GS NFV-SWA 001 v1.1.1 (Dec 2012)
European Telecommunications Standards Institute or ETSI is a respected standards body providing standards for information and communications technologies.
Full set of capabilities of Network Cloud and/or ONAP might not be needed to support traditional IT like workloads.
See, e.g., Figure 3 of GS NFV 002, Architectural Framework