This commit is contained in:
ycc
2025-01-21 09:17:27 +01:00
parent 91f5f44cea
commit 22e22b98b4
17 changed files with 136 additions and 34 deletions

View File

8
docs/WP/oc-accounting.md Normal file
View File

@@ -0,0 +1,8 @@
# Description
The oc-acounting service will aggregate billing information for each peer in a daily(TBC) basis.
Payment will b
# Requirements
*

4
docs/WP/oc-currencies.md Normal file
View File

@@ -0,0 +1,4 @@
# Description
The oc-currencies service is able to convert oc-coins current value to or from main currencies (€/$)
It allow to display real currency total cost in all user interfaces, and to update product with a real currency fixes price to the fluctuating oc-coin value

0
docs/WP/oc-deploy.md Normal file
View File

11
docs/WP/oc-own_usage.md Normal file
View File

@@ -0,0 +1,11 @@
# Description
The oc-own_usage service will monitor and store the consumption data for all the workflows initiated from our own OpenCloud instance.
The collected data will be accessible both in real time and for past workflows for the user that sent them and the allowed profiles in the current OpenCloud instance
Collected data will also be used to prevent abusive peers billing after a workflow execution.
# Requirements
* A user sending a workflow in a distributed environment shall be able to monitor it's resource consumption
* The resource consumption shall be available in both techical data (Storage/time,RAM/time,CPU/time) and monetary (coins / currency)
* The consumption information may filtered by peer, getting the full consumption data for each peer involved in the current workflow. This information may be use by the user to analyze/optimize its future workflows. it will aslo be used by the accounting system to check consistency between peers billing and monitored consumption.

14
docs/WP/oc-peer.md Normal file
View File

@@ -0,0 +1,14 @@
# Description
This component holds a database of all known peers.
It also performs the required operation when getting a new peer/group request :
* Shows peer identity/certificates
* Accept or reject a peer/group as partner
* Define allowed service
* Define visibility
* Create a dedicated namespace if allowed to use our Compute and quotas
* Define storage quotas
* Generate access keys for the services
* Returns the answer and interfacing data to the requester

13
docs/WP/oc-rates.md Normal file
View File

@@ -0,0 +1,13 @@
# Description
The oc-rates service define the applicable rates for services in our own OpenCloud instance
(data storage, RAM usage, CPU time, GPU time, HPC cluster execution, ...)
A default rate shall be defined for all public peers.
Peers/groups (project) having a specific agreement may benefit of custom rates
# Requirements
* An authorized user (specific permission) will be able to define default rates and specific peers rates.
* The default rates shall be accessible to every internal and external user.
* The custom rates shall be only accessible to users belonging to the relevant peer
*

View File

@@ -0,0 +1,11 @@
# Description
The oc-peers_usage service will monitor and store the consumption data of all the peers workflows involving our own OpenCloud instance.
The collected data will be accessible both in real time and for monitoring the current OpenCloud instance workflows in order to perform peers billing.
# Requirements
* The resource consumption shall be available in both techical data (Storage/time,RAM/time,CPU/time) and monetary (coins / currency)
* The resource consumption shall be available to the user that started a workflow/donwloaded data from our instance for the related items (related workflow(s) and data)
* The complete resource consumtion for a peer/group(project) shall be available to users granted with a specific permission
*

1
docs/WP/oc-sync.md Normal file
View File

@@ -0,0 +1 @@
This service offers realtime shared data synchronization between OpenCloud instances.

View File

@@ -220,6 +220,7 @@ class Storage {
"support" : "string"
}
Resource -- Owner
Resource <|- Data

View File

@@ -1,28 +0,0 @@
K8s Trex OK avec cloisonnement alpha
Vm rebond pour attaquer le HPC
2 managers au lieu dans le cluster
Déploiement Helm
Pas de helm,
1 seul namespace
pas d'accès au control plane
=> VCluster
Argo workflow
Contrat à rompre avec ATOS
=> à terme cluster dédié OpenShift
====================
Accès au cluster et tester
========
Compte opérateur de service qui possède les secrets dans le namespace

View File

@@ -43,7 +43,7 @@ To force routing information update :
bee generate routers
## GUI compoenents
## GUI components
The GUI are developped using Flutter framework

35
docs/glossary.md Normal file
View File

