Cloud native Network Function (CNF) Testbed
The CNCF CNF Testbed provides reference code and test cases for running the same networking code packaged as containers (Cloud native Network Functions or CNFs) on Kubernetes and as virtual machines (Virtual Network Functions or VNFs) on OpenStack.
Status: The CNF Testbed is not a CNCF-hosted project. Instead, it is an initiative to create a repeatable, apples-to-apples testbed that telcos and telecoms vendors can use to evaluate how CNF architectures compare to more traditional VNF ones.
The initiative collaborates with the CNCF Telecom User Group to test and demonstrate differents options.
Note: The CNF Testbed is still in the prototype stage. Additional reference code and benchmarking tests will be added incrementally.
CNF Testbed purpose and ideal outcome?
The CNF Testbed will help facilitate the transition in the NFV world from virtualized hardware running network functions to lightweight, network functions following cloud-native methodologies running on Kubernetes in public, private, or hybrid clouds.
The reference code and comparisons from the CNF Testbed support the claim that CNFs orchestrated by Kubernetes will provide 3 major benefits to service providers:
- Cost savings (capex/opex)
- Improved resiliency
- Higher development velocity
The ideal outcome of the CNF Testbed is that a third party developer can run the provided CNF reference code/benchmarking tests with an API key and a couple of CLI commands. Furthermore, a developer can re-use some or all of the software in their own environment with minimal, or at least isolated modifications.
Please review this slide deck.
CNF Testbed goals
The CNF Testbed includes the following high-level goals:
- Comparing Virtual Network Functions (VNFs) vs. Cloud-native Network Functions (CNFs)
- Providing easily reproducible test cases and use cases
- Providing Helm Charts for CNFs
- Using 100% open source software
- Supporting automated deployment from bare-metal up
- Building the software in working, composable parts
Let’s see some of the test cases
So far the project has been focused on provisioning the infrastructure to support data plane CNF test cases that would be of interest to a service provider. This includes building up from minimal, single NFs running on KVM and Docker to OpenStack and K8s.
Events and recurring testing:
- (recurring) Baseline NF Performance on Packet
- (recurring) Baseline NF Performance on CSIT
- Mellanox Chained IP Routers: OpenStack & K8s
- Kubecon NA 2019 Chained IP Routers
- Box-by-box KVM and Docker
Getting Involved and Contributing
Are you interested in contributing to CNFs? We, the maintainers and community, would love your suggestions, contributions, and help! Please email firstname.lastname@example.org or open an issue or pull request if you have questions or suggestions.
What this means:
- Point out issues that are duplicates, out of date, etc.
- Read and review the code. Leave comments, questions, and critiques.
- Download, compile, and run the code and make sure the tests pass.
- Also verify that the test cases follow best architectural patterns and include tests.
The CNF Testbed is discussed as part of the CNCF Telecom User Group. Please see https://github.com/cncf/telecom-user-group#meeting-time.
Upcoming and past meeting agenda/notes are available here.
- #tug (Telecom User Group)
- #cnf-testbed (Testing and R&D)
- #nsm (Network Service Mesh)
CNFs At KubeCon + CloudNativeCon China 2019
CNFs At KubeCon + CloudNativeCon EU 2019
Monday, May 20 • TBD - Fd.io Mini-Summit
Thursday, May 23 • 11:05am - 12:30pm - Intro + Deep Dive BoF: Telecom User Group and Cloud Native Network Functions (CNF) Testbed - Cheryl Hung, Dan Kohn, CNCF & Taylor Carpenter, Vulk Coop
CNFs At Open Networking Summit NA 2019
CNFs At KubeCon + CloudNativeCon North America 2018
Two Birds-of-a-Feather (BoF) sessions covered aspects of the CNF Testbed.