Sviluppo di applicazioni distribuite con lo stack SMACK

Ciavatta, Emiliano (2018) Sviluppo di applicazioni distribuite con lo stack SMACK. [Laurea], Università di Bologna, Corso di Studio in Ingegneria e scienze informatiche [L-DM270] - Cesena
Documenti full-text disponibili:
[img] Documento PDF (Thesis)
Disponibile con Licenza: Creative Commons: Attribuzione - Condividi allo stesso modo 3.0 (CC BY-SA 3.0)

Download (1MB)

Abstract

SMACK è uno stack composto da un insieme di software open source che possono essere utilizzati per sviluppare applicazioni distribuite. I componenti dello stack sono: Spark, un framework per effettuare calcolo distribuito, Mesos, serve per gestire e coordinare le risorse del cluster, Akka, una libreria che implementa l'architettura basata sul modello ad attori, Cassandra, un gestore di database non relazionale e distribuito e Kafka, una piattaforma di stream processing. Ciascuno di questi componenti è indipendente: ognuno ha le proprie API, una propria configurazione e non interagiscono fra loro. Lo scopo del progetto è quello di costruire una solida base di partenza su cui sarà possibile progettare e implementare applicazioni che lavorino utilizzando lo stack SMACK. Si vuole realizzare quindi un framework che non contenga logica applicativa, ma che permetta di costruire applicazioni distribuite utilizzando un'architettura già pronta, senza che sia necessario preoccuparsi di come i componenti dello stack interagiscano fra loro e senza dover ricorrere a tecniche di progettazione per lo sviluppo di sistemi distribuiti. Il framework dovrà semplificare al massimo la progettazione del sistema distribuito. Tramite il framework dovrà essere possibile realizzare applicazioni web-based. L'applicazione potrà interagire con gli utenti attraverso l'architettura REST, un'architettura ideale per i sistemi distribuiti. Il framework dovrà permettere di sviluppare applicazioni elaborate mantenendo bassa la complessità del sistema. Dovranno essere garantite tutte le proprietà di un sistema distribuito, quali la scalabilità, la modularità, la tolleranza agli errori, l'alta affidabilità e la consistenza dei dati, l'efficienza nell'uso delle risorse e le migliori performance. L'applicazione inoltre dovrà essere necessariamente sicura.

Abstract
Tipologia del documento
Tesi di laurea (Laurea)
Autore della tesi
Ciavatta, Emiliano
Relatore della tesi
Correlatore della tesi
Scuola
Corso di studio
Indirizzo
Curriculum ingegneria informatica
Ordinamento Cds
DM270
Parole chiave
smack,spark,mesos,akka,cassandra,kafka,scala,sistema,distribuito,marathon,attori
Data di discussione della Tesi
18 Ottobre 2018
URI

Altri metadati

Statistica sui download

Gestione del documento: Visualizza il documento

^