Orchestrating modern distributed microservices applications presents challenges due to the increasing complexity of these applications and their time-sensitive requirements. The combination of Cloud and Edge Computing paradigms attempts to avoid their pitfalls while taking the best of both worlds: cloud scalability and compute closer to the edge where data is typically generated. However, placing microservices in such heterogeneous environments while meeting QoS constraints is a challenging task due to the geo-distribution of nodes and varying computational resources. In particular, Edge infrastructure is more dynamic and unstable than that of Cloud data centers and is characterized by higher network latencies and more frequent node failures and network partitions. Kubernetes is today the de-facto standard for container orchestration on Cloud data centers. However, its static container scheduling strategy is not suitable for the placement of complex and distributed microservices-based applications on Edge environments. Current infrastructure network conditions and resource availability neither run time application state are taken into account when scheduling microservices. To deal with these limitations in this work the Sophos framework is proposed, as an extension of the Kubernetes platform in order to implement an effective application and infrastructure-aware container scheduling and orchestration strategy. In particular, an extension of the default Kubernetes scheduler is proposed that considers application and infrastructure telemetry data when taking scheduling decisions. Furthermore, a descheduler component is also proposed that continuously tunes the application placement based on the ever changing application and infrastructure states. An evaluation of the proposed approach is presented by comparing it with the default Kubernetes orchestration and scheduling strategy.

L'orchestrazione di moderne applicazioni distribuite a microservizi presenta sfide a causa della crescente complessità di queste applicazioni e dei loro requisiti stringenti. La combinazione dei paradigmi di Cloud ed Edge Computing tenta di evitare le relative insidie ​​e di sfruttare il meglio di entrambi i mondi: scalabilità del cloud ed elaborazione più vicina all’edge dove vengono generalmente generati i dati. Tuttavia, posizionare i microservizi in ambienti così eterogenei rispettando i vincoli di QoS è un compito impegnativo a causa della distribuzione geografica dei nodi e delle diverse risorse computazionali. In particolare, l’infrastruttura Edge è più dinamica e instabile rispetto a quella dei data center Cloud ed è caratterizzata da latenze di rete più elevate e da guasti dei nodi e partizioni di rete più frequenti. Kubernetes è oggi lo standard de facto per l'orchestrazione dei container sui data center cloud. Tuttavia, la sua strategia statica di schedulazione dei contenitori non è adatta per il posizionamento di applicazioni complesse e distribuite basate su microservizi negli ambienti Edge. Durante la schedulazione dei microservizi vnon vengono presi in considerazione le condizioni attuali della rete dell'infrastruttura e la disponibilità delle risorse, né lo stato dell'applicazione in fase di esecuzione. Per affrontare queste limitazioni in questo lavoro viene proposto il framework Sophos, come estensione della piattaforma Kubernetes al fine di implementare un'efficace strategia di schedulazione e orchestrazione dei contenitori consapevole delle applicazioni e dell'infrastruttura. In particolare, viene proposta un'estensione dello scheduler predefinito di Kubernetes che considera i dati di telemetria dell'applicazione e dell'infrastruttura quando si prendono decisioni di schedulazione. Inoltre, viene proposto anche un componente di schedulazione che ottimizza continuamente il posizionamento dell'applicazione in base ai continui cambiamenti degli stati dell'applicazione e dell'infrastruttura. Viene presentata una valutazione dell'approccio proposto confrontandolo con la strategia di orchestrazione e schedulazione predefinita di Kubernetes.

Orchestrazione di applicazioni nel Cloud-to-Edge continuum / Marchese, Angelo. - (2023 Nov 13).

Orchestrazione di applicazioni nel Cloud-to-Edge continuum

MARCHESE, ANGELO
2023-11-13

Abstract

