Demystifying the complexity of cloud-native 5G network functions deployment using Robin CNP – Part I
Robin.io simplifies the operations and lifecycle management of 5G applications at scale and demystifies the complexity around 5G and network functions management. The simplified end-to-end automation and App-Store-like user interface makes the management of applications easy for operators. This is relevant for several reasons. Some of the key requirements when operators deploy their telco solutions include:
- Managing their network functions in a cloud-native world
- Achieving high scalability, low latency, and high throughput for their 5G applications
- Achieving bare-metal performance at the edge and the core
To achieve all of the above, operators need to overcome several challenges. Whether it is far edge or RAN CU/DU or 5G workloads, they need to be fine-tuned for the deployment of applications on a bare-metal server or in a cloud environment to achieve the desired, optimized performance. The 5G network functions typically require multiple types of network interfaces. They should also be resilient to NIC port failures, which calls for NIC bonding. The IP address assigned for these applications or network functions should be persistent, with the occasional need for a static IP to enable seamless communication.
Then there are other requirements as well, such as the need to have multiple gateway support – for management, control-plane and user-plane. Some networks also require dual-stack support (IPv4/IPv6), to support communication across existing and newer network functions.
Another major concern is a scenario where an operator will have a some vendor applications in VNF format, and the others are containerized. In such circumstances, the operator would need to build a separate cluster or cloud platform to run the VNF, such as OpenStack or VMware cluster. Needless to say, managing multiple clusters from different vendors – on containers or VNFs – is not easy, and would involve considerable manual effort. The isolation of resources, configuration, and deploying them to achieve bare-metal performance are also some of the key challenges facing operators today.
So, let’s take a look at how we solve these challenges using Robin Cloud Native Platform (CNP) and its unique architecture.
- Carrier-grade networking: Robin CNP is a carrier-grade Kubernetes platform – built and enhanced on top of open source Kubernetes. Robin.io’s carrier-grade networking stack includes all open source CNIs that are required by operators to run their vendor applications. Support for OVS, MACVLAN, SR-IOV, DPDK, overlay and underlay networking, persistent and static IPs, dual-stack, and multiple NICs are all in-built into the cloud platform. Robin CNP can be deployed on bare metal, VM or any public cloud. It comes with a one-click deployment script that is capable of deploying an entire cluster anywhere.
- Application awareness: As an application-aware storage solution, Robin CNP caters to all the storage needs for a cloud-native deployment. Robin CNP’s application-aware storage understands the requirements of the application and ensures that the storage disks are programmed accordingly. So whenever the application requests for a volume, CNP will make sure it is rightly placed. Users can take application snapshots, clones, and backups and restore them to the same cluster or a different cluster. In scenarios such as migration, outages while taking a backup of the application, the original information stored would be restored to the new cluster.
- Advanced placement and API integration: CNP’s advanced scheduler looks into better resource utilization through NUMA-aware placement, CPU pinning, HugePages, and affinity and anti-affinity-based placement of applications in Kubernetes. Observability and monitoring are built-in using open-source Prometheus and Grafana. The user would be able to deploy the application either using Robin.io bundles, Helm charts, or kubectl commands. Full API integration enhances end-to-end automation for the lifecycle management of the application.
How Robin.io accelerates key 5G use cases
Robin.io currently solves problems associated with radio access network (RAN), CNFs/VNFs in the telco environment, Mobile Edge Cloud (MEC), and Core applications used in EPC.
- Deploying vRAN components on x86 servers: We make sure that advanced scheduling, storage and networking requirements for RAN applications running on Kubernetes are fully automated. The application owners just need to specify what they need, Robin CNP makes sure it is achieved on the underlying infrastructure using advanced automation, placement rules and so on, enabling bare-metal performance with low latency and high throughput on the hardware where the RAN CU/DU workloads are deployed.
- Rapid instantiation of services: MEC applications can be deployed along with RAN CU, UPF, enterprise, or any edge application that needs to go in the edge data center. With Robin.io, operators can create a multi-tenant App-Store-like service portal to simplify the delivery and distribution of new apps to MEC.
- Stateless and complex-stateful workloads: Highly scalable 5G core that needs to run in the central data center is also taken care of with the storage and network use cases that are required for those applications. Operators can manage entire application stacks – cloud-native or non-cloud-native – on Kubernetes.
- Automation of virtual to cloud-native architecture: If the application vendor has a CNF (cloud-native network function) or VNF (virtual network function) that needs to run on the same platform at the same time, Robin.io can manage them. Application lifecycle management is also possible using Robin bundle or helm chart. All of this means operators and vendors can package applications in their own model and Robin.io will be able to run it.
Carrier-grade networking stack – built on open source CNIs
On the abstraction layer, Robin.io has Robin IPAM (IP address manager) using which users and administrators can create different IP-pools based on application requirements. So the IP pool can have an IP subnet range, mask, and gateway related to that specific network. The network in turn can be mapped to specific CNIs such as Calico, OVS, MACVLAN, and SRIOV – or AWS CNI or Azure CNI for public cloud deployments. For SRIOV, user can specify the drivers like Kernel-based driver, IAVF driver, IGB UIO driver, VFI or PCI driver for DPDK applications. Users can also specify additional settings on the IP pools, such as DNS routes NIC tags, and tenants.
Once the users create an IP pool, when they are ready to deploy the application, they can just specify the IP pool name for it.
Users can assign more than one IP pool to an application, whether it is a CNF or VNF. To have multiple IP addresses assigned for a CNF, multi-CNI support is built in the platform. Robin also supports DPDK or VPP for enhanced packet processing. Robin.io supports those libraries and the integration with the Kubernetes platform is seamless.
To summarize, in a telco data center, Robin.io can help set up an end-to-end stack connecting the top-of-rack switch all the way to the IP address management of an application. All of this is achieved through the carrier-grade networking stack that we built on top of open-source Kubernetes.
Read Part II