Designing a System-Centered View to Microservices Using Service Dependency Graphs: Elaborating on 2D and 3D visualization
Patrick Harris, Mia Gortney, Amr S. Abdelfattah, Tomas Cerny, Pablo Rivas · 2024
Cloud-native systems have become widely embraced by the industry. The decentralization characteristic of these systems provides many benefits, which have led to their widespread adoption. However, while cloud-native systems have solved many of the limitations of monolithic systems, they have introduced their own problems. A key issue is decentralization, which makes it difficult to capture a view of the system as a whole. Without a system-centric perspective, developers resort to updating assigned services without analyzing the implications on the overall system. As a result, a software system can degrade over time by introducing technical debt. A holistic system view, such as a service dependency graph, is the instrumental artifact that can help developers understand system dependencies, discern future extensions, or aid with change impact analysis. However, the established visualizations of these graphs are static, aiming to provide all information at once, which leads to complex and hard-to-understand graphs when representing microservice systems. In this paper, we advance the visualization of service dependency graphs with interactive features. We present an interactive and reactive two-dimensional and three-dimensional graph view for microservice systems that aims to simplify analysis of complex systems when looking for dependencies across services.