Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

MicroART: A Software Architecture Recovery Tool for Maintaining Microservice-based Systems

234 views

Published on

6th of April 2017. My presentation done at the 14th International Conference on Software Architecture (ICSA), Tool Papers, Gothenburg, Sweden.

Microservice-based systems are characterised by a multitude of small services, each running in its own process and communicating with lightweight mechanisms. The microservice architectural style strongly encourages high decoupling among
microservices in order to ease their independent deployment, operation, and maintenance. However, there are situations in which having a global overview of the system is fundamental.
In this paper we present the first prototype of our Architecture Recovery Tool for microservice-based systems called MicroART.
MicroART following Model-Driven Engineering principles, is able to generate models of the software architecture of a microservice-based system, that can be managed by software architects for multiple purposes.

Accompanying paper: http://www.ivanomalavolta.com/files/papers/ICSA_2017_tool.pdf
GitHub repository: https://github.com/microart/microART-Tool

Published in: Technology
  • Be the first to comment

  • Be the first to like this

MicroART: A Software Architecture Recovery Tool for Maintaining Microservice-based Systems

  1. 1. MicroART: A Software Architecture Recovery Tool for Maintaining Microservice-based Systems Giona Granchelli, Mario Cardarelli, Paolo Di Francesco, Ivano Malavolta, Ludovico Iovino, Amleto Di Salle
  2. 2. 2Di Francesco et al. Paolo Di Francesco Microservice architectures MSA is an architectural style inspired by service-oriented computing • Small services • Running in own process • Lightweight communication Microservice architectures
  3. 3. 3Di Francesco et al. Paolo Di Francesco MicroART Approach • Problem: How to have a clear understanding of the overall architecture? • MicroART 1. Reverse Engineering 2. Model refinements 3. A Domain-specific language MicroART Approach
  4. 4. 4Di Francesco et al. Paolo Di Francesco Architecture Model Architecture Model
  5. 5. 5Di Francesco et al. Paolo Di Francesco Architecture Refinement • Model refinements • Produce an architectural model more significant to the architect’s purposes (e.g., maintainability) • Semi-automatic • Iterative Architecture Refinement
  6. 6. 6Di Francesco et al. Paolo Di Francesco Architecture Refinement • Service Discovery • Services find each other dynamically in the network • Loose coupling • Mask “real” dependencies among services Architecture Refinement
  7. 7. 7Di Francesco et al. Paolo Di Francesco Architecture Refinement Service Discovery Resolution 1. Remove Links 2. Remove the Service Discovery 3. Use log traces to identify new Links Architecture Refinement
  8. 8. 8Di Francesco et al. Paolo Di Francesco MicroART Tool MicroART Tool
  9. 9. 9Di Francesco et al. Paolo Di Francesco MicroART Tool • Prototype • GitHub • Docker • Benchmark • Open source • Third party MicroART Tool
  10. 10. 10Di Francesco et al. Paolo Di Francesco MicroART Validation MicroART Validation Architecture Model Architecture Refined Model
  11. 11. 11Di Francesco et al. Paolo Di Francesco Conclusions https://github.com/microart/microART-Tool Conclusions

×