oc-doc/docs/opencloud_intro.md

91 lines
4.8 KiB
Markdown
Raw Normal View History

2025-01-21 09:17:27 +01:00
# Introduction
2024-12-10 18:01:58 +01:00
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 :
2025-01-21 09:17:27 +01:00
* maximal sovereingty
* speed up calculation
* minimising production cost
* optimizing your infrasturcutre investments
2024-12-10 18:01:58 +01:00
OpenCloud provides an OpenId based distributed authentication system.
OpenCloud is a fully distributed solution, without any central organization or SPOF.
2025-01-21 09:17:27 +01:00
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.