This article is originally published on my personal blog. I am re-publishing it here.
In last article we talked about what are the challenges with VNFs and why making cloud native VNFs are important for realizing NFV success for service providers and enterprises.
In this article, let’s discuss how requirements of cloud-native VNFs for telecom are different than IT applications and how VNF deployment using microservices and containers can help to realize cloud-native NFV implementation success.
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 the number of subscribers. Due to such critical processing requirement, VNFs in telecom should be resilient, offer ultra-high performance, low latency, scalibility, and capacity. Telecom VNFs need to be a real-time application having latency sensitivity to fulfill network data, control and signaling processing requirements.
Download our ebook – A Deep-Dive On Kubernetes For Edge, focuses on current scenarios of adoption of Kubernetes for edge use cases, latest Kubernetes + edge case studies, deployment approaches, commercial solutions and efforts by open communities.
Decomposition of cloud native VNFs into Microservices
VNFs are network functions embedded software which is taken out of network peripherals and hosted on the virtual machine as an application which formed the term, Virtual network function. Any kind of update to VNFs raises a time consuming manual efforts which hammer overall NFV infrastructure operations. To get ready for cloud-native, a bundled VNF software needs to be microservices-based wherein monolithic VNFs are decomposed into a different smaller set of collaborative services having diverse but related functionalities, maintaining their own states, having different infrastructure resources consumption requirements, should be communicated, 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 scale 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 rollout quickly.
- Whole VNF becomes 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 of these individual services grows. To manage all microservices well in production environment high-level automation needs to be implemented with NFV MANO layer and cloud orchestrator. To manage load balancing and communication services mesh frameworks have emerged. Istio is the popular one used to orchestrate microservices and handle API based communication among them.
Evaluating the 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 in an independent way and can be easily portable. As a move towards cloud-native decomposed VNF microservices can be deployed in containers which enable the continuous delivery/deployment of large, complex applications. But this approach is still in early-stage for cloud-native NFV.
Concerns with using containers for VNF
To use in NFV there are certain concerns of using Container technology.
- Ecosystem 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 on 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 the Mobile Edge Computing environment which is going to co-exist with NFV in 5G in the future. MEC will be taking user plane function near to the edge of the network, closer to user application to provide very low latency, agility and enable real-time use cases like IoT, Augmented Reality or Virtual Reality.
Containers can possibly use along with virtual machine in NFV environment as well. The deployment of VNFs can be
- the virtual machine only,
- containers only,
- hybrid where container will run in 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 schedule and management to optimize resource utilization. Container orchestration engine enables provisioning of hosts resources to containers, assigning containers to hosts, instantiate & reschedule containers. With containers service provider can realize the successful implementation of DevOps methodologies, allowing ease in automation tasks like scaling, upgrading, healing and become resilient.
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, container scheduler determines which individual services have changed and deploys only those specific services.
Containers enable cloud-native ability 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 to deploy more than a virtual machine. 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 make 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 Orchstration)
- 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 in upgrades and rollbacks as containers allow versioning
Process (VNF Deployment)
- Containers can be immutable and can be push 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 a complete 5G network built with highly automated cloud-native NFV. Successful deployment of 5G will depend on how service providers build a strategy around the usage of containers in NFV infrastructure. Except security risks involved in using containers, there might be use case challenges of a container 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.
- The evolution to cloud-native NFV: early adoption brings benefits with a flexible approach
- Evolving the Mobile Core to Being Cloud Native
- Cloud-Native NFV Architecture for Agile Service Creation & Scaling
- Distributed VNF Management – Architecture and Use Cases
- Are You Being Served? Containers, Microservices, Cloud-Native Telco
Latest posts by Sagar Nangare (see all)
- Demystifying Persistent Storage Myths for Stateful Workloads in Kubernetes - October 18, 2019
- How is Kubernetes Leading the Game in Enabling NFV for Cloud Native? - September 10, 2019
- Analysis of Kubernetes and OpenStack Combination for Modern Data Centers - September 6, 2019