cncf / telecom-user-group

📞📱☎️Public info for the CNCF Telecom User Group
Apache License 2.0
127 stars 32 forks source link

[Whitepaper] CNF Definition discussion #35

Open taylor opened 4 years ago

taylor commented 4 years ago

Regarding the "1.4 Cloud Native Network Functions" section from the Cloud Native Thinking for Telecommunications whitepaper.

taylor commented 4 years ago

The current definition is leaning into a CNF being a specific type of cloud native application which happens to be a network/telecom focused application. IMO, the principles, properties and benefits of a cloud native application should provide the base building block before adding anything specific for a CNF.

ASawwaf commented 4 years ago

@taylor

I added some clauses in Principle in Chapter one and update the CNF definition

Principle :

Nevertheless, there are some principles should be taken in our consideration for Telco, it will be covered here in nutshell, One of the challenges that the long Certificate and release management process that VNF offered to be fully compatible with underneath provided infrastructure, so we need to bring the CI/CD in the picture as it considered one of important principle for Cloud-Native for Telco infrastructure, This is a Principle because it allows for rapid iteration, proper versioning, easier rollbacks, canary testing, and many other capabilities that are presently complex and often not possible in deploying VNFs, The provided infrastructure should be agnostics whatever the CNF running over, Microservices ( Each microservice can be developed, updated and scaled independently.), Resiliency, and stat-less CNF, its life cycle is managed by container orchestrator and exposed API is Cloud-native principle

A cloud-native network function (CNF):

Let’s start with a Network function definition, the typical network consists of Network Elements with well-defined external interfaces and functional behaviours. Practically, Network Functions are mapped to Network Nodes and Physical Appliances, Cloud-Native, it is an application or Network function with some characteristic. A cloud-native network function consists of one or more micro-services, that is container packaged and its lifecycle is managed by a container orchestration system, such as Kubernetes, and it subscribes to cloud-native orchestration paradigms and has been developed using Cloud Native Principles including immutable infrastructure, declarative APIs, a “repeatable deployment process” , all changes stored in a centralized Key-Value ( KV ) data store, communicates over a message bus.

An example of a simple CNF is a packet filter which implements a single piece of network functionality as a microservice. A firewall is an example of a CNF which may be composed of more than one microservice. The CNFs themselves, by nature of following cloud-native principles, are also compassable and can implement and facilitate more complex network functionality if needed. CNFs and cloud-native principles can be used when implementing applications and network infrastructure which needs to meet standards such as 3GPP. For example, an Evolved Packet Core's (EPC) Serving Gateway could be implemented as a cloud-native application and support all 3GPP requirements (eg. S1 protocol stack) allowing integration with other EPC services.