Definition of a CNF #27
Replies: 7 comments 14 replies
-
[Ian] Best practices for a CNF can evolve over time as we learn more. It shouldn't be written in stone. |
Beta Was this translation helpful? Give feedback.
-
[Cristian] Maybe we should start with what a CNF does rather than what it is |
Beta Was this translation helpful? Give feedback.
-
Scenario: Assuming VNFs and CNFs coexist: (It may happen for non-green field deployment, correct?) |
Beta Was this translation helpful? Give feedback.
-
Discussions from the TUG/CNF principles efforts: So what is a CNF, actually? A CNF is network functionality delivered in software via cloud native development and delivery practices. This functionality lives within the layers of the OSI Model [9], which is used to define a network's stack. The lower layers (layers 1 and in some cases, layer 2) are provisioned for the higher layers (2-7) to provide transport. These higher layers in this instance act as applications that act upon a network payload (frames, packets datagrams etc). A physical layer 1 networking device should be "flashed" with a complete replacement of its artifacts for updates. The configuration for physical layer 1 is done with an atomic application of a versioned configuration file, which replaces the configuration on the device at once. Virtual Layer 1 (and some layer 2) is managed via templated images and bootstrapping. In contrast, layers 2 through 7 are managed by higher-level orchestration or an established control plane (an orchestrator pushing configuration versus a network protocol modifying a route table). |
Beta Was this translation helpful? Give feedback.
-
Example environment: k8s cluster based on upstream k8s + CNI + CSI backed by adequate persistant storage + Container Registry + Helm repository and most likely + some standard observability and logging add-ons + Git and some CICD pipeline connected to it. The CNF is free bring its own (cloud native) add-ons and install them of this platform |
Beta Was this translation helpful? Give feedback.
-
Could we structure our work around concrete CNF examples against common reference:
we can pick 2-3 concrete CNFs and run them through these steps. After it we will have initial set of best practices. |
Beta Was this translation helpful? Give feedback.
-
@fkautz said in zoom chat:
|
Beta Was this translation helpful? Give feedback.
-
I think this is one of the first problems we need to tackle collectively. As we start making claims on what is or isn't a best practice, we need to ensure there is a distinction of what pod/container is responsible for. Blanket statements without context could get us in trouble, and so we should specify when a best practice is for an infrastructure container, a CNF or generic app. For us to make this distinction, we need to first have a definition of what a CNF is (to provide context to the containers that make it up).
Claims like "no privileged containers" as a best practice is sensible in a lot of cases, but not when the container is for provisioning infrastructure for me.
Beta Was this translation helpful? Give feedback.
All reactions