From 391882e22581f87819f72e69671fe2a43ab0b7c4 Mon Sep 17 00:00:00 2001 From: boneyard93501 Date: Fri, 1 Oct 2021 15:33:56 +0000 Subject: [PATCH] GitBook: [2.0.0] 3 pages and 6 assets modified --- .gitbook/assets/image (12).png | Bin 0 -> 60400 bytes .gitbook/assets/image (17).png | Bin 0 -> 83114 bytes ...(2) (2) (2).png => image (18) (1) (1).png} | Bin ...(2) (2) (2) (2).png => image (38) (2).png} | Bin SUMMARY.md | 1 + ...service-composition-and-reuse-with-aqua.md | 228 ++++++++++++++++++ quick-start/README.md | 2 +- 7 files changed, 230 insertions(+), 1 deletion(-) create mode 100644 .gitbook/assets/image (12).png create mode 100644 .gitbook/assets/image (17).png rename .gitbook/assets/{image (18) (1) (1) (2) (2) (2).png => image (18) (1) (1).png} (100%) rename .gitbook/assets/{image (38) (2) (2) (2) (2).png => image (38) (2).png} (100%) create mode 100644 quick-start/4.-service-composition-and-reuse-with-aqua.md diff --git a/.gitbook/assets/image (12).png b/.gitbook/assets/image (12).png new file mode 100644 index 0000000000000000000000000000000000000000..3ed78add0fa921ab11439dcd3dd610d5a0010517 GIT binary patch literal 60400 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 I@Et#M@vy{Rv(b! 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 DJtbqX literal 0 HcmV?d00001 diff --git a/.gitbook/assets/image (17).png b/.gitbook/assets/image (17).png new file mode 100644 index 0000000000000000000000000000000000000000..2f40113b30a806bffbd4c5ae99f5a36cfca163cd GIT binary patch literal 83114 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

=xrLnEVF{hgna|38IQzlX!A+#CA7(f9f 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 E0XzTx+W-In literal 0 HcmV?d00001 diff --git a/.gitbook/assets/image (18) (1) (1) (2) (2) (2).png b/.gitbook/assets/image (18) (1) (1).png similarity index 100% rename from .gitbook/assets/image (18) (1) (1) (2) (2) (2).png rename to .gitbook/assets/image (18) (1) (1).png diff --git a/.gitbook/assets/image (38) (2) (2) (2) (2).png b/.gitbook/assets/image (38) (2).png similarity index 100% rename from .gitbook/assets/image (38) (2) (2) (2) (2).png rename to .gitbook/assets/image (38) (2).png diff --git a/SUMMARY.md b/SUMMARY.md index af048a3..b74b71f 100644 --- a/SUMMARY.md +++ b/SUMMARY.md @@ -7,6 +7,7 @@ * [1. Browser-to-Browser](quick-start/1.-browser-to-browser-1.md) * [2. Hosted Services](quick-start/2.-hosted-services.md) * [3. Browser-to-Service](quick-start/3.-browser-to-service.md) + * [4. Service Composition And Reuse With Aqua](quick-start/4.-service-composition-and-reuse-with-aqua.md) * [Aquamarine](knowledge_aquamarine/README.md) * [Aqua](knowledge_aquamarine/hll.md) * [Marine](knowledge_aquamarine/marine/README.md) diff --git a/quick-start/4.-service-composition-and-reuse-with-aqua.md b/quick-start/4.-service-composition-and-reuse-with-aqua.md new file mode 100644 index 0000000..9fe3fe3 --- /dev/null +++ b/quick-start/4.-service-composition-and-reuse-with-aqua.md @@ -0,0 +1,228 @@ +# 4. Service Composition And Reuse With Aqua + +In the previous three sections, you got a taste of using Aqua with browsers and how to create and deploy a service. In this section, we discuss how to compose an application from multiple distributed services using Aqua. In Fluence, we don't use JSON-RPC or REST endpoints to address and execute the service, we use [Aqua](https://github.com/fluencelabs/aqua). + +Recall, Aqua is a purpose-built distributed systems and peer-to-peer programming language that resolves \(Peer Id, Service Id\) tuples to facilitate service execution on the host node without developers having to worry about transport or network routing. And with Aqua VM available on each Fluence peer-to-peer node, Aqua allows developers to ergonomically locate and execute distributed services. + +### Composition With Aqua + +A service is one or more linked WebAssembly \(Wasm\) modules that may be linked at runtime. Said dependencies are specified by a **blueprint** which is the basis for creating a unique service id after the deployment and initiation of the blueprint on our chosen host for deployment. See Figure 1. + +![](../.gitbook/assets/image%20%2812%29.png) + +When we deploy our service, as demonstrated in section two, the service is "out there" on the network and we need a way to locate and execute the service if w want to utilize he service as part of our application. + +Luckily, the \(Peer Id, Service Id\) tuple we obtain from the service deployment process contains all the information Aqua needs to locate and execute the specified service instance. + +Let's create a Wasm module with a single function that adds one to an input in the `adder` directory: + +```rust +#[marine] +fn add_one(input: u64) -> u64 { + input + 1 +} +``` + +For our purposes, we deploy that module as a service to three hosts: Peer 1, Peer 2, and Peer 3. Use the instructions provided in section two to create the module and deploy the service to three peers of your choosing. See `4-composing-services-with-aqua/adder` for the code and `data/distributed_service.json` for the \(Peer Id, Service Id\) tuples already deployed to three network peers. + +Once we got the services deployed to their respective hosts, we can use Aqua to compose an admittedly simple application by composing the use of each service into an workflow where the \(Peer Id, Service Id\) tuples facilitate the routing to and execution of each service. Also, recall that in the Fluence peer-to-peer programming model the client need not, and for the most part should not, be involved in managing intermediate results. Instead, results are "forward chained" to the next service as specified in the Aqua workflow. + +Using our `add_one` service and starting with an input parameter value of one, utilizing all three services, we expect a final result of four given **seq**uential service execution: + +![](../.gitbook/assets/image%20%2817%29.png) + +The underlying Aqua script may look something like this \(see the `aqua-script` directory\): + +```text +-- aqua-scripts/adder.aqua + +-- service interface for Wasm module +service AddOne: + add_one: u64 -> u64 + +-- convenience struct for (Peer Id, Service Id) tuples +data NodeServiceTuple: + node_id: string + service_id: string + +func add_one_three_times(value: u64, ns_tuples: []NodeServiceTuple) -> u64: + on ns_tuples!0.node_id: + AddOne ns_tuples!0.service_id + res1 <- AddOne.add_one(value) + + on ns_tuples!1.node_id: + AddOne ns_tuples!1.service_id + res2 <- AddOne.add_one(res1) + + on ns_tuples!2.node_id: + AddOne ns_tuples!2.service_id + res3 <- AddOne.add_one(res2) + <- res3 +``` + +Let's give it a whirl! Using the already deployed services or your even better, your own deployed services, let's compile out Aqua script in the `4-composing-services-with-aqua` directory: + +```text +aqua -i aqua-scripts -o compiled-aqua -a +``` + +We now can use `fldist` to run the above Aqua script compiled to the `compiled-aqua/adder.add_one_three_time.air`: + +```text +fldist run_air -p compiled-aqua/adder.add_one_three_times.air -d '{"value": 5, + "ns_tuples":[{ + "node_id": "12D3KooWFtf3rfCDAfWwt6oLZYZbDfn9Vn7bv7g6QjjQxUUEFVBt", + "service_id": "7b2ab89f-0897-4537-b726-8120b405074d" + }, + { + "node_id": "12D3KooWKnEqMfYo9zvfHmqTLpLdiHXPe4SVqUWcWHDJdFGrSmcA", + "service_id": "e013f18a-200f-4249-8303-d42d10d3ce46" + }, + { + "node_id": "12D3KooWFEwNWcHqi9rtsmDhsYcDbRUCDXH84RC4FW6UfsFWaoHi", + "service_id": "dbaca771-f0a6-4d1e-9af7-5b49368ffa9e" + }] + }' --generated +``` + +Since we are starting with a value of 5 and increment it three times, we expect an 8 which we get: + +```text +[ + 8 +] +``` + +Of course, we can drastically change our application logic by changing the execution flow of our workflow composition. In the above example, we executed each of the three services once in sequence. Alternatively, we could also execute them in parallel or some combination of sequential and parallel execution arms. + +Reusing our deployed services with a different execution flow may look like the following: + +```text +```aqua + +-- service interface for Wasm module +service AddOne: + add_one: u64 -> u64 + +-- convenience struc for (Peer Id, Service Id) tuples +data NodeServiceTuple: + node_id: string + service_id: string + +-- our app as defined by the worflow expressed in Aqua +func add_one_par(value: u64, ns_tuples: []NodeServiceTuple) -> []u64: + res: *u64 + for ns <- ns_tuples par: + on ns.node_id: + AddOne ns.service_id + res <- AddOne.add_one(value) + MyOp.identity(res!2) --< flatten the stream variable + <- res --< return the final results [value +1, value + 1, value + 1, ...] to the client +``` + +Unlike the sequential execution model, this example returns an array where each item is the incremented value, which is captured by the stream variable **res**. That is, for a starting value of five \(5\), we obtain \[6,6,6\] assuming our NodeServiceTuple array provided the three distinct \(Peer Id, Service Id\) tuples. + +Running the script with `fldist`: + +```text +fldist run_air -p compiled-aqua/adder.add_one_par.air -d '{"value": 5, + "ns_tuples":[{ + "node_id": "12D3KooWFtf3rfCDAfWwt6oLZYZbDfn9Vn7bv7g6QjjQxUUEFVBt", + "service_id": "7b2ab89f-0897-4537-b726-8120b405074d" + }, + { + "node_id": "12D3KooWKnEqMfYo9zvfHmqTLpLdiHXPe4SVqUWcWHDJdFGrSmcA", + "service_id": "e013f18a-200f-4249-8303-d42d10d3ce46" + }, + { + "node_id": "12D3KooWFEwNWcHqi9rtsmDhsYcDbRUCDXH84RC4FW6UfsFWaoHi", + "service_id": "dbaca771-f0a6-4d1e-9af7-5b49368ffa9e" + }] + }' --generated +``` + +We get the expected result: + +```text +[ + [ + 6, + 6, + 6 + ] +] +``` + +We can improve on our business logic and change our input arguments to make parallelization a little more useful. Let's extend our data struct and update the workflow: + +```text +-- aqua-scripts/adder.aqua + +data ValueNodeService: + node_id: string + service_id: string + value: u64 --< add value + +func add_one_par_alt(payload: []ValueNodeService) -> []u64: + res: *u64 + for vns <- payload par: --< parallelized run + on vns.node_id: + AddOne vns.service_id + res <- AddOne.add_one(vns.value) + MyOp.identity(res!2) + <- res +``` + +And we can run the `fldist` command line: + +```text +fldist run_air -p compiled-aqua/adder.add_one_par_alt.air -d '{"payload": + [{"value": 5, + "node_id": "12D3KooWFtf3rfCDAfWwt6oLZYZbDfn9Vn7bv7g6QjjQxUUEFVBt", + "service_id": "7b2ab89f-0897-4537-b726-8120b405074d" + }, + { "value": 10, + "node_id": "12D3KooWKnEqMfYo9zvfHmqTLpLdiHXPe4SVqUWcWHDJdFGrSmcA", + "service_id": "e013f18a-200f-4249-8303-d42d10d3ce46" + }, + { "value": 15, + "node_id": "12D3KooWFEwNWcHqi9rtsmDhsYcDbRUCDXH84RC4FW6UfsFWaoHi", + "service_id": "dbaca771-f0a6-4d1e-9af7-5b49368ffa9e" + }] + }' --generated +``` + +Given our input values \[5, 10, 15\], we get the expected output array of \[6, 11, 16\]: + +```text +[ + [ + 11, + 16, + 6 + ] +``` + +Alternatively, we can run our Aqua scripts with a Typescript client. In the `client-peer` directory: + +```text +npm i +npm run start +``` + +Which of course gives us the expected results: + +```text +created a Fluence client 12D3KooWGve35kvMQ8USbmtRoMCzxaBPXSbqsZxfo6T8gBAV6bzy with relay 12D3KooWKnEqMfYo9zvfHmqTLpLdiHXPe4SVqUWcWHDJdFGrSmcA +add_one to 5 equals 6 +add_one sequentially equals 8 +add_one parallel equals [ 6, 6, 6 ] +add_one parallel alt equals [ 11, 6, 16 ] +``` + +### Summary + +This section illustrates how Aqua allows developers to locate and execute distributed services on by merely providing a \(Peer Id, Service Id\) tuple and the associated data. From an Aqua user perspective, there are no JSON-RPC or REST endpoints just topology tuples that are resolved on peers of the network. Moreover, we saw how the Fluence peer-to-peer workflow model facilitates a different request-response model than commonly encountered in traditional client-server applications. That is, instead of returning each service result to the client, Aqua allows us to forward the \(intermittent\) result to the next service, peer-to-peer style. + +Furthermore, we explored how different Aqua execution flows, e.g. **seq**uential vs. **par**allel, and data models allow developers to compose drastically different workflows and application re-using already deployed services. For more information on Aqua, please see the [Aqua book](https://doc.fluence.dev/aqua-book/) and for more information on Fluence development, see the [developer docs](https://doc.fluence.dev/docs/). + diff --git a/quick-start/README.md b/quick-start/README.md index a0a64eb..57ea023 100644 --- a/quick-start/README.md +++ b/quick-start/README.md @@ -39,7 +39,7 @@ With Docker and VSCode in place: * When asked for volume, press enter \(unique\) * Open Terminal in VSCode \(ctrl-\`\) -![Installed And Ready Devcontainer in VSCode](../.gitbook/assets/image%20%2818%29%20%281%29%20%281%29%20%282%29%20%282%29%20%282%29.png) +![Installed And Ready Devcontainer in VSCode](../.gitbook/assets/image%20%2818%29%20%281%29%20%281%29.png) Congratulations, you now have a fully functional Fluence development environment. For a variety of container management options, click on the `Dev Container: Fluence` button in the lower left of your tool bar: