In the cloud-native landscape, serverless computing is establishing itself as a pillar for smart provisioning of modern microservice-based applications. Due to its resounding success, serverless is rapidly emerging as a powerful paradigm in edge computing as well, wherein computing resources are geographically distributed in proximity to users. In serverless edge systems, applications can be composed by two types of microservice instances. Remote-state instances are internally stateless and access a remote state, if needed. On the other hand, a local-state instance is dedicated to a user and locally retains state information. In this work, we focus on live migration of local-state instances across an edge system operated by Kubernetes, which is the de-facto standard for microservice automated orchestration. More specifically, we propose a solution able to migrate both single-container and multi-container instances between different Kubernetes clusters. Our approach leverages the Liqo open-source project to establish a peering relationship and transfer the instance state between the involved clusters. After presenting the design and proof-of-concept implementation of the proposed solution, we outline useful insights into how to deploy it in practice and describe the experiments carried out to validate our work. Our system represents a powerful Kubernetes extension that does not require any modification to its standard API.
Live Migration of Multi-Container Kubernetes Pods in Multi-Cluster Serverless Edge Systems
Leonardo Poggiani;Carlo Puliafito;Antonio Virdis;Enzo Mingozzi
2024-01-01
Abstract
In the cloud-native landscape, serverless computing is establishing itself as a pillar for smart provisioning of modern microservice-based applications. Due to its resounding success, serverless is rapidly emerging as a powerful paradigm in edge computing as well, wherein computing resources are geographically distributed in proximity to users. In serverless edge systems, applications can be composed by two types of microservice instances. Remote-state instances are internally stateless and access a remote state, if needed. On the other hand, a local-state instance is dedicated to a user and locally retains state information. In this work, we focus on live migration of local-state instances across an edge system operated by Kubernetes, which is the de-facto standard for microservice automated orchestration. More specifically, we propose a solution able to migrate both single-container and multi-container instances between different Kubernetes clusters. Our approach leverages the Liqo open-source project to establish a peering relationship and transfer the instance state between the involved clusters. After presenting the design and proof-of-concept implementation of the proposed solution, we outline useful insights into how to deploy it in practice and describe the experiments carried out to validate our work. Our system represents a powerful Kubernetes extension that does not require any modification to its standard API.I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.