Orchestrating modern distributed microservices applications presents challenges due to the increasing complexity of these applications and their time-sensitive requirements. The combination of Cloud and Edge Computing paradigms attempts to avoid their pitfalls while taking the best of both worlds: cloud scalability and compute closer to the edge where data is typically generated. However, placing microservices in such heterogeneous environments while meeting QoS constraints is a challenging task due to the geo-distribution of nodes and varying computational resources. In particular, Edge infrastructure is more dynamic and unstable than that of Cloud data centers and is characterized by higher network latencies and more frequent node failures and network partitions. Kubernetes is today the de-facto standard for container orchestration on Cloud data centers. However, its static container scheduling strategy is not suitable for the placement of complex and distributed microservices-based applications on Edge environments. Current infrastructure network conditions and resource availability neither run time application state are taken into account when scheduling microservices. To deal with these limitations in this work the Sophos framework is proposed, as an extension of the Kubernetes platform in order to implement an effective application and infrastructure-aware container scheduling and orchestration strategy. In particular, an extension of the default Kubernetes scheduler is proposed that considers application and infrastructure telemetry data when taking scheduling decisions. Furthermore, a descheduler component is also proposed that continuously tunes the application placement based on the ever changing application and infrastructure states. An evaluation of the proposed approach is presented by comparing it with the default Kubernetes orchestration and scheduling strategy.
13-nov-2023
L'orchestrazione di moderne applicazioni distribuite a microservizi presenta sfide a causa della crescente complessità di queste applicazioni e dei loro requisiti stringenti. La combinazione dei paradigmi di Cloud ed Edge Computing tenta di evitare le relative insidie ​​e di sfruttare il meglio di entrambi i mondi: scalabilità del cloud ed elaborazione più vicina all’edge dove vengono generalmente generati i dati. Tuttavia, posizionare i microservizi in ambienti così eterogenei rispettando i vincoli di QoS è un compito impegnativo a causa della distribuzione geografica dei nodi e delle diverse risorse computazionali. In particolare, l’infrastruttura Edge è più dinamica e instabile rispetto a quella dei data center Cloud ed è caratterizzata da latenze di rete più elevate e da guasti dei nodi e partizioni di rete più frequenti. Kubernetes è oggi lo standard de facto per l'orchestrazione dei container sui data center cloud. Tuttavia, la sua strategia statica di schedulazione dei contenitori non è adatta per il posizionamento di applicazioni complesse e distribuite basate su microservizi negli ambienti Edge. Durante la schedulazione dei microservizi vnon vengono presi in considerazione le condizioni attuali della rete dell'infrastruttura e la disponibilità delle risorse, né lo stato dell'applicazione in fase di esecuzione. Per affrontare queste limitazioni in questo lavoro viene proposto il framework Sophos, come estensione della piattaforma Kubernetes al fine di implementare un'efficace strategia di schedulazione e orchestrazione dei contenitori consapevole delle applicazioni e dell'infrastruttura. In particolare, viene proposta un'estensione dello scheduler predefinito di Kubernetes che considera i dati di telemetria dell'applicazione e dell'infrastruttura quando si prendono decisioni di schedulazione. Inoltre, viene proposto anche un componente di schedulazione che ottimizza continuamente il posizionamento dell'applicazione in base ai continui cambiamenti degli stati dell'applicazione e dell'infrastruttura. Viene presentata una valutazione dell'approccio proposto confrontandolo con la strategia di orchestrazione e schedulazione predefinita di Kubernetes.
Containers scheduling, Kubernetes, Infrastructure monitoring, Application monitoring, Cloud-to-Edge continuum
Schedulazione di container, Kubernetes, Monitoraggio dell'infrastruttura, Monitoraggio dell'applicazione, Cloud-to-Edge continuum
Orchestrazione di applicazioni nel Cloud-to-Edge continuum / Marchese, Angelo. - (2023 Nov 13).
File in questo prodotto:
File Dimensione Formato  
PhD_Thesis.pdf

accesso aperto

Tipologia: Tesi di dottorato
Licenza: PUBBLICO - Pubblico con Copyright
Dimensione 1.22 MB
Formato Adobe PDF
1.22 MB Adobe PDF Visualizza/Apri

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/20.500.11769/583589
Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus ND
  • ???jsp.display-item.citation.isi??? ND
social impact