On the impact of event-driven architecture on performance: an exploratory study
Status:: π©
Links:: Microservices vs. Monolith
Metadata
Authors:: Cabane, Hebert; Farias, Kleinner
Title:: On the impact of event-driven architecture on performance: an exploratory study
Publication Title:: "Future Generation Computer Systems"
Date:: 2024
URL:: https://www.sciencedirect.com/science/article/pii/S0167739X23003977
DOI:: 10.1016/j.future.2023.10.021
Cabane, H., & Farias, K. (2024). On the impact of event-driven architecture on performance: An exploratory study. Future Generation Computer Systems, 153, 52β69. https://doi.org/10.1016/j.future.2023.10.021
Type:: #zotero/journalArticle
Zotero::
Keywords:: [Distributed applications, Empirical study, Event-driven architecture, Monolithic application, Performance, Software modularity]
Event-driven architecture has been widely adopted in the software industry in recent years. This adoption is motivated by the increase in software modularity, and mainly the desired performance of decomposed monolithic applications. Although it has become popular, the current literature lacks studies that demonstrate the impact of event-driven architecture on performance. Hence, developers and architects end up adopting event-driven architecture without empirical evidence, but considering βexpert advice.β This study, therefore, reports an empirical study on the impact of the adoption of event-driven architecture on performance. For this, the performance of an application implemented with an event-based architecture was compared with the performance of the same application implemented using a monolithic architecture. The comparison was made using metrics such as CPU usage, memory, response time, throughput, and total packages sent and received. The results, supported by statistical tests, show that the monolithic architecture, compared to the event-driven architecture, consumes less computational resources and has better response times. Finally, this study reflects on the adoption of event-driven architecture, as well as points out challenges and implications that need to be considered by the scientific community in future research.
Notes & Annotations
Color-coded highlighting system used for annotations
π Annotations (imported on 2024-05-15#18:18:06)
Urdangarin et al. [5] investigate the use of multi-objective and context-based decomposition techniques. Schipor et al. [6] carried out an empirical study using event-driven architecture in intelligent environment applications. Laigner et al. [4] present the obtained results during the decomposition of a monolithic big data application into an event-driven application. Tragatschnig et al. [7] carried out an empirical study to evaluate the use of change patterns in the development of event-driven applications. Djogic et al. [8] presented the benefits of rebuilding a monolithic application into an event-driven application. Bukhshet al. [9] carried out a comparison through literature studies between service-oriented and event-driven architectures. Pienwittayasakul and Liu [10] presented the benefits of using event-driven architecture over service-oriented architecture.
The take-home message of this study is that while event-driven architecture has many benefits, including scalability and flexibility, its adoption may come at a performance cost. The empirical study conducted in this research demonstrated that monolithic architecture outperforms event-driven architecture in terms of RAM usage, response time, and throughput, while the event-driven architecture presented better results for CPU usage and total packages transmitted and received. These findings suggest that developers should carefully consider the trade-offs between different software architectures when designing systems, taking into account the specific requirements, key design features, and constraints of their applications at hand.