Public cloud vendors will play a big role in the upcoming 5G + edge computing space. Customers will either use the public cloud directly for services that are not latency, bandwidth, or location sensitive, or use edge computing offerings from these same public cloud providers. The Aarna.ml Multi Cluster Orchestration Platform (AMCOP) can be used to orchestrate both cloud native network functions (CNF) and cloud native applications (CNA) on public clouds or edge cloud offerings from public cloud vendors.

As we know there are different types of clouds:

  • Public Clouds (such as Microsoft Azure AKS, GCP/GKE, AWS EKS)
  • Edge Cloud Offerings from Public Cloud Vendors (such as Microsoft Azure Edge Zones, Google Anthos, AWS Outposts/Wavelength)
  • Private Clouds (such as Kubernetes or OpenStack on Bare Metal Servers)
  • Hybrid Clouds (such as IBM Hybrid Clouds)

Out of these, we’ll only focus on the first two categories.

What is a CNF/CNA Orchestration?

CNFs are networking elements packaged as a set of cloud native microservices. CNAs are any arbitrary application (in our case edge computing applications) packaged as a set of cloud native microservices. These CNFs/CNAs need to have a “package” that describes how to orchestrate the application.

Before we orchestrate these CNFs/CNAs to edge clouds, AMCOP first needs to register each of the Kubernetes clusters. Next, each CNF/CNA package needs to be “onboarded”. Once this is complete, a user can construct network services (in the case of CNFs) or composite applications (in the case of CNAs) and orchestrate them to the right Kubernetes cluster based on placement intent. These clusters could be private, public or even hybrid, and can run in the same or different locations.

The way to interact to an Orchestrator is either through REST APIs, or through CLI, or through a Web Interface.

Figure 1: Block diagram of AMCOP

How Does a CNF Orchestration Setup Look Like?

Figure 2: High-Level Overview of a CNF Orchestration Setup

We have two Kubernetes (K8s) independent Clusters: one cluster is used for deploying AMCOP and on the right-hand side we have another set of clusters for CNFs (also called Edge/Target Clusters). For simplicity the diagram only shows one target cluster. Here are some common challenges faced on Public Clouds:

  • CNFs require multiple network interface for operation, most public K8s clouds do not offer this nor do they offer a way to install additional plugins such as Multus
  • We have to make sure that the clusters are not publicly accessible
  • Orchestration and the EDGE cluster should be on the same subnet

The below table shows what interoperability testing has been done between AMCOP and public clouds as of the date of writing this blog (Feb-2021).

Figure 3: Current state of compatibility of AMCOP with various public clouds

See a recording of the technical meetup that covered this topic in more depth along with a hands on demo. If you would like to replicate any of this work in your environment, please contact us.