Adopted by companies such as Netflix, Amazon, and Spotify, the microservices architectural style is now well established. Aimed at facilitating software evolution, it is renowned for modularizing a software system into microservices, implemented in various technologies. Regarding databases, practitioners opt for polyglot persistence: Each microservice is responsible for its own database(s). This influences how the architecture is implemented. The decoupling and heterogeneity of microservices and their databases spread data access points throughout the codebase, complicating program comprehension and code-data co-evolution. Developers’ feedback reveals their struggles to obtain a holistic view of data access in such architectures.
We present DENIM, a tool that enables users to identify data access points in microservices and visualize them in an interactive treemap. Using real microservice applications, we illustrate how this tool can be used for software evolution tasks.
Tasmia Zerin Institute of Information Technology (IIT), University of Dhaka, Moumita Asad University of California, Irvine, B M Mainul Hossain University of Dhaka, Kazi Sakib Institute of Information Technology, University of Dhaka