Towards Decentralized Service Orchestration for Heterogeneous Cloud Services - Arias-Maestro, Alberto (My University, 2023)
Over the last three decades, the broad adoption of the Internet triggered a shift toward a globally accessible and service-oriented application design. Hyper-scale services like ecommerce, search, social networking, IoT, and big data have driven the industry towards hyper-optimizing supporting infrastructure and management technologies. The need for accelerated enterprise digital transformation and connected application development have established the cloud as the de-facto solution for new application development. I have been fortunate to be part of the Cloud industry for the last 15 years. From the emergence of the software-defined data center, virtualization of computing and network resources, multi-cloud orchestration, containers, and back hybrid cloud computing. The common theme across all of these technologies is the default implementation of centralized orchestration to manage and distribute resources to enable a wide range of scale requirements. As a director of Cloud Services at Google, I theorized that innovation and scale would grind to a halt if every policy change in the services network needed to be orchestrated and centrally coordinated. This thesis examines decentralized architectures for cloud resource management by applying the recent practical advancements in blockchain and consensus technology. The proposed architecture provides the foundation for a fully distributed configuration management system that stores the global configuration in a blockchain structure and is spread across all the nodes in the network. While there are dozens of blockchain platforms in existence. At the time of this writing, there is an ongoing transformation of the existing popular blockchain towards achieving the right balance between scalability, performance, and general-purpose utility. Layering, sharding, cross-chain smart contracts, and chain interoperability are some of the technical solutions still to be implemented broadly, making it difficult to predict the life expectancy of current blockchain platforms. For this research, we evaluated many general-purpose blockchains yet decided to implement a custom-built solution for two reasons. The first reason is the additional management and resource overhead of running a complete smart contract platform on each network node. The second but no less important reason is the complexity of implementing a cloud resource management Domain Specific Language using expensive to run smart contracts based on imperative languages. The solution researched is a custom-built chain. This architecture noticeably increases the system availability, including cases of network partitioning, without significantly impacting configuration consistency.
Keywords: cloud computing; infrastructure as a service; containers; orchestration; distributed systems; domain specific language; blockchain; consensus algorithms; smart contracts; TESIS; Doctorado en Ciencias de la Computación