doctoralThesis
Towards Decentralized Service Orchestration for Heterogeneous Cloud Services
Autor
Arias-Maestro, Alberto
Institución
Resumen
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.