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
The future of Internet [Bambacht and Pouwelse(2022)] will be likely supported by both decentralized ICT infrastructures like computation and storage resources contributed by volunteers [Nouman Durrani and Shamsi(2014)] and managed ICT infrastructures like general-purpose computing resources provided by the cloud service providers.
Although the market has yet to see widespread adoption of these volunteer-based computing infrastructures (e.g., [iEXEC(2017), Network(2016), SONM(2017), Hanke et al.(2018)]), one may argue that they hold great potential to be part of the foundation to support more decentralized infrastructure for today’s and future Web applications. On the other hand, there is a rapidly growing adoption of the cloud by the dApp community. For example, 65% of Ethereum validator nodes are hosted in data centers. Of these nodes, 69% are using three cloud providers. In some blockchains, like Solana, 95% of the nodes are hosted in data centers. Some Oracle-oriented dApp platform like API3, recommends their users to run Oracle dApp in the cloud using service like AWS lambda.
Hosting decentralized applications and computing tasks in multi-cloud environment requires a new control and orchestration layer that effectively harness the resources of cloud data centers and at the same time minimize the risks of centralization.
Deploying dApp and Web3 software to multiple cloud data centers brings many advantages. Typical benefits of deploying Web3 and dApp software to multi-cloud data centers include avoiding vendor lock-in, improved resilience/availability, increased diversity and better cyber security posture, better performance/scalability, optimized overall cost, and enhanced adherence to the principle of decentralization.
Avoid vendor lock-in. Lacking a standardized approach, it often might be impossible for dApp developers to deploy and migrate dApps across clouds and avoid vendor lock-in. A multi-cloud deployment capable system for dApps gives them flexibility and reliability.
Improved resilience and availability. Having dApp and Web3 applications deployed to multi-cloud data centers can increase the availability of the applications to regional users and customers, for instance, Web3 social media applications.
Increased diversity and cyber security posture. Applications hosted in cloud data centers are subject to the whim of the service providers. Although there are service level agreements (SLA) that are designed to provide assurance, SLA for Web3/dApps is still in its infancy. The existing SLA framework for enterprise customers may not be best suited for blockchain and Web3. To ensure continuity of operation, the adoption of multi-cloud for dApps/Web3 is a better approach to reduce exposure to risks.
Better performance and scalability. One provider’s data centers may be configured or setup to support certain applications or type of workload better than other providers. Deploying over multi-cloud data centers will give more options to the Web3/dApp developers to optimize performance across geo-distributed data centers based on the unique requirements of the applications. Multi-cloud data center deployment can provide more opportunities to optimize performance by globally managing access to different providers’ offerings of resources for dApps and Web3 applications.
Optimized overall cost. Different cloud service providers have different billing schemes for services. The total cost of a dApp or Web3 application depends on the cloud specific fee models when deployed in different cloud data centers. For running FaaS, the cost depends not only on the number of requests as well as on other resource measures like memory usage, execution time, network bandwidth consumed. For containerized dApps or Web3 applications, the developers need to consider the differences in terms of fees charged by different cloud providers. When dApps/Web3 applications are hosted in different providers’ cloud data centers, it is certain that the total cost will be different. There are many subtle pricing differences that dApps/Web3 developers may take into account when balancing the requirements such as budget, diversity, and decentralization. Under a holistic optimization scheme decided by the developer team for specific dApp/Web3 use case, the overall cost for deploying dApp or Web3 applications in multi-cloud data centers can be optimized.
Enhanced adherence to the principle of decentralization. Considering the fact that high percentages of validators for many public blockchains are hosted in the cloud data centers, stakeholders already propose policy-based validator selection processes like restricting the concentration of validators in certain regions or limiting the number of validators hosted in a single cloud or total validators in all cloud data centers (e.g., [Kursawe(2022)]). In similar manner, dApp or Web3 platform can apply policy based approach either directly or indirectly to control the distribution of dApp or Web3 software in multi-cloud data centers. The detailed policies are likely application scenario specific.
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.