<script src="https://bibbase.org/show?bib=https%3A%2F%2Frnlaigner.github.io%2Fpublications%2FLaignerPapers2.5.bib&jsonp=1"></script>
<?php
$contents = file_get_contents("https://bibbase.org/show?bib=https%3A%2F%2Frnlaigner.github.io%2Fpublications%2FLaignerPapers2.5.bib");
print_r($contents);
?>
<iframe src="https://bibbase.org/show?bib=https%3A%2F%2Frnlaigner.github.io%2Fpublications%2FLaignerPapers2.5.bib"></iframe>
For more details see the documention.
To the site owner:
Action required! Mendeley is changing its API. In order to keep using Mendeley with BibBase past April 14th, you need to:
@inproceedings{rethinking_actor_state, title = {Rethinking State Management in Actor Systems for Cloud-Native Applications}, author = {Liu, Yijian and Laigner, Rodrigo and Zhou, Yongluan}, year = 2024, booktitle = {Proceedings of the 2024 ACM Symposium on Cloud Computing}, location = {Redmond, WA, USA}, publisher = {Association for Computing Machinery}, address = {New York, NY, USA}, series = {SoCC '24}, pages = {898–914}, doi = {10.1145/3698038.3698540}, isbn = 9798400712869, url = {https://www.researchgate.net/publication/385107871_Rethinking_State_Management_in_Actor_Systems_for_Cloud-Native_Applications}, abstract = {The actor model has gained increasing popularity. However, it lacks support for complex state management tasks, such as enforcing foreign key constraints and ensuring data replication consistency across actors. These are crucial properties in partitioned application designs, such as microservices. To fill this gap, we start by analyzing the key impediments in state-of-the-art actor systems. We find it difficult for developers to express complex data relationships across actors and reason about the impact of state updates on performance due to opaque state management abstractions. To solve this conundrum, we develop SmSa, a novel data management layer for actor systems, allowing developers to declare data dependencies that cut across actors, including foreign keys, data replications, and other dependencies. SmSa can transparently enforce the declared dependencies, reducing the burden on developers. Furthermore, SmSa employs novel logging and concurrency control algorithms to support transactional maintenance of data dependencies.We demonstrate SmSa can support core data management tasks where dependencies across components appear frequently without jeopardizing application logic expressiveness and performance. Our experiments show SmSa significantly reduces the logging overhead and leads to increased concurrency level, improving by up to 2X the performance of state-of-the-art deterministic scheduling approaches. As a result, SmSa will make it easier to design and implement highly partitioned and distributed applications.}, numpages = 17, keywords = {actor system, application safety, consistency, microservices, state management} }
@techreport{benchmark_data_management_microservices, title = {A Benchmark for Data Management in Microservices}, author = {Rodrigo Laigner and Zhexiang Zhang and Yijian Liu and Leonardo Freitas Gomes and Yongluan Zhou}, year = 2024, url = {https://www.researchgate.net/publication/379662990_A_Benchmark_for_Data_Management_in_Microservices}, note = {Accepted at SIGMOD 2025}, eprint = {2403.12605}, archiveprefix = {arXiv}, primaryclass = {cs.DB}, abstract = {Microservice architectures emerged as a popular architecture for designing scalable distributed applications. Although microservices have been extensively employed in industry settings for over a decade, there is little understanding of the data management challenges that arise in these applications. As a result, it is difficult to advance data system technologies for supporting microservice applications. To fill this gap, we present Online Marketplace, a microservice benchmark that incorporates core data management challenges that existing benchmarks have not sufficiently addressed. These challenges include transaction processing, query processing, event processing, constraint enforcement, and data replication. We have defined criteria for various data management issues to enable proper comparison across data systems and platforms. After specifying the benchmark, we present the challenges we faced in creating workloads that accurately reflect the dynamic state of the microservices. We also discuss implementation issues that we encountered when developing Online Marketplace in state-of-the-art data platforms, which prevented us from meeting the specified data management requirements and criteria. Our evaluation demonstrates that the benchmark is a valuable tool for testing important properties sought by microservice practitioners. As a result, our proposed benchmark will facilitate the design of future data systems to meet the expectations of microservice practitioners.} }
@article{laigner2024benchmarking, title = {Benchmarking Data Management Systems for Microservices}, author = {Rodrigo Laigner and Yongluan Zhou}, year = 2024, year = 2024, booktitle = {2024 IEEE 40th International Conference on Data Engineering (ICDE)}, volume = {}, number = {}, pages = {5671--5672}, doi = {10.1109/ICDE60146.2024.00467}, url = {https://www.researchgate.net/publication/380699403_Benchmarking_Data_Management_Systems_for_Microservices}, abstract = {Microservice architectures are a popular choice for deploying large-scale data-intensive applications. This architectural style allows microservice practitioners to achieve requirements related to loose coupling, fault contention, workload isolation, higher data availability, scalability, and independent schema evolution. Although the industry has been employing microservices for over a decade, existing microservice benchmarks lack essential data management challenges observed in practice, including distributed transaction processing, consistent data querying and replication, event processing, and data integrity constraint enforcement. This gap jeopardizes the development of novel data systems that embrace the complex nature of data-intensive microservices. In this talk, we share our experience in designing Online Marketplace, a novel benchmark that embraces core data management requirements intrinsic to real-world microservices. By implementing the benchmark in state-of-the-art data platforms, we experience the pain practitioners face in assembling several heterogeneous components to realize their requirements. Our evaluation demonstrates Online Marketplace allows experimenting key properties sought by microservice practitioners, thus fomenting the design of novel data management systems.} }
@techreport{event_survey, title = {An Empirical Study on Challenges of Event Management in Microservice Architectures}, author = {Rodrigo Laigner and Ana Carolina Almeida and Wesley K. G. Assunção and Yongluan Zhou}, year = 2024, url = {https://www.researchgate.net/publication/382797129_An_Empirical_Study_on_Challenges_of_Event_Management_in_Microservice_Architectures}, eprint = {2408.00440}, archiveprefix = {arXiv}, primaryclass = {cs.SE}, type = {WorkingPaper}, abstract = {Microservices emerged as a popular architectural style over the last decade. Although microservices are designed to be self-contained, they must communicate to realize business capabilities, creating dependencies among their data and functionalities. Developers then resort to asynchronous, event-based communication to fulfill such dependencies while reducing coupling. However, developers are often oblivious to the inherent challenges of the asynchronous and event-based paradigm, leading to frustrations and ultimately making them reconsider the adoption of microservices. To make matters worse, there is a scarcity of literature on the practices and challenges of designing, implementing, testing, monitoring, and troubleshooting event-based microservices. To fill this gap, this paper provides the first comprehensive characterization of event management practices and challenges in microservices based on a repository mining study of over 8000 Stack Overflow questions. Moreover, 628 relevant questions were randomly sampled for an in-depth manual investigation of challenges. We find that developers encounter many problems, including large event payloads, modeling event schemas, auditing event flows, and ordering constraints in processing events. This suggests that developers are not sufficiently served by state-of-the-practice technologies. We provide actionable implications to developers, technology providers, and researchers to advance event management in microservices.} }
@article{LAIGNER2021111125, title = {Cataloging dependency injection anti-patterns in software systems}, author = {Rodrigo Laigner and Diogo Mendonça and Alessandro Garcia and Marcos Kalinowski}, year = 2022, journal = {Journal of Systems and Software}, pages = 111125, doi = {https://doi.org/10.1016/j.jss.2021.111125}, issn = {0164-1212}, url = {https://www.researchgate.net/publication/355564988_Cataloging_dependency_injection_anti-patterns_in_software_systems}, keywords = {Dependency injection, Dependency inversion, Inversion of control, Anti-pattern}, abstract = {Context: Dependency Injection (DI) is a commonly applied mechanism to decouple classes from their dependencies in order to provide higher modularization. However, bad DI practices often lead to negative consequences, such as increasing coupling. Although white literature conjectures about the existence of DI anti-patterns, there is no evidence on their practical relevance, usefulness, and generality. Objective: The objective of this study is to propose and evaluate a catalog of DI anti-patterns and associated refactorings. Methodology: We reviewed existing reported DI anti-patterns in order to analyze their completeness. The limitations found in literature motivated proposing a novel catalog of 12 DI anti-patterns. We developed a tool to statically analyze the occurrence level of the candidate DI anti-patterns in both open-source and industry projects. Next, we survey practitioners to assess their perception on the relevance, usefulness, and their willingness on refactoring anti-pattern instances of the catalog. Results: Our static code analyzer tool showed a relative recall of 92.19% and high average precision. It revealed that at least 9 different DI anti-patterns appeared frequently in the analyzed projects. Besides, our survey confirmed the perceived relevance of the catalog and developers expressed their willingness to refactor instances of anti-patterns from source code. Conclusion: The catalog contains DI anti-patterns that occur in practice and that are perceived as useful. Sharing it with practitioners may help them to avoid such anti-patterns, thus improving source-code quality.} }
@inproceedings{virtual-ms, title = {A Distributed Database System for Event-based Microservices}, author = {Rodrigo Laigner and Yongluan Zhou and Marcos Antonio Vaz Salles}, year = 2021, booktitle = {The 15th ACM International Conference on Distributed and Event-based Systems (DEBS '21), June 28-July 2, 2021, Virtual Event, Italy}, publisher = {Association for Computing Machinery}, series = {DEBS '21}, pages = {25–30}, doi = {10.1145/3465480.3466919}, url = {https://www.researchgate.net/publication/352020135_A_Distributed_Database_System_for_Event-based_Microservices}, abstract = {Microservice architectures are an emerging industrial approach to build large scale and event-based systems. In this architectural style, an application is functionally partitioned into several small and autonomous building blocks, so-called microservices, communicating and exchanging data with each other via events. By pursuing a model where fault isolation is enforced at microservice level, each microservice manages their own database, thus database systems are not shared across microservices. Developers end up encoding substantial data management logic in the application-tier and encountering a series of challenges on enforcing data integrity and maintaining data consistency across microservices. In this vision paper, we argue that there is a need to rethink how database systems can better support microservices and relieve the burden of handling complex data management tasks faced by programmers. We envision the design and research opportunities for a novel distributed database management system targeted at event-driven microservices.} }
@inproceedings{streamconstraints, title = {Enforcing Consistency in Microservice Architectures through Event-based Constraints}, author = {Anna Lesniak and Rodrigo Laigner and Yongluan Zhou}, year = 2021, booktitle = {The 15th ACM International Conference on Distributed and Event-based Systems (DEBS '21), June 28-July 2, 2021, Virtual Event, Italy}, publisher = {Association for Computing Machinery}, series = {DEBS '21}, pages = {180–183}, doi = {10.1145/3465480.3467839}, url = {https://www.researchgate.net/publication/352019905_Enforcing_Consistency_in_Microservice_Architectures_through_Event-based_Constraints}, abstract = {Microservice architectures are an emerging paradigm for developing event-driven applications. By prescribing that an application is decomposed into small and independent components, each encapsulating its own state and communicating via asynchronous events, new components and events can be easily integrated into the system. However, by pursuing a model where events are generated and processed at the application-level, developers have a hard time to safeguard arbitrary event interleavings from doing harm to application safety. To address these challenges, we start by analyzing event-driven microservice open-source applications to identify unsafe interleavings. Next, we categorize event-based constraints to address such unsafe encodings, providing an easy-to-use guide for microservice developers. Finally, we introduce StreamConstraints, a library built on top of Kafka Streams designed to enforce explicit event-based constraints defined by developers. We showcase StreamConstraints based on the case of a popular event-driven microservice system, and demonstrate how it could benefit from event-based constraints to ensure application safety.} }
@inproceedings{HawkEDA, title = {HawkEDA : A Tool for Quantifying Data Integrity Violations in Event-driven Microservices}, author = {Prangshuman Das and Rodrigo Laigner and Yongluan Zhou}, year = 2021, booktitle = {The 15th ACM International Conference on Distributed and Event-based Systems (DEBS '21), June 28-July 2, 2021, Virtual Event, Italy}, publisher = {Association for Computing Machinery}, series = {DEBS '21}, pages = {176–179}, doi = {10.1145/3465480.3467838}, isbn = 9781450385558, url = {https://www.researchgate.net/publication/352020105_HawkEDA_A_Tool_for_Quantifying_Data_Integrity_Violations_in_Event-driven_Microservices}, abstract = {A microservice architecture advocates for subdividing an application into small and independent components, each communicating via well-defined APIs or asynchronous events, to allow for higher scalability, availability, and fault isolation. However, the implementation of substantial amount of data management logic at the application-tier and the existence of functional dependencies cutting across microservices create a great barrier for developers to reason about application safety and performance trade-offs. To fill this gap, this work presents HawkEDA, the first data management tool that allows practitioners to experiment their microservice applications with different real-world workloads to quantify the amount of data integrity anomalies. In our demonstration, we present a case study of a popular open-source event-driven microservice to showcase the interface through which developers specify application semantics and the flexibility of HawkEDA.} }
@article{LaignerEtAl21, title = {Data Management in Microservices: State of the Practice, Challenges, and Research Directions}, author = {Rodrigo Laigner and Yongluan Zhou and Marcos Antonio Vaz Salles and Yijian Liu and Marcos Kalinowski}, year = 2021, journal = {Proceedings of the VLDB Endowment}, volume = 14, number = 13, pages = {3348--3361}, doi = {10.14778/3484224.3484232}, url = {https://www.researchgate.net/publication/349704597_Data_Management_in_Microservices_State_of_the_Practice_Challenges_and_Research_Directions}, abstract = {Microservices have become a popular architectural style for data-driven applications, given their ability to functionally decompose an application into small and autonomous services to achieve scalability, strong isolation, and specialization of database systems to the workloads and data formats of each service. Despite the accelerating industrial adoption of this architectural style, an investigation of the state of the practice and challenges practitioners face regarding data management in microservices is lacking. To bridge this gap, we conducted a systematic literature review of representative articles reporting the adoption of microservices, we analyzed a set of popular open-source microservice applications, and we conducted an online survey to cross-validate the findings of the previous steps with the perceptions and experiences of over 120 experienced practitioners and researchers. Through this process, we were able to categorize the state of practice of data management in microservices and observe several foundational challenges that cannot be solved by software engineering practices alone, but rather require system-level support to alleviate the burden imposed on practitioners. We discuss the shortcomings of state-of-the-art database systems regarding microservices and we conclude by devising a set of features for microservice-oriented database systems.} }
@inproceedings{LaignerKLSO20, title = {From a Monolithic Big Data System to a Microservices Event-Driven Architecture}, author = {Rodrigo Laigner and Marcos Kalinowski and Pedro Diniz and Leonardo Barros and Carlos Cassino and Melissa Lemos and Darlan Arruda and Sergio Lifschitz and Yongluan Zhou}, year = 2020, booktitle = {46th Euromicro Conference on Software Engineering and Advanced Applications, {SEAA} 2020, Portorož, Slovenia, Aug 26-28}, pages = {213--220}, doi = {10.1109/SEAA51224.2020.00045}, url = {https://www.researchgate.net/publication/341822188_From_a_Monolithic_Big_Data_System_to_a_Microservices_Event-Driven_Architecture}, abstract = {[Context] Data-intensive systems, a.k.a. big data systems (BDS), are software systems that handle a large volume of data in the presence of performance quality attributes, such as scalability and availability. Before the advent of big data management systems (e.g. Cassandra) and frameworks (e.g. Spark), organizations had to cope with large data volumes with custom-tailored solutions. In particular, a decade ago, Tecgraf/PUC-Rio developed a system to monitor truck fleet in real-time and proactively detect events from the positioning data received. Over the years, the system evolved into a complex and large obsolescent code base involving a hard maintenance process. [Goal] We report our experience on replacing a legacy BDS with a microservice-based event-driven system. [Method] We applied action research, investigating the reasons that motivate the adoption of a microservice-based event-driven architecture, intervening to define the new architecture, and documenting the challenges and lessons learned. [Results] We perceived that the resulting architecture enabled easier maintenance and fault-isolation. However, the myriad of technologies and the complex data flow were perceived as drawbacks. Based on the challenges faced, we highlight opportunities to improve the design of big data reactive systems. [Conclusions] We believe that our experience provides helpful takeaways for practitioners modernizing systems with data-intensive requirements.} }
@inproceedings{LaignerKLSO18, title = {A Systematic Mapping of Software Engineering Approaches to Develop Big Data Systems}, author = {Rodrigo Laigner and Marcos Kalinowski and Sergio Lifschitz and Rodrigo Salvador and Daniel de Oliveira}, year = 2018, booktitle = {44th Euromicro Conference on Software Engineering and Advanced Applications, {SEAA} 2018, Prague, Czech Republic, Aug 29-31}, pages = {446--453}, doi = {10.1109/SEAA.2018.00079}, url = {https://www.researchgate.net/publication/326607927_A_Systematic_Mapping_of_Software_Engineering_Approaches_to_Develop_Big_Data_Systems}, abstract = {[Context] Data is being collected at an unprecedented scale. Data sets are becoming so large and complex that traditionally engineered systems may be inadequate to deal with them. While software engineering comprises a large set of approaches to support engineering robust software systems, there is no comprehensive overview of approaches that have been proposed and/or applied in the context of engineering big data systems. [Goal] This study aims at surveying existing research on big data software engineering to unveil and characterize the development approaches and major contributions. [Method] We conducted a systematic mapping study, identifying 52 related research papers, dated from 2011 to 2016. We classified and analyzed the identified approaches, their objectives, application domains, development lifecycle phase, and type of contribution. [Results] As a result, we outline the current state of the art and gaps on employing software engineering approaches to develop big data systems. For instance, we observed that the major challenges are in the area of software architecture and that more experimentation is needed to assess the classified approaches. [Conclusion] The results of this systematic mapping provide an overview on existing approaches to support building big data systems and helps to steer future research based on the identified gaps.} }