Abstract:
The objective of this research is to implement an automated, user-oriented, decentralized
function as a service provider that replaces the existing centralized, single-authority FaaS
providers in a way that can address the weaknesses in the global cloud infrastructure related
to the serverless architecture. This refers to applications which heavily depends on third-party
services running on the most well-known vendor temporary containers (or FaaS). Existing
serverless architecture suffers from deficiencies such as vendor control, multi-tenancy issues,
vendor lock-in, security issues, lack of monitoring tools, difficulty managing granular activity,
and architectural complexity. The proposed system decentralizes granular functions across a
peer-to-peer network to provide decentralized FaaS. A granular function is an atomic function
with a single responsibility deployed on the Orb network. "Orb" is a peer-to-peer network of
peers (nodes) and super peers (Supernodes/Trackers). Node detection on the network is done
using the principles of "Satoshi Client Node Discovery". The user can register to the network
as a node or super node by installing the client or server software as required. A node
(represents a personal computer) provides the functionality of executing, deploying, and
hosting functions. Supernodes keep a record of peers, live Supernodes, host particulate
functions, and more. The user can apply an atomic particle function to the network through
the server software. For deployment, users are charged in cryptocurrency (Ether). The
payment form of "Orb'' is based on ether smart contracts that use blockchain technology. The
deployed function is sent to the Supernode and distributed across a network of peers across
the network to achieve enhancement, reliability, and integrity. The confidentiality of a
deployed function (a piece of code) is achieved through technologies such as private-key
public-key encryption, proper obfuscation, and containerization. Users can restrict access to
the function by keeping it private and opening it to a select group of users. For hosting a
function, the user is paid in "ether" depending on the number of requests served and the
uptime. When analyzing the response time by calling the function against an active set of peers
will provide the real time analytics data about the availability and reliability. In the long run,
“Orb” might support decentralized APIs.
Citation:
Tissera, S.K.N.U. (2022). Decentralized function as a service [Master's theses, University of Moratuwa]. Institutional Repository University of Moratuwa. http://dl.lib.uom.lk/handle/123/21595