banner
0xjokereven

0xjokereven

All is for consistent
twitter
github
pixiv
jike
medium

Fluence Cloudless Functionality

Fluence Cloudless Function is a decentralized serverless solution deeply rooted in the decentralized physical infrastructure (DePin) paradigm. Compared to most serverless solutions, Fluence Cloudless Function allows you to achieve more functionality with less code, without worrying about the underlying infrastructure. Unlike centralized cloud providers, Cloudless Function allows you to choose capacity providers (such as data centers) from the market on demand, customizing the availability, performance, service level agreements (SLAs), and budget requirements of your serverless infrastructure according to your application needs. Due to its DePin foundation, Cloudless Function can scale at a very low cost without sacrificing performance and service levels. In addition, Cloudless Function also supports proof systems for function execution, such as Proof of Execution (PoE) and Proof of Correctness (PoP), which revolutionize various audits and accurate billing.

In summary, to make Fluence Cloudless Function useful for you, you need to complete four basic steps:

  1. Compile your business logic into Marine Wasm to create and manage your compute functions.
  2. Create Aqua scripts to orchestrate the compute functions.
  3. Create a developer proposal to package your compute artifacts and deployment requirements.
  4. Submit the developer proposal to the market for matching.

Cloudless Function is available on a runtime called Marine, with more runtimes under development, providing high-performance, available, and portable compute functions across capacity providers. In addition, Aqua allows you to orchestrate compute functions into cloudless deployments.

Once you have written your business logic in Rust and compiled it to the wasm-wasi target, you can create your cloudless deployment by simply specifying the cloudless distribution (i.e., the number of function instances, duration, resource types such as CPU and RAM, location, etc.) and the developer proposal, in which you can specify the resource fees and deployment costs you are willing to pay.

Business logic written in Rust
Compiled to wasm32-wasi
Token purchase
Deployment specifications
Willingness to pay
Hosted payment
Send matching capacity providers
Match proposal
Match proposal
Match proposal
Host and execute deployment
Host and execute deployment
Host and execute deployment
Provider proposal
Compute market
Developer
Code
Compute function
Cloudless deployment
Payment gateway
Cloudless distribution
Developer proposal
Capacity provider_1
Capacity provider_2
Capacity provider_k

Figure 1: Fluence Cloudless Development and Deployment Process Diagram

Before submitting a deployment, you need to obtain FLT and USDC tokens from a (fiat currency) gateway provider. The USDC tokens are used for hosting during each deployment and periodically compensating capacity providers with valid proof of execution to demonstrate the correct execution of the cloudless functions (including CPU and memory models, execution time, data payload, etc.).

Of course, during development on the testnet, you can request enough testnet tokens tFLT and tUSDC for free to support your development work.

Information
To launch the Fluence mainnet, billing follows an epoch model called the subscription model, rather than an execution-based model. This means that you pay capacity providers for hosting your deployments for a certain period of time, regardless of the number of executions or load. This is a temporary limitation.

An important part of the Fluence Cloudless Function developer experience is the Fluence CLI, which supports all aspects of development and deployment required for creating and managing cloudless applications.

Comparative positioning
In terms of functionality and development, Cloudless Function is very similar to other serverless solutions such as AWS Lambda, Azure Functions, and Google Cloud Functions. Unlike centralized serverless cloud providers, Fluence Cloudless Function leverages the power and portability of Wasm to provide a high-performance compute runtime that is hosted and executed in a customizable, highly available capacity grid, eliminating single points of failure, access control, high exit barriers, and excessive leasing. See Table 1.

Table 1: High-level serverless provider comparison

Fluence Lambda AWS Lambda Azure Functions Google Cloud Functions
Runtime Wasm, more coming soon Multiple Multiple
Languages Rust, more coming soon Multiple Multiple
Workflow management Aqua Step Functions Azure Logic App
Orchestration √ √ √
Endpoint access P2P or HTTP gateway HTTP HTTP
Capacity (data centers) Transparent and optional Black box Black box
CLI Fluence CLI AWS CLI Azure CLI, Azure PowerShell

Unlike centralized cloud providers, the Fluence protocol enables an open, permissionless peer-to-peer network and compute market, facilitating crowdsourcing of (data center) capacity. Undoubtedly, the Fluence network is supported by a large number of Tier 4 data centers with top-tier CPU and RAM configurations and highly competitive service level agreements. The Fluence compute market is based on Inter-Planetary Consensus (IPC), a modern high-performance PoS blockchain compatible with EVM.

While developers can ignore the complexity of the peer-to-peer network, including network security solutions such as DDoS and other attack prevention or mitigation solutions, one notable difference between the Fluence protocol and other serverless solutions is that the Fluence network fundamentally does not support HTTP request and response calls. Function orchestration happens at the peer-to-peer level. However, this can be easily addressed using existing Fluence solutions at the network entry and exit points, such as HTTP gateways.

Use cases
Due to its on-demand, scalable, and pay-per-execution model, serverless computing is inherently suitable for event-driven architectures and systems. Some of the use cases supported by Fluence Cloudless Function are summarized in Table 2.

Table 2: Example use cases for Fluence Lambda

Type Application
Data processing Data preparation and processing
Process control Task scheduling
Messaging Sending notifications
API Mobile and web applications
Serverless workflows Orchestrating and composing functions

In conclusion, Fluence Cloudless Function supports all the event and time-triggered serverless development you are accustomed to.

Loading...
Ownership of this post data is guaranteed by blockchain and smart contracts to the creator alone.