Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs: added entries to glossary #1178

Merged
merged 6 commits into from
Aug 1, 2023
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
61 changes: 57 additions & 4 deletions .docs/content/0.armonik/1.glossary.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
# Glossary

Here is an alphabetically sorted list to help you understand every term you might encounter in the ArmoniK project:

## ActiveMQ
Open source message broker written in Java used as the jobs queue database.
ngruelaneo marked this conversation as resolved.
Show resolved Hide resolved

## CLA
Contributor License Agreement, Contribution agreement in the form of a license that everyone contributing to a given project must sign. One CLA is to be signed per repository.
ngruelaneo marked this conversation as resolved.
Show resolved Hide resolved

## Client

User-developed software that communicates with the ArmoniK Control Plane to submit a list of tasks to be executed (by one or several workers) and retrieves results and error.
Expand All @@ -26,33 +34,70 @@ Input data for a given task that depends on another unique task. Data dependenci

Expression designating the set of software components running the various storage and database systems within ArmoniK.

## Kubernetes
## Fluentbit
Log and metrics monitoring tool, optimized for scalable environments.
For more information, check [Fluentbit's documentation](https://docs.fluentbit.io/manual)

## HPA
Horizontal Pod Autoscaler : a Kubernetes module to automatically update the workload to balance the resources/tasks ratio as much as possible.
ngruelaneo marked this conversation as resolved.
Show resolved Hide resolved

## KEDA

Kubernetes Event-driven Autoscaler : this component is in charge of deploying containers according to events and payloads. Like the name implies, it can scale up or down.
For more information, check [KEDA's documentation](https://keda.sh/docs/)

## Grafana

Data visualization web application.
For more information, check [Grafana's documentation](https://grafana.com/docs/)

## gRPC

Open source framework capable of running on different platforms, computer or server, and can communicate between these different environments . Remote Procedure Call was made by Google originally.
For more information, check [gRPC's website](https://grpc.io/docs/)

## Ingress

API object that manages external access to the services in a cluster, typically HTTP. Ingress may provide load balancing, SSL termination and name-based virtual hosting.
ngruelaneo marked this conversation as resolved.
Show resolved Hide resolved

## Kubernetes

Kubernetes is an open source container orchestration engine for automating deployment, scaling and management of containerized applications. The open source project is hosted by the Cloud Native Computing Foundation ([CNCF](https://www.cncf.io/about)) (see Kubernetes [documentation](https://kubernetes.io/docs/home/#:~:text=Kubernetes%20is%20an%20open%20source,and%20management%20of%20containerized%20applications.)).
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ce lien ne devrait pas fonctionner


## MongoDB

MongoDB is a document database designed for ease of application development and scaling (see MongoDB [documentation](https://www.mongodb.com/docs/manual/)).
MongoDB is a document database designed for ease of application development and scaling
For more information, check [MongoDB's documentation](https://www.mongodb.com/docs/manual/).

## Node

In the context of Kubernetes, a node is a machine that runs containerized workloads as part of a Kubernetes cluster. A node can be a physical or virtual machine hosted in the cloud or on-premise.

## NuGet

The name can be used to refer to the **package manager** using the .NET framework or the **packages** themselves. These packages contain code from other developers that you may download and use.
For more information, check the [NuGet documentation](https://learn.microsoft.com/en-us/nuget/)

## Partition

Logical segmentation of the Kubernetes cluster's pool of machines to distribute workloads according to usage. This feature is provided and handled by ArmoniK.

## Payload

Input data for a task that does not depend on any other task.
Input data for a task that does not depend on any other task. It contains data, the task itself, and metadata, the state of the task.

## Pod

Pods are the smallest deployable units of computing that one can create and manage in Kubernetes. A Pod is a group of one or more containers, with shared storage and network resources and a specification for how to run the containers. A Pod's contents are always co-located and co-scheduled and run in a shared context. A Pod models an application-specific "logical host": it contains one or more application containers which are relatively tightly coupled (see Kubernetes [documentation](https://kubernetes.io/docs/concepts/workloads/pods/)).

## Polling agent

Former term for scheduling agent.
Former name of the scheduling agent.

## Prometheus

Toolkit that collects and stores time series data from the different systems. These data can be visualized with Grafana for monitoring.
For more information, check [Prometheus documentation](https://prometheus.io/docs/introduction/overview/)

## Redis

Expand All @@ -66,6 +111,11 @@ Containerized software cohabiting with a worker within a pod, running a specific

A session is a logical container for tasks and associated data (task statut, results, errors, etc). Every task is submitted within a session. An existing session can be resumed to retrieve data or submit new tasks. When a session is cancelled, all associated executions still in progress are interrupted.
ngruelaneo marked this conversation as resolved.
Show resolved Hide resolved

## Seq

Logs aggregator software. Used in ArmoniK to determine the status of tasks and identify errors in the Control Plane if they occur.
For more information, check [Seq's documentation](https://docs.datalust.co/docs)

## Submitter

Containerized software in charge of submitting tasks, i.e., writing the corresponding data to the various databases (queue, Redis and MongoDB).
Expand All @@ -77,3 +127,6 @@ Atomic computation taking one or several input data and outputting one or severa
## Worker

User-developed containerized software capable of performing one or several tasks depending on its implementation. A worker can simply take input data and perform calculations on it to return a result. A worker can also submit new tasks that will be self-performed, or by different workers, other instances of itself.

## Workload
Set of computational tasks
Loading