2 Background and Motivation
2.1 Decentralized Computing Infrastructure and Cloud
4 Detailed Design of DeFaaS and 4.1 Decentralized Scheduling and Load Balancing
4.2 Decentralized Event Distribution
4.3 API Registration and Access Control
4.5 Logging and Billing and 4.6 Trust Management
4.7 Supporting Multi-Cloud Service Mesh
5 Implementation and Evaluation
Because of all the advantages of using multi-cloud for Web3 and dApp software, we aim to analyze the design space and provide a general framework to support dApp and Web3 software in the context of a multi-cloud data center environment. The key requirements for a general-purpose multi-cloud data center-based environment for the dApp and Web3 applications are summarized as follows: (i) Cloud independent APIs. Cloud providers often develop specialized services that are mostly compatible only within their own ecosystem. Using FaaS and serverless computing as example, Gloo [Gloo([n. d.])] is an example framework to support application functions to be deployed in multi-cloud settings. Our endeavor can leverage these efforts to some degree. A fundamental challenge is that these prior or existing multi-cloud efforts focus on centralized setting for enterprise customers. It is often the case that they are not directly applicable to dApps or Web3 where there is no centralized orchestration or coordination entity. (ii) Adoption of standards. To support customers, cloud providers have been relying on well-established standards to achieve multi-cloud integration of services. For instance, the OpenAPI Specification (OAS) defines a standard, service provider independent, language-agnostic interface to RESTful APIs [Initiative(2021)]. In our case, for invoking dApp functions, instead of using cloud specific API gateways, it is a better option to use cloud agnostic API gateways fully compliant with the OpenAPI specification. (iii) Interoperability between cloud services and blockchains. One main challenge to provide general support of dApp and Web3 deployment in multi-cloud data centers is lack of interoperability between these two ecosystems, enterprise focused cloud ecosystem vs. blockchain centered Web3/dApp ecosystem. To provide some example, cloud and enterprise apply OAuth2 [Hardt(2012), Sheffer et al.(2020)] and OpenID [Sakimura et al.(2014)] for identity and authorization management. In the blockchain space, identities are managed using wallet accounts. These two incompatible identity realms can not interoperate with each other directly. It is necessary to develop a bridge solution that can map blockchain identities to the cloud identities. In addition, interoperability is required for access control and authorization process when blockchain users access to the services hosted in multi-cloud data centers. For instance, a blockchain user may access to a dApp using wallet account and Metamask client [MetaMask(2022)]. If the dApp requires authorization, a solution is needed to provide interoperability. (iv) Scalability. The framework should support scalable deployment of dApp and Web3 applications to multi-cloud data centers. Ideally, it should also support use of multi-blockchains. This can be achieved using cross-chain bridges (e.g., [Robinson(2021), Herlihy(2018), Pillai et al.(2022)]).
Authors:
(1) Rabimba Karanjai, Department of Computer Science, University of Houston ([email protected]);
(2) Lei Xu, Department of Computer Science, Kent State University;
(3) Lin Chen, Department of Computer Science, Texas Texh University;
(4) Nour Diallo, Department of Computer Science, University Of Houston;
(5) Weidong Shi, Department of Computer Science, University Of Houston.