Cloud-Native Network Function

From HandWiki

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][3] 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 [4] 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 [5] that is typically implemented using cloud-native orchestration solutions (e.g. Kubernetes).

The characteristics of Cloud-Native Functions are:[6][7]

  • Containerized microservices that communicate with each-other via standardized RESTful APIs
  • Small performance footprint, with the ability to scale horizontally
  • Independence of guest operating system, since CNFs operate as containers
  • Lifecycle manageable by Kubernetes, using container images registries such as OCI Docker, and OS container runtime.

Relation to Network Function Virtualization

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,[2] 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.[2][6] A specification of criteria to classify and characterize Cloud Native VNF implementations can be found in ETSI GS NFV-EVE 011.[8]

Cloud Native Computing Foundation

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.[9] The CNCF project also created a CNF Testbed, in order to facilitate a common test-ground for various cloud-native network functions.[10]

References

11. Cloud Native Computing Foundation, (http//www.cncf.io)