Skip to content

Technical Lexicon

Below are concepts and terms utilized throughout the Margo Specification along with their associated description/definition.

Concepts

Interoperability

Interoperability is an overloaded term that has different meanings depending on the context. For Margo, interoperability is about achieving the following:

Orchestration

Orchestration is an overloaded term that has different meanings depending on the context. For Margo, orchestration is about the deployment of Workloads and device software updates to Margo-compliant Edge Compute Devices via Margo-compliant fleet management software. Margo depends on container orchestration platforms such as Kubernetes, Docker and Podman existing on the Edge Compute Devices and is not an attempt to duplicate what these platforms provide.

Fleet Management

Fleet Management represents a concept or pattern that enables users to manage one to many set of workloads and devices the customer owns. Many strategies exist within fleet management such as canary deployments, rolling deployments, and many others. Below are two fleet management concepts that have been adopted by Margo.

State Seeking

The state seeking methodology, adopted via Margo, is enabled first by the Workload Fleet Manager when it establishes the "Desired state". The Edge Device then reconciles it's "Current state" with the "Desired state" provided by the Fleet Manager and reports the status.

Provider Model

The provider model within Margo describes a service that is able to orchestrate or implement the desired state within the Edge Device. Current providers supported:

  • Helm Client
  • Compose Client

Technical Terms

Application

An application is a collection of one, or more, Components, as defined by an Application Description, and bundled within an application package.

Application Package

An Application Package is used to distribute an application. According the specification, it is a folder in a Git repository referenced by URL, which contains the Application Description (that refers to contained and deployable Components) as well as associated resources (e.g., icons).

Component

A Component is a piece of software tailored to be deployed within a customer's environment on an Edge Compute Device. Currently Margo-supported components are:

  • Helm Chart
  • Compose Archive

Workload

A Workload is an instance of a Component running within a customer's environment on a Edge Compute Device.

Edge Compute Device

Edge Compute Devices are represented by compute hardware that runs within the customer's environment to enable the system with Margo Compliant Workloads. Edge Compute Devices host the Margo compliant management agents, container orchestration platform, and device operating systems. Margo Edge Compute Devices are defined by the roles they can facilitate within the Margo Architecture. Supported Device roles are shown below:

  • Standalone Cluster(Leader and/or Worker)
  • Cluster Worker
  • Standalone Device

Workload Fleet Manager

Workload Fleet Manager (WFM) represents a software offering that enables End Users to configure, deploy, and manage edge Workloads as a fleet on their registered Edge Devices.

Application Registry

An Application Registry holds Application Packages. It is used by developers to make their applications available. An Application Registries MUST be a Git repository.

Workload Fleet Managers cannot access Application Registries directly, they can only access Application Catalogs.

Application Catalog

An Application Catalog holds Application Packages that were preselected to be install-ready for the edge environment of a Workload Fleet Manager to deploy them to managed Edge Compute Devices.

An Application Catalog obtains the offered Applications from one or more Application Registries.

Component Registry

A Component Registry holds Components (e.g., Helm Charts and Compose Archives) for Application Packages. When an application gets deployed through a Workload Fleet Manager, the components (linked within an Application Description) are requested from the Component Registry.

This can be implemented, for example, as an OCI Registry.

Workload Fleet Management Client

The Workload Fleet Management Agent is a service that runs on the Edge Compute Device which communicates with the Workload Fleet Manager to receive Components that will be instantiated as Workloads and configurations to be applied on the Edge Compute Device.

Device Fleet Manager

Device Fleet Manager (DFM) represents a software offering that enables End Users to onboard, delete, and maintain Edge Compute Devices within the ecosystem. This software is utilized in conjunction with the Workload Fleet Manager software to provide users with the features required to manage their Edge Device along with Workloads running on them.

Device Fleet Management Client

The Device Fleet Management Agent is a service that runs on the Edge Compute Device which communicates with the Device Fleet Manager to receive device configuration to be applied on the Edge Compute Device.

Workload Marketplace

Workload Marketplace is the location where end users purchase the rights to access Workloads from a vendor.

Functional Requirements of the Workload Marketplace:

  • Provide users with a list of Workloads available for purchase
  • Enable users to purchase access rights to a Workload
  • Enable users with the meta data to access associated Workload Registries/Repositories

Note: The Workload Marketplace component is out of scope for Project Margo. However, it is necessary to define to clarify the full user workflow.