Studio ed Analisi di tecniche di container migration con supporto alla persistenza in scenari di Edge Computing

Abstract

Il numero di dispositivi IoT connessi alla rete è in costante aumento e con loro i dati da essi prodotti. Le tradizionali soluzioni di elaborazione e archiviazione dati non saranno più sufficientemente performanti in quanto la mole di dati crescerà in maniera esponenziale nei prossimi anni. Nuovi approcci spingono all'introduzione di uno strato intermedio tra il creatore del dato e il luogo dove deve essere depositato, uno di questi approcci è l'Edge computing; ma la gestione dei servizi in esecuzione al suo interno rappresenta una nuova sfida. Nella distribuzione di servizi si stanno evolvendo i container, i quali offrono il vantaggio di essere migrati tra calcolatori con una facilità maggiore rispetto a un'applicazione. In questo lavoro di tesi è stato creato un servizio che possa gestire e spostare container Docker, con annesso il proprio stato di esecuzione, in un cluster di nodi Edge. Lo sviluppo è stato impostato in un'ottica che prevede che vari nodi Edge connessi in rete possano creare in autonomia un cluster dove al suo interno sia presente un nodo Leader e diversi nodi Follower. L'elezione del Leader avviene tra i nodi scambiandosi un valore di fitness, che è compreso tra 0 e 1 ed indica quanto il nodo è performante. Il design dell'architettura è stato studiato per essere fault tolerance nei confronti del Leader e dei nodi Follower. Il Leader ha il compito principale di raccogliere i valori di fitness dai nodi Follower del cluster e indire la migrazione di container Docker sulla base di policy studiate ad hoc, le quali tengono conto anche dei valori fitness specifici su ogni singolo container. Il motivo che ha spinto la creazione dell'applicazione è quello di creare un servizio che effettui varie migrazioni al fine di uniformare i valori di fitness dei vari nodi del cluster

    Similar works