The best application for NFV is how it will be integrated, architected and further matured to strengthen 5G implementation for telecom service providers. Based on current pitfalls related to VNF deployment and orchestration, making cloud-native VNF is the only solution in front of service providers today. But, telecom applications requirements of VNFs are different than any cloud-native IT application. Telecom VNF applications are built for data plane/packet processing functions along with control, signaling and media processing. An error or harm to VNF may break down the network and will impact a number of subscribers. Due to such critical processing requirement, VNFs in telecom should be resilient, offer ultra-high performance, low latency, scalability, and capacity. Telecom VNFs need to be a real-time application having latency sensitivity to fulfill network data, control, and signaling processing requirements.
Decomposition of Cloud-Native VNFs into Microservices
VNFs are network functions embedded in software which are taken out of network peripherals and hosted on virtual machines as an application, forming the term "virtual network function." Any kind of update to VNFs raises a time consuming manual effort, which hammers overall NFV infrastructure operations. To get ready for cloud-native deployment, a bundled VNF software needs to be microservices-based, wherein monolithic VNFs are decomposed into different, smaller sets of collaborative services having diverse but related functionalities. These microservices should maintain their own states, have different infrastructure resource consumption requirements, should be communicated, and automatically scaled and orchestrated using well-defined APIs.
There are benefits of microservice-based VNFs decomposition, like:
- Decomposed VNF sub-services are deployed on hardware which is best suited to efficiently run and managed. It can scaled as needed.
- Any error or glitch in microservice causes failure to only that specific function which allows easy troubleshooting and enables high availability.
- Decomposition allows reusability of service within VNF lifecycle in NFV environment. It also allows some services to get deployed quickly.
- Whole VNFs become lightweight as functions like load balancing and Deep Packet Inspection (DPI) are stripped out from core application.
As VNFs get divided into microservices, service providers may face operation complexity as the number grows. To manage all microservices well in a production environment, high-level automation needs to be implemented with NFV MANO layer and cloud orchestrator.
Evaluating Deployment Method of VNF using Virtual Machine and Containers
Containers are a form of virtualization at the operating system level. It encapsulates application dependencies, required libraries, and configuration in a package which is isolated from other containers in the same operating system. Containers allow the application to run independently and can be easily portable. As a move towards cloud native, VNF microservices can be deployed in containers which enable the continuous delivery/deployment of large, complex applications. But this approach is still in the early stages for cloud-native NFV.
Concerns About Using Containers for Vnf
To use NFV, there are certain concerns about using container technology.
- Ecosystem is still evolving and immature as compared to virtual machines.
- Security risks are involved with containers. All containers in OS shares a single kernel. Any breach of kernel OS breaks down all containers dependent on it.
- Isolating a fault is not easy with containers. A fault can be replicated to subsequent containers.
Service providers which may want to use containers in NFV environment may face challenges in multi-tenancy support, multi-network plane support, forwarding throughput and limited orchestration capabilities. It is still possible to use containers in Mobile Edge Computing environment which is going to co-exist with NFV in 5G in future. MEC will be taking user plane function near to edge of the network, closer to user applications to provide very low latency, agility, and enable real-time use cases like IoT, Augmented Reality, or Virtual Reality.
Containers can possibly be uses along with virtual machines in an NFV environment, as well. The deployment of VNFs can be:
- virtual machine only;
- containers only;
- a hybrid where the container will run on virtual machines providing security and isolation features; and lastly,
- heterogeneous mode where some of VNFs will run in VM, some in containers, and mix of both.
Service providers can evaluate their deployment methods as per their requirements at NFV infrastructure level.
Benefits of Containers for Cloud-Native NFV Path
Having a container in place to host microservices can allow active scheduling and management to optimize resource utilization. Container orchestration engine enables provisioning of host's resources to containers, assigning containers to hosts, instantiate, and reschedule containers. With containers service provider can realize a successful implementation of DevOps methodologies, allowing ease in automation tasks like scaling, upgrading, healing and become resilient.
A major benefit of containerized microservices is the ability to orchestrate the containers so that separate lifecycle management processes can be applied to each service. This allows for each service to be versioned and upgraded singularly as opposed to upgrading the entire VNF in a virtual machine. While upgrading a whole application or VNF, the container scheduler determines which individual services have changed and deploys only those specific services.
Containers enable cloud-nativity into NFV infrastructure with added performance, portability and agility benefits for telecom-specific application deployment and orchestration. To have fully-featured cloud-native 5G networks, it is imperative for service providers to have containers deploy more than virtual machines. But service provider will seek further research and developments from open source communities like ONAP, OPNFV.
How Containers Impact NFV at Application, Infrastructure and Processes Levels
- It packages microservices along with its dependencies, libraries, and configuration and makes it isolated.
- Containers can build quickly with existing images in place for microservices
- Enables faster time to market due to highly automated deployment.
- Programmable API enables complete DevOps approach to be implemented with VNF development, deployment, and lifecycle management.
Infrastructure (VNF Orchestration)
- Containers are portable packages which can move from one environment to other.
- Instantiate faster than virtual machines
- Containers can scale in scale out as per requirement at NFV infrastructure
- Enables higher density
- Enables multi-tenancy to serve multiple requests.
- Ease of upgrades and rollbacks as containers allow versioning
Process (VNF Deployment)
- Containers can be immutable and can be pushed to any platform.
- Allows smooth transition from dev to test to ops
- Enables highly efficient automation
- With containers, service providers can drive continuous integration (CI) and continuous deployment (CD) to VNF onboarding and lifecycle management
Containers play a vital role on a path to achieve complete 5G network built with highly automated cloud-native NFV. Successful deployment of 5G will depend on how service providers build a strategy around usage of containers in NFV infrastructure. Aside from the security risks involved in using containers, there might be a use case challenge of containers in telecom applications which demands much higher performance. Containerization can be possibly implemented in mobile edge computing to provide its benefits but full integration will be expected by service providers to enable cloud-native NFV.