@@ -0,0 +1,35 @@
# Glossary
## Resource
An OpenCloud resource is an item that is shareable by any OpenCloud partner.
it may be :
* A data
* An algorithm
* A compute unit
* A storage facility
* A workflow refering to any of the previous items
## Catalog
The OpenCloud catalog contains a resource metadata list.
## Workspace
A workspace is a user selected set of resources.
## Workflow
A workflow is the processing of multiple resources.
## Service
A service is a deployment of permanent resources.
## Collaborative area
A collaborative area is an environment for shariung wokspaces / workflows / services between selected partners.
## Rule book

View File

@@ -1,11 +1,90 @@
# Introduction
OpenCloud is an open source distributed cloud solution.
It allows selectively sharing/selling/renting your infrastrucure resources (data, algorithm, compute, storage) with other OpenCloud peers.
It allows distributed workflow execution between partners.
Distributed execution in that peer to peer network can be organized depending on your own priorites :
- maximal sovereingty
- speed up calculation
- minimising production cost
- optimizing your infrasturcutre investments
* maximal sovereingty
* speed up calculation
* minimising production cost
* optimizing your infrasturcutre investments
OpenCloud provides an OpenId based distributed authentication system.
OpenCloud is a fully distributed solution, without any central organization or SPOF.
OpenCloud provides trnasaction tracking, for every partner to be aware of it's distributed resource consumption and ensure peer to peer billing.
OpenCloud provides transaction tracking, for every partner to be aware of it's distributed resource consumption and ensure peer to peer billing.
## Features
Every OpenCloud instance runs a set of services which allow users to interact with their own deployment and with also with other OpenCloud participants.
### Resource catalog
The catalog service references all the resources provided by the current instance : Data, Algorithms, Compute units, Storages and pre-built processing workflows.
All ressources are described by metadata, template is defined in the catalog_metadata document.
Catalog resources might be public i.e. visible to all OpenCloud peers, or only to selected partners/groups(project/entity,...).
Access to a resource itself might be subject to credentials, payment, or other access agreeemnt.
### Workspace management
Each OpenCloud user can use workspaces to select resources of interest.
Resources in a worlkspace might be used to later build a processing workflow or setup a new service.
Each user may define as many workspaces as required
### Workflow editor
Using selected element in workspace, a user may build a distributed processing workflow or permanent service.
A workflow might be built with the OpenCloud intragated workflow editor.
### Collaborative areas
OpenCloud allows to share workspaces and workflows between selected partners.
A collaborative area may define multiple area management and operation rules that might be enforced by automatic processes or human verifiation. (ex: use only open source component, forbid personal data, restrict results visibility, define legal limitations...)
### Peer management
OpenCloud allows define relationship with other peers and thus create multiple private communities.
Access right related to the other peers on a global peer scope or for specific groups within the other perr might be defined.
## Benefits
### Data location full control
OpenCloud encourages users to host their own data.
When external storage is required, OpenCloud allows the user toi carefully select the perfect partner and location to ensure privacy or any other concern.
### Cooperation framework
Opencloud in cooperation with Ekitia, provides a framework for sharing data and managing common workspaces and usage regulations. It allows to set up both technical and legal aspects of common distributed projects.
### Data Redundancy
As in a public cloud architecture, where data redundancy is provided natively, you can also use OpenCloud to provide data redundancy but with a more fine grained control.
### Not exclusive from a classic public cloud infrastructure
When your workload requires tremendous amount of storage or compute capability that even your OpenCloud partners can provide, you can still deploy an OpenCloud instance in any public cloud provider. This will allow you to scale easily if your workload is not sensitive to international competition.
### Fine grained access depending on partner
### Lightweight for datacenter as well as edge deployment
The Opencloud stack is developped using Go language, generating native code and minimal scratch containers. All the selected COTS used by openCloud services are also selected as much as possible according to these guidelines.
The objective is to be able to run an OpenCloud instance on almost any platform from a datacenter that could accept huge processing workflows to an ARM single board computer that would accept simple concurrent payloads for different customers and applications such as sensor preprocessing (image recognition, filtering...)
GUI are built in Flutter and generated as plain HTML/JS.
### Fully distributed
OpenCloud is fully distributed, there is no single point of failure.
There is no central administrator, there is no required central registration to use it. OpenCloud is thus resilient, any partner may enter or exit the community without affecting the global OpenCloud community.
### Open Source
In order to be trustable, OpenCloud is released in open source code.
Anyone can audit the existing code.
The code is published under AGPL V3 in order to prevent the emergence of obscure private forks exposed to the OpenCloud community.