diff --git a/.gitbook/assets/logo-lambda.png b/.gitbook/assets/logo-lambda.png new file mode 100644 index 0000000..88f5e9d Binary files /dev/null and b/.gitbook/assets/logo-lambda.png differ diff --git a/.gitbook/assets/logo-vm.png b/.gitbook/assets/logo-vm.png new file mode 100644 index 0000000..50d78b7 Binary files /dev/null and b/.gitbook/assets/logo-vm.png differ diff --git a/README.md b/README.md index 229f42d..05103aa 100644 --- a/README.md +++ b/README.md @@ -25,6 +25,7 @@ ORBS-V3 - layer3, brings two main features to its decentralized network: ORBS-VM ![](./.gitbook/assets/aws-orbs.jpg) ## **ORBS VM** - Decentralized Docker-Based Virtual Machine + - Dedicated decentralized virtual machine, similar in concept to AWS EC2 - but decentralized. @@ -38,6 +39,8 @@ ORBS-V3 - layer3, brings two main features to its decentralized network: ORBS-VM ## **ORBS-Lambda** - Decentralized Serverless Cloud Function + + - ORBS-Lambda is in fact an instance of ORBS-VM running on ORBS-V3 network. It is an event driven, serverless and decentralized computing solution, similar in concept to AWS Lambda - but decentralized. diff --git a/SUMMARY.md b/SUMMARY.md index 6441d03..a416ea3 100644 --- a/SUMMARY.md +++ b/SUMMARY.md @@ -9,6 +9,7 @@ * [dockerfile](orbs-vm/docker-file.md) * [healthcheck](orbs-vm/health-check.md) * [status](orbs-vm/status.md) +* [deploy](orbs-vm/deploy.md) ## orbs-lambda diff --git a/orbs-vm/best-practice.md b/orbs-vm/best-practice.md deleted file mode 100644 index 48b5bfa..0000000 --- a/orbs-vm/best-practice.md +++ /dev/null @@ -1,20 +0,0 @@ -# best practice - -## intro -All docker images can run on orbs network, but they need to be slightly adjusted to be able to run smoothly on the network - -## cpu architecture - -## storage & load - -## cpu consumption - -## orchestration - -## contract with swarm - -It must maintain a [dockerfile HEALTHCHECK](https://docs.docker.com/engine/reference/builder/) and may benefit from orbs [status page](http://status.orbs.network), with its own representation, if maintains a status.json file according to a certain format. - - - - diff --git a/orbs-vm/deploy.md b/orbs-vm/deploy.md new file mode 100644 index 0000000..eb31060 --- /dev/null +++ b/orbs-vm/deploy.md @@ -0,0 +1 @@ +# ORBS-VM deploy \ No newline at end of file diff --git a/orbs-vm/get-started.md b/orbs-vm/get-started.md new file mode 100644 index 0000000..f893be3 --- /dev/null +++ b/orbs-vm/get-started.md @@ -0,0 +1,32 @@ +# ORBS-VM Get Started +All docker images can run on orbs network, but they need to be slightly adjusted to be able to run smoothly on the network. + +## Docker image Prerequistis and Specs and Best Practice + +### CPU architecture +- Currently all ORBS permissionless nodes are running on x64-86 cpu architecture platforms +- Make sure you build your docker image to support this architecture for the least + +### Storage +- Orbs nodes are not designed to support big disk with big of data storage. +- Most of ORBS nodes are 50-100 GB Disk size. +- If you Docker container is going to use lots of disk space, ORBS-VM might not be the right choice. + +### Load and CPU consumption +- Make your Docker image app as moderate cpu consumer as possible as your instance shares CPU time iwth ORBS core containers and other ORBS-VM instances. +- Try to design your app to perform actions periodically in order to yield cpu consumption between executions. +- Avoid long computation loops and actions which may take cpu time for human notable periods. +- Avoid heavy IO operations that make take too long e.g writing and loading Huge JSON files to disk. + +### orchestration + +### contract with swarm + +### communication and ports + +It should maintain a [dockerfile HEALTHCHECK](https://docs.docker.com/engine/reference/builder/) and may benefit from orbs [status page](http://status.orbs.network), with its own representation, if maintains a status.json file according to a certain format. + + + + + diff --git a/orbs-vm/introduction.md b/orbs-vm/introduction.md index fba990f..9842d10 100644 --- a/orbs-vm/introduction.md +++ b/orbs-vm/introduction.md @@ -1,19 +1,26 @@ -# orbs-vm introduction +# ORBS-VM introduction -## why use orbs-vm? -- some logic is too hard to implement on smart contracts on any platform -- smart contract can not trigger calls to themselves -- interaction between several blockchain -- decentralized backend complementry to your dapp smart contracts +## Why use ORBS-VM? +- Some logic is too hard to implement on smart contracts in any blockchain. +- Implementing this login outside the blockchain is centralized. +- Smart contract can not trigger calls to themselves. +- Interaction between several blockchain. +- Maintain fast cache logic. +- Decentralized backend complementry to your dapp smart contracts. -## how does it work -- wrap your entire logic on a single docker image -- push it to a public repo -- open a pull request in v3-orbs-vm github repo -- once authorized - you container is gradually deployed to the orbs-network. +> Please note that ORBS-VM should be chosen only if ORBS-Lambda does not fulfill your dapp's requirement, As ORBS_Lambda is much easier to set up and maintain. -## advantage use orbs-vm +## keypoints using ORBS-VM - It can benefit from running on a decentralized permissionless network. - your container is always UP so long the network is alive -- it can enjoy ORBS concensus decisions and data, for instace, which orbs-node with orbs-vm performs the next action, or split the computed data amongst several nodes to distribute computation. +- it can enjoy ORBS concensus decisions and data, for instace, which orbs-node with ORBS-VM performs the next action, or split the computed data amongst several nodes to distribute computation. + +## how does it work +You may get your dapp logic to run on as an ORBS-VM in a very few steps: + +- Wrap your entire logic on a single docker image +- Push it to a public docker repo repo such as [https://hub.docker.com/](dockerhub) +- Open a pull request in v3-ORBS-VM github as described [here](./deploy.md) +- You container is gradually deployed to the orbs-network. +