From 4dca4b3a5154c6d411dd01ac54143eee7ce74d5a Mon Sep 17 00:00:00 2001 From: ycc Date: Sun, 11 May 2025 15:06:07 +0200 Subject: [PATCH] refactor --- docs/WP/oc-sync.md | 2 +- docs/WP/workflow_design.md | 1 + docs/opencloud_intro.md | 133 +++++++++++++++++++++++-------------- 3 files changed, 85 insertions(+), 51 deletions(-) diff --git a/docs/WP/oc-sync.md b/docs/WP/oc-sync.md index 2d4c8f6..2944abc 100644 --- a/docs/WP/oc-sync.md +++ b/docs/WP/oc-sync.md @@ -1 +1 @@ -This service offers realtime shared data synchronization between OpenCloud instances. \ No newline at end of file +This service offers realtime shared data synchronization between OpenCloud instances. \ No newline at end of file diff --git a/docs/WP/workflow_design.md b/docs/WP/workflow_design.md index 362d99c..decead1 100644 --- a/docs/WP/workflow_design.md +++ b/docs/WP/workflow_design.md @@ -68,3 +68,4 @@ Several S3 compatible storage may be used in a workflow A processing shall be connected to a computing link. +Argo volcano ? diff --git a/docs/opencloud_intro.md b/docs/opencloud_intro.md index fda7ef9..8f9ac16 100644 --- a/docs/opencloud_intro.md +++ b/docs/opencloud_intro.md @@ -1,90 +1,123 @@ # 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 -OpenCloud provides an OpenId based distributed authentication system. -OpenCloud is a fully distributed solution, without any central organization or SPOF. -OpenCloud provides transaction tracking, for every partner to be aware of it's distributed resource consumption and ensure peer to peer billing. +OpenCloud is an open-source, distributed cloud solution that enables you to selectively share, sell, or rent your infrastructure resources—such as data, algorithms, compute power, and storage with other OpenCloud peers. It facilitates distributed workflow execution between partners, allowing seamless collaboration across decentralized networks. + +Distributed execution within this peer-to-peer network can be optimized according to your own priorities: + +* **Maximal sovereignty** +* **Accelerated computation** +* **Cost minimization** +* **Optimized infrastructure investments** + +Each OpenCloud instance includes an OpenID-based distributed authentication system. +OpenCloud is entirely decentralized, with no central authority or single point of failure (SPOF). Additionally, OpenCloud provides transaction tracking, allowing all partners to be aware of their distributed resource consumption and ensuring transparent 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. +Each OpenCloud instance runs a collection of services that allow users to interact with both their own deployment and other OpenCloud participants. -### Resource catalog +### 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. +The **Resource Catalog** service indexes all the resources provided by the current instance, including **Data**, **Algorithms**, **Compute Units**, **Storages**, and pre-built **Processing Workflows**. +All resources are described by metadata, as defined in the `catalog_metadata` document. Catalog resources can be either **public**, visible to all OpenCloud peers, or **private**, accessible only to selected partners or groups (e.g., projects, entities, etc.). +Access to specific resources may require credentials, payment, or other access agreements. -### 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 +### Workspace Management -### Workflow editor +Each OpenCloud user can create **workspaces** to organize resources of interest. +Resources within a workspace can later be used to build processing workflows or set up new services. +Users can define as many workspaces as needed to manage their projects efficiently. -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 +### Workflow Editor -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...) +Using elements selected in a workspace, a user can build a **distributed processing workflow** or establish a **permanent service**. +Workflows are constructed with OpenCloud's integrated workflow editor, offering a user-friendly interface for defining distributed processes. -### 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. +### Collaborative Areas + +OpenCloud enables the sharing of **workspaces** and **workflows** with selected partners, enhancing collaborative projects. +A **Collaborative Area** can include multiple management and operation rules that are enforced automatically or verified manually. Examples include: + +* Enforcing the use of only open-source components +* Restricting the inclusion of personal data +* Defining result visibility constraints +* Imposing legal limitations + +--- + +### Peer Management + +OpenCloud allows you to define relationships with other peers, enabling the creation of private communities. +Access rights related to peers can be managed at a **global peer scope** or for **specific groups** within the peer community. + +--- ## Benefits -### Data location full control +### Complete Control Over Data Location -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. +OpenCloud encourages users to host their own data. +When external storage is necessary, OpenCloud enables users to carefully select partners and locations to ensure privacy, compliance, and performance. -### 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. +### Cooperation Framework + +OpenCloud provides a structured framework for sharing data, managing common workspaces, and defining usage regulations. +This framework covers both **technical** and **legal aspects** for 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. +Like traditional public cloud architectures, OpenCloud supports **data redundancy** but with finer-grained control. +You can distribute your data across multiple OpenCloud instances, ensuring availability and resilience. -### 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. +### Compatibility with Public Cloud Infrastructure -### Fine grained access depending on partner +When your workloads require massive storage or computational capabilities beyond what your OpenCloud peers can provide, you can seamlessly deploy an OpenCloud instance on any public cloud provider. +This hybrid approach allows you to scale effortlessly for workloads that are not sensitive to international competition. +--- +### Fine-Grained Access Control -### Lightweight for datacenter as well as edge deployment +OpenCloud provides **fine-grained access control**, enabling you to precisely define access policies for partners and communities. -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...) +### Lightweight for Datacenter and Edge Deployments -GUI are built in Flutter and generated as plain HTML/JS. +The OpenCloud stack is developed in **Go**, generating **native code** and minimal **scratch containers**. All selected COTS (Commercial Off-The-Shelf) components used by OpenCloud services are chosen with these design principles in mind. +The objective is to enable OpenCloud to run on almost any platform: -### Fully distributed +* In **datacenters**, supporting large-scale processing workflows +* On **ARM-based single-board computers**, handling concurrent payloads for diverse applications like **sensor preprocessing**, **image recognition**, or **data filtering** -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. +GUIs are built with **Flutter** and rendered as plain **HTML/JS** for lightweight deployment. +--- -### Open Source +### Fully Distributed Architecture -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. +OpenCloud is fully decentralized, eliminating any **single point of failure**. +There is no central administrator, and no central registration is required. This makes OpenCloud highly **resilient**, allowing partners to join or leave the network without impacting the broader OpenCloud community. + +--- + +### Open Source and Transparent + +To foster trust, OpenCloud is released as **open-source software**. +Its code is publicly available for audit. The project is licensed under **AGPL V3** to prevent the emergence of closed, private forks that could compromise the OpenCloud community's transparency and trust.