A cloud-native network function (CNF) is a software-implementation of a function, or application, traditionally performed on a physical device, but which runs inside Linux containers (typically orchestrated by Kubernetes).[1] [2] The features that differ CNFs from VNFs (virtualized network functions), one of the components of network function virtualization, is the approach in their orchestration.
In ETSI NFV standards, the cloud-native network functions are a particular type of virtualized network functions[3] and are orchestrated as VNFs, i.e. using the ETSI NFV MANO architecture and technology-agnostic descriptors (e.g. TOSCA, YANG). In that case, the upper layers of the ETSI NFV MANO architecture (i.e. the NFVO and VNFM) cooperate with a container infrastructure service management (CISM) function[4] that is typically implemented using cloud-native orchestration solutions (e.g. Kubernetes).
The characteristics of cloud-native network functions are:[5]
These characteristics address many of the common issues found with the first generation of VNFs, by incorporating many of the innovations deployed commonly in the internet infrastructure. These include auto-scaling, supporting a continuous delivery/DevOps deployment model, and efficiency gains by sharing common services across platforms. Through service discovery and orchestration, a system based on CNFs will be more resilient to node failure. A specification of criteria to classify and characterize cloud-native VNF implementations can be found in ETSI GS NFV-EVE 011.[6]
The Linux Foundation backed Cloud Native Computing Foundation project is actively supporting companies in contributing to open-source projects like Kubernetes or Prometheus, upon which Cloud Native Network Functions can be based on.[7] The CNCF project also created a CNF Testbed, in order to facilitate a common test-ground for various cloud-native network functions.[8]
11. Cloud Native Computing Foundation, (http://www.cncf.io)