Despite their increasing popularity of event-based architecture to develop big scale, highly decoupled services, existing technologies for this kind of architectures rely on the assumption that any process of the system can be trusted. To get rid of this strict guarantee Kabis has been developed: Kabis is an event-based system resembling the architecture of Apache Kafka, but allowing its users to enforce byzantine trust guarantees on a topic level. This flexibility allows each user to manage the trade-off between functional guarantees and performance according to its own business requirements. This result has been achieved by deploying Apache Kafka together with BFT-SMaRt, a system allowing event notification in a byzantine environment, and developing a communication protocol which optimizes BFT-SMaRt's usage preserving its trust guarantees. Kabis has been designed to allow for a smooth migration from a Kafka-based system, since its API is a subset of Kafka's, while exposing optional methods to let the user define which topics should require the trust guarantees provided by BFT-SMaRt. Experimental evaluation shown that Kabis performance is comparable to that of Kafka when no additional guarantees are provided, and outperforms BFT-SMaRt even when providing its guarantees to all the topics.

Nonostante la crescente popolarità delle architetture basate su eventi nello sviluppo di servizi di ampia scala altamente disaccopiati, le tecnologie esistenti per questo tipo di architetture si basano sull'assunzione che ogni processo nel sistema sia fidato. Per superare questa stringente garanzia è stato sviluppato Kabis: Kabis è un sistema basato su eventi che rispecchia l'architettura di Apache Kafka, ma che permette ai suoi utenti di applicare garanzie di fiducia bizantina a livello di topic. Questa flessibilità consente a ciascun utente di gestire individualmente il trade-off tra garanzie di fiducia e prestazioni in base ai propri requisiti di business. Questo risultato è stato ottenuto affiancando Apache Kafka a BFT-SMaRt, un sistema che permette la notifica di eventi in ambiente bizantino, e sviluppando un protocollo di comunicazione che permetta di ottimizzare l'utilizzo di BFT-SMaRt mantenendone le garanzie di fiducia. Kabis è stato progettato per consentire una semplice transizione da un sistema basato su Kafka, dato che la sua API è un sottinsieme di quella di Kafka, fornendo al contempo metodi opzionali che permettono all'utente di definire per quali topic richiedere le garanzie di fiducia offerte da BFT-SMaRt. Una valutazione sperimentale ha evidenziato che le prestazioni di Kabis sono simili a quelle di Kafka quando le garanzie aggiuntive non sono fornite a nessun topic, e superiori a quelle di BFT.SMaRt anche quando queste garanzie sono fornite a tutti i topic del sistema.

Kabis: a platform for event-based communication with configurable trade-off between trust guarantees and performance

SECCO, MATTEO
2021/2022

Abstract

Despite their increasing popularity of event-based architecture to develop big scale, highly decoupled services, existing technologies for this kind of architectures rely on the assumption that any process of the system can be trusted. To get rid of this strict guarantee Kabis has been developed: Kabis is an event-based system resembling the architecture of Apache Kafka, but allowing its users to enforce byzantine trust guarantees on a topic level. This flexibility allows each user to manage the trade-off between functional guarantees and performance according to its own business requirements. This result has been achieved by deploying Apache Kafka together with BFT-SMaRt, a system allowing event notification in a byzantine environment, and developing a communication protocol which optimizes BFT-SMaRt's usage preserving its trust guarantees. Kabis has been designed to allow for a smooth migration from a Kafka-based system, since its API is a subset of Kafka's, while exposing optional methods to let the user define which topics should require the trust guarantees provided by BFT-SMaRt. Experimental evaluation shown that Kabis performance is comparable to that of Kafka when no additional guarantees are provided, and outperforms BFT-SMaRt even when providing its guarantees to all the topics.
ING - Scuola di Ingegneria Industriale e dell'Informazione
20-dic-2022
2021/2022
Nonostante la crescente popolarità delle architetture basate su eventi nello sviluppo di servizi di ampia scala altamente disaccopiati, le tecnologie esistenti per questo tipo di architetture si basano sull'assunzione che ogni processo nel sistema sia fidato. Per superare questa stringente garanzia è stato sviluppato Kabis: Kabis è un sistema basato su eventi che rispecchia l'architettura di Apache Kafka, ma che permette ai suoi utenti di applicare garanzie di fiducia bizantina a livello di topic. Questa flessibilità consente a ciascun utente di gestire individualmente il trade-off tra garanzie di fiducia e prestazioni in base ai propri requisiti di business. Questo risultato è stato ottenuto affiancando Apache Kafka a BFT-SMaRt, un sistema che permette la notifica di eventi in ambiente bizantino, e sviluppando un protocollo di comunicazione che permetta di ottimizzare l'utilizzo di BFT-SMaRt mantenendone le garanzie di fiducia. Kabis è stato progettato per consentire una semplice transizione da un sistema basato su Kafka, dato che la sua API è un sottinsieme di quella di Kafka, fornendo al contempo metodi opzionali che permettono all'utente di definire per quali topic richiedere le garanzie di fiducia offerte da BFT-SMaRt. Una valutazione sperimentale ha evidenziato che le prestazioni di Kabis sono simili a quelle di Kafka quando le garanzie aggiuntive non sono fornite a nessun topic, e superiori a quelle di BFT.SMaRt anche quando queste garanzie sono fornite a tutti i topic del sistema.
File allegati
File Dimensione Formato  
Thesis.pdf

accessibile in internet per tutti

Descrizione: Tesi in formato classico
Dimensione 670.31 kB
Formato Adobe PDF
670.31 kB Adobe PDF Visualizza/Apri
executive_summary.pdf

accessibile in internet per tutti

Descrizione: Executive summary
Dimensione 437.95 kB
Formato Adobe PDF
437.95 kB Adobe PDF Visualizza/Apri

I documenti in POLITesi 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/10589/197654