Data Management in Microservices: State of the Practice, Challenges, and Research Directions

02/27/2021
by   Rodrigo Laigner, et al.
0

We are recently witnessing an increased adoption of microservice architectures by the industry for achieving scalability by functional decomposition, fault-tolerance by deployment of small and independent services, and polyglot persistence by the adoption of different database technologies specific to the needs of each service. Despite the accelerating industrial adoption and the extensive research on microservices, there is a lack of thorough investigation on the state of the practice and the major challenges faced by practitioners with regard to data management. To bridge this gap, this paper presents a detailed investigation of data management in microservices. Our exploratory study is based on the following methodology: we conducted a systematic literature review of articles reporting the adoption of microservices in industry, where more than 300 articles were filtered down to 11 representative studies; we analyzed a set of 9 popular open-source microservice-based applications, selected out of more than 20 open-source projects; furthermore, to strengthen our evidence, we conducted an online survey that we then used to cross-validate the findings of the previous steps with the perceptions and experiences of over 120 practitioners and researchers. Through this process, we were able to categorize the state of practice and reveal several principled challenges that cannot be solved by software engineering practices, but rather need system-level support to alleviate the burden of practitioners. Based on the observations we also identified a series of research directions to achieve this goal. Fundamentally, novel database systems and data management tools that support isolation for microservices, which include fault isolation, performance isolation, data ownership, and independent schema evolution across microservices must be built to address the needs of this growing architectural style.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
02/23/2021

The State-of-Practice in Requirements Elicitation: An Extended Interview Study at 12 Companies

Context. Requirements engineering remains a discipline that is faced wit...
research
04/03/2023

Characterizing the Users, Challenges, and Visualization Needs of Knowledge Graphs in Practice

This study presents insights from interviews with nineteen Knowledge Gra...
research
08/14/2018

Microservices in Practice: A Survey Study

Microservices architectures have become largely popular in the last year...
research
09/30/2020

Retrieving and mining professional experience of software practice from grey literature: an exploratory review

Background: Retrieving and mining practitioners' self–reports of their p...
research
07/20/2017

Actor Database Systems: A Manifesto

Interactive data-intensive applications are becoming ever more pervasive...
research
11/29/2021

Exploring technologies to better link physical evidence and digital information for disaster victim identification

Disaster victim identification (DVI) entails a protracted process of evi...
research
12/11/2022

Technical Debt Management in OSS Projects: An Empirical Study on GitHub

Technical debt (TD) refers to delayed tasks and immature artifacts that ...

Please sign up or login with your details

Forgot password? Click here to reset