1 .. This work is licensed under a Creative Commons Attribution 4.0 International License.
2 .. http://creativecommons.org/licenses/by/4.0
3 .. Copyright 2017 AT&T Intellectual Property. All rights reserved.
8 Services are composed of VNFs and common components and are designed to
9 be agnostic of the location to leverage capacity where it exists in the
10 Network Cloud. VNFs can be instantiated in any location that meets the
11 performance and latency requirements of the service.
13 A key design principle for virtualizing services is decomposition of
14 network functions using NFV concepts into granular VNFs. This enables
15 instantiating and customizing only essential functions as needed for the
16 service, thereby making service delivery more nimble. It provides
17 flexibility of sizing and scaling and also provides flexibility with
18 packaging and deploying VNFs as needed for the service. It enables
19 grouping functions in a common cloud data center to minimize
20 inter-component latency. The VNFs should be designed with a goal of
21 being modular and reusable to enable using best-in-breed vendors.
23 Section 5.a VNF Design in *VNF Guidelines* describes
24 the overall guidelines for designing VNFs from VNF Components (VNFCs).
25 Below are more detailed requirements for composing VNFs.
27 VNF Design Requirements
35 The VNF **SHOULD** be decomposed into granular re-usable VNFCs.
42 The VNF **MUST** be decomposed if the functions have
43 significantly different scaling characteristics (e.g., signaling
44 versus media functions, control versus data plane functions).
51 The VNF **MUST** enable instantiating only the functionality that
52 is needed for the decomposed VNF (e.g., if transcoding is not needed it
53 should not be instantiated).
60 The VNFC **MUST** be designed as a standalone, executable process.
67 The VNF **SHOULD** create a single component VNF for VNFCs
68 that can be used by other VNFs.
75 The VNF **MUST** be designed to scale horizontally (more
76 instances of a VNF or VNFC) and not vertically (moving the existing
77 instances to larger VMs or increasing the resources within a VM)
78 to achieve effective utilization of cloud resources.
85 The VNF **MUST** utilize cloud provided infrastructure and
86 VNFs (e.g., virtualized Local Load Balancer) as part of the VNF so
87 that the cloud can manage and provide a consistent service resiliency
88 and methods across all VNF's.
95 The VNFC **SHOULD** be independently deployed, configured,
96 upgraded, scaled, monitored, and administered by ONAP.
103 The VNFC **MUST** provide API versioning to allow for
104 independent upgrades of VNFC.
111 The VNFC **SHOULD** minimize the use of state within
112 a VNFC to facilitate the movement of traffic from one instance
120 The VNF **SHOULD** maintain state in a geographically
121 redundant datastore that may, in fact, be its own VNFC.
128 The VNF **SHOULD** decouple persistent data from the VNFC
129 and keep it in its own datastore that can be reached by all instances
130 of the VNFC requiring the data.
137 The VNF **MUST** utilize a persistent datastore service that
138 can meet the data performance/latency requirements. (For example:
139 Datastore service could be a VNFC in VNF or a DBaaS in the Cloud
140 execution environment)
147 The VNF **MUST** NOT terminate stable sessions if a VNFC
155 The VNF **MUST** enable DPDK in the guest OS for VNF's requiring
156 high packets/sec performance. High packet throughput is defined as greater
157 than 500K packets/sec.
164 The VNF **MUST** use the NCSP's supported library and compute
165 flavor that supports DPDK to optimize network efficiency if using DPDK. [1]_
172 The VNF **MUST NOT** use technologies that bypass virtualization
173 layers (such as SR-IOV) unless approved by the NCSP (e.g., if necessary
174 to meet functional or performance requirements).
181 The VNF **MUST** limit the size of application data packets
182 to no larger than 9000 bytes for SDN network-based tunneling when
183 guest data packets are transported between tunnel endpoints that
184 support guest logical networks.
191 The VNF **MUST NOT** require the use of a dynamic routing
192 protocol unless necessary to meet functional requirements.
195 Refer to NCSP’s Network Cloud specification