During the past few years, a fundamental architectural shift has taken place in the field of software development. Classical monolithic systems are progressively transformed into or replaced by Microservice-based architectures. This process has been mainly pioneered and accelerated by large tech companies like Netflix, Spotify or Uber, which describe their experiences publicly and extensively provide open source software.
Microservices are the result of a decomposition of the complex internal logic of monolithic applications into small, clearly separated tasks. Each Microservice performs only one independent task and delegates more complex processes further on to other Microservices. While communication between different services takes place over well-defined, standardized interfaces, there is a large heterogeneity in the characteristics of Microservices and their instances like programming languages or run-time environments, respectively.
The benefits of Microservices over monoliths include easier scalability, improved technology fit, and better service reusability. They enable agile development, where small teams can rework individual Microservices in shorter iteration cycles. However, the lower inner complexity of a single service is achieved through a higher outer complexity, as hundreds of Microservices can be necessary to replace one monolithic system. In order to thoroughly monitor and document these large service networks, a new tool for Service Architecture Discovery was developed at TUM.
This work focuses on the visualization of the obtained Architecture Discovery results. Different views providing information for various stakeholders are implemented in a prototype visualization tool. Evaluation of the implementation is performed in a lab environment providing a basic distributed Microservice infrastructure.