In edge computing environments, microservices are typically deployed in the form of containers. To maintain proximity between edge computing services and mobile users, containers need to be migrated between nodes. When migrating containers, however, it is important to consider that they typically have ongoing communications with client endpoints. Moreover, in case of connection-oriented protocols, communicating endpoints share a state (i.e., the connection), which needs to be migrated as well. Connection-oriented protocols like TCP were not designed having connection migration in mind, thus their connections cannot survive a change of IP address or port number. On the other hand, QUIC, a transport protocol recently standardised by IETF, provides a mechanism for client-side connection migration, whereas a server-side connection migration is not yet implemented nor investigated. In this work, we propose an extension of QUIC to support server-side connection migration when a container is migrated between servers. We designed three different strategies, fitting a diverse set of scenarios, wherein the migration procedure is either or not supported by a centralised entity, e.g., an orchestrator. We implemented and verified the proposed extension. Besides, we evaluated it on a real testbed, showing how each of the three strategies is impacted by different container migration techniques and container sizes. To conclude, we compared our solution against two alternatives based on TCP+DNS and MPTCP respectively, demonstrating performance improvements in terms service-migration time.
Server-side QUIC connection migration to support microservice deployment at the edge
Puliafito, Carlo
;Conforti, Luca;Virdis, Antonio;Mingozzi, Enzo
2022-01-01
Abstract
In edge computing environments, microservices are typically deployed in the form of containers. To maintain proximity between edge computing services and mobile users, containers need to be migrated between nodes. When migrating containers, however, it is important to consider that they typically have ongoing communications with client endpoints. Moreover, in case of connection-oriented protocols, communicating endpoints share a state (i.e., the connection), which needs to be migrated as well. Connection-oriented protocols like TCP were not designed having connection migration in mind, thus their connections cannot survive a change of IP address or port number. On the other hand, QUIC, a transport protocol recently standardised by IETF, provides a mechanism for client-side connection migration, whereas a server-side connection migration is not yet implemented nor investigated. In this work, we propose an extension of QUIC to support server-side connection migration when a container is migrated between servers. We designed three different strategies, fitting a diverse set of scenarios, wherein the migration procedure is either or not supported by a centralised entity, e.g., an orchestrator. We implemented and verified the proposed extension. Besides, we evaluated it on a real testbed, showing how each of the three strategies is impacted by different container migration techniques and container sizes. To conclude, we compared our solution against two alternatives based on TCP+DNS and MPTCP respectively, demonstrating performance improvements in terms service-migration time.I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.