OPNFV Cloud Native Working Group Proposal


We propose to identify some low hanging fruits for initial goals, and at the same time start to formulate and drive some of the longer term objectives.
Meeting time can be shared among the main projects involved to reduce overlap and may choose two alternating time zones to accommodate more participants. May look into existing WGs (Infra, Testing WG) for more best practices.
3) Ask from TSC
PS: Recommendation summary deck previously presented to TSC: Cloud native WG recommendations.pdf
==============================

Objectives:

OPNFV started the open source NFV journey largely based on a VM approach, specifically Openstack. This approach means more than just VM as basis of virtual compute unit, but also the implies a "virtual appliance" model. This model influences the overall architecture, software and service design philosophy in many aspects beyond the choice of hypervisors. Supporting cloud native for NFV, therefore, means supporting ALL of the following three aspects (as defined by CNCF and others):

1) Supporting containers,

2) Supporting management and automation of containerized software

3) Supporting micro-service model of software

More background information can be found in this ONS Technical Forum Presentation. (March 2018, Los Angeles, CA)

These three aspects are inter-linked closely in order to fully realize the benefits of cloud native paradigm for NFV. Therefore, our overarching objective is to integrate best of breed cloud native software solutions and best practices for supporting cloud native deployment of NFV solutions for all end users and high priority use cases. Specifically,

1) Container and container management


  Currently the integration and testing work happens in several tracks within OPNFV

Recommendation #1:

Establish a coordinated effort to produce a common configuration that can be jointly tested and promoted into a high quality system that is consumable to (a) users who seek convenience for NFV use cases (b) developers/users in other projects who can leverage OPNFV's work (e.g. ONAP) (c) other developers who want to build other higher layer software on the top.

Focus on two main configurations: Kubernetes baremetal and Kubernetes on top of Openstack. 

Sync with the ongoing efforts of consolidation through XCI and converge on a common set.


2) Container networking


Recommendation #2:

Encourage testing projects to develop consistent test methodologies for container networking. Build these test methods into CI/CD/XCI test and promotion pipeline (see Recommendation #1).

Encourage OPNFV integration projects and the upstream projects to integrate and test data path features/acceleration in OPNFV to enhance networking stack for all of the LFN community.

Encourage benchmarking of performances of various networking solutions for OPNFV use cases, e.g. Clover is trying to use tools like vsPerf and others like jMeter to conduct explainable benchmarking.


3) Micro-services support

Recommendation #3:

The work here has been started in the Clover project. We encourage more community participation in advancing these goals.

Encourage containerized software, in OPNFV and across LFN, to adopt micro-service architecture supported by a feature rich high performance service mesh.


4) Cloud native continuous deployment (CD)
 

To disambiguete Continuous Deployment from Contiguous Delivery and Contiguous Integration, please use this Atlassin definition.

Recommendation #4:

Continuous deployment is an integral part of being cloud native. Encourage participation to Clover project to establish a CD tool and process during Gambia and general use thereafter.

Link XCI and CD together for a complete cloud native CI/CD.

Consider to dedicate a POD in UNH LaaS to be OPNFV's long running testbed.


5) Support for "MiddleBox" Network Functions

While the adoption of technologies like the Micro-Services (number 3 above) are very well suited to services that operate at layer 7 (such as management and control functions), the interface to these service meshes does not provide access to the entire raw packet which is necessary for many data plane functions.

There needs to be support for a different framework to support L3/4 functions, such that packet headers can be inspected and appropriate action taken. Examples would be vCPE or vEPC.

In addition these network functions often need to be able to be connected in a logical sequence. In an OpenStack / VM based environment this would be called a Service Function Chain, but we won't use this term as it may implpy a certain implementation. ETSI uses the term VNF Forwarding Graph, and this kind of logical sequence of functions is required, regardless of how it is implemented.

Recommendation #5:

Review existing open source projects to achieve the needs of a middlebox network function.  An example, implemented in user space, would be Ligato, which makes use of fd.io (see https://github.com/ligato). Another example, implemented in kernel space, is eBPF and related project ioVisor or solution like Cilium.


6) Concrete use cases and sample applications

Recommendation #6:

Work across projects to create a set of common use cases that reflect shared market requirements.


7) Cross project collaborations

Recommendation #7:

Encourage OPNFV projects consider containerizing their artifacts, supporting testing containerized solutions, adopting CI/CD, and service mesh.

OPNFV should take a lead to drive a LFN cloud native initiative.


Related projects in OPNFV:

Projects in OPNFV are currently working towards at least part of the above objectives: (please suggest addition of anything missed out)

===============================================================

Raw discussions during zoom meetings are captured in this etherpad: https://etherpad.opnfv.org/p/cnwg


new "OPNFV Cloud Native Working Group"