Cross Domain Orchestration

Status: Draft

Sponsor User: IBM Ireland / NEPHELE (Horizon Europe funded project) 

Date of Submission: Aug 12, 2024 edit to show today's date

Submitted by: Sofiane Z.

Affiliation(s):  IBM Ireland

<Please fill out the above fields, and the Overview, Design and User Experience sections below for an initial review of the proposed feature.>

Scope and Signoff: (to be filled out by Chair)

Overview

The NEPHELE project is an EU funded project that aims to enable synergetic meta orchestration for hyper distributed applications. These applications are envisioned to be deployed on a Cloud-to-Edge-to-IoT continuum. Support for the entire lifecycle of such distributed applications, including the orchestration of micro-services on multi-domain, multi-provider infrastructure needs to be ensured.

In the context of the NEPHELE project, we intend to build a cross domain orchestration layer, that sits on top of underlaying multi-cluster orchestration solutions such as Open Horizon, KARMADA, and others.

we are seeking to leverage the policies + AgBot mechanism of Open Horizon to enable (i) a formal way to represent a distributed application’s intents in the format of policies documents, (b) the translation of the distributed application policies into lower level service /deployment policies that describe constraints and properties of individual services / workloads. In addition, in the case of a multi-cluster orchestration solutions other than Open Horizon, (c) the AgBot negotiation process to be performed at the cross domain orchestration layer. 

 

Design

The Open Horizon policy mechanism allows the description of the rules that govern the Hyper Distributed Application deployment. Node policies mainly describe the properties of each node, while the deployment / service polices are used to represent the constraints that each of the services must adhere to and respect. 

The AgBot mechanism will be used where the underlaying multi-cluster orchestrator does not support the negotiation of resources. The negotiation process will enable matching those services while respecting the constraints, with nodes that possess the right properties.

The cross domain orchestration layer will feature connector plugins for each underlying multi-cluster orchestration solution, and will consume its Northbound API. The following figure describes the cross domain orchestration layer and integration with Open Horizon. 

User Experience

The solution seeks to integrate Open Horizon into a workflow of cross domain orchestration, and enable the expression of higher level intents for hyper distributed applications. Open Horizon will be integrated as is, and no changes will be made to its components. concepts and mechanisms such as policies and the AgBot negotiation, will be forked from the Open Horizon project. 

 

Command Line Interface

There will be no changes to the open Horizon CLI. The proposed solution will consume the northboud API or the CLI of Open Horizon.

 

External Components

The proposed solution is external to Open Horizon. All of the Cross Domain Orchestration Layer with the proposed components will be independent from the instance(s) of Open Horizon. 

 

Affected Components

The proposed solution is independent from Open Horizon. The solution does not foresee any changes to Open Horizon components. 

 

Security

<Describe any related security aspects of the solution. Think about security of components interacting with each other, users interacting with the system, components interacting with external systems, permissions of users or components>

 

APIs

There will be no changes to the open Horizon APIs. The proposed solution will consume the northboud API or the CLI of Open Horizon.

 

Build, Install, Packaging

<Describe any changes to the way any component of the system is built (e.g. agent packages, containers, etc), installed (operators, manual install, batch install, SDO), configured, and deployed (consider the hub and edge nodes).>

 

Documentation Notes

<Describe the aspects of documentation that will be new/changed/updated. Be sure to indicate if this is new or changed doc, the impacted artifacts (e.g. technical doc, website, etc) and links to the related doc issue(s) in github.>

 

Test

<Summarize new automated tests that need to be added in support of this feature, and describe any special test requirements that you can foresee.>