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.
Towards Recovering the Software Architecture
of Microservice-based Systems
Giona Granchelli, Mario Cardarelli, Paolo Di Fr...
2Di Francesco et al.
Paolo Di Francesco
Roadmap
• Microservice Architectures (MSAs)
• MicroART Approach
• MicroART Prototy...
3Di Francesco et al.
Paolo Di Francesco
Microservice architectures
MSA is an architectural style inspired by service-orien...
4Di Francesco et al.
Paolo Di Francesco
Microservice architectures
• Products not Projects
• Cross-functional teams
• Infr...
5Di Francesco et al.
Paolo Di Francesco
Microservice architectures
Introduction
Monolith
Microservices
6Di Francesco et al.
Paolo Di Francesco
MicroART Approach
• Problem: How to have a clear understanding of the overall
arch...
7Di Francesco et al.
Paolo Di Francesco
Reverse Engineering
Goal: Reconstruct the architecture of complex systems in an
au...
8Di Francesco et al.
Paolo Di Francesco
Architecture Recovery
Architecture Recovery
9Di Francesco et al.
Paolo Di Francesco
Domain Specific Language
Domain Specific Language
10Di Francesco et al.
Paolo Di Francesco
Architecture Recovery
Architecture Recovery
11Di Francesco et al.
Paolo Di Francesco
Architecture Recovery
Architecture Recovery
12Di Francesco et al.
Paolo Di Francesco
Towards MSA Recovery
• Model refinements
• Produce an architectural model more si...
13Di Francesco et al.
Paolo Di Francesco
Architecture Refinement
• Service Discovery
• Services find each other dynamicall...
14Di Francesco et al.
Paolo Di Francesco
Architecture Refinement
Service Discovery Resolution
1. Remove Links
2. Remove th...
15Di Francesco et al.
Paolo Di Francesco
MicroART Tool
• Prototype
• GitHub
• Docker
• Benchmark
• Open source
• Third par...
16Di Francesco et al.
Paolo Di Francesco
MicroART Validation
MicroART Validation
Architecture Model Architecture Refined M...
17Di Francesco et al.
Paolo Di Francesco
MicroART Tool
MicroART Tool
18Di Francesco et al.
Paolo Di Francesco
MicroART Approach
• Applicable to existing systems
• Benefits
• Model-based repre...
19Di Francesco et al.
Paolo Di Francesco
Conclusions
Conclusions
Upcoming SlideShare
Loading in …5
×

of

Towards Recovering the Software Architecture of Microservice-based Systems Slide 1 Towards Recovering the Software Architecture of Microservice-based Systems Slide 2 Towards Recovering the Software Architecture of Microservice-based Systems Slide 3 Towards Recovering the Software Architecture of Microservice-based Systems Slide 4 Towards Recovering the Software Architecture of Microservice-based Systems Slide 5 Towards Recovering the Software Architecture of Microservice-based Systems Slide 6 Towards Recovering the Software Architecture of Microservice-based Systems Slide 7 Towards Recovering the Software Architecture of Microservice-based Systems Slide 8 Towards Recovering the Software Architecture of Microservice-based Systems Slide 9 Towards Recovering the Software Architecture of Microservice-based Systems Slide 10 Towards Recovering the Software Architecture of Microservice-based Systems Slide 11 Towards Recovering the Software Architecture of Microservice-based Systems Slide 12 Towards Recovering the Software Architecture of Microservice-based Systems Slide 13 Towards Recovering the Software Architecture of Microservice-based Systems Slide 14 Towards Recovering the Software Architecture of Microservice-based Systems Slide 15 Towards Recovering the Software Architecture of Microservice-based Systems Slide 16 Towards Recovering the Software Architecture of Microservice-based Systems Slide 17 Towards Recovering the Software Architecture of Microservice-based Systems Slide 18 Towards Recovering the Software Architecture of Microservice-based Systems Slide 19
Upcoming SlideShare
What to Upload to SlideShare
Next
Download to read offline and view in fullscreen.

1 Like

Share

Download to read offline

Towards Recovering the Software Architecture of Microservice-based Systems

Download to read offline

3rd of April 2017. My presentation done at the 1st International Workshop on Architecting with MicroServices, Co-located with the IEEE International Conference on Software Architecture (ICSA 2017), Gothenburg, Sweden.

Today the microservice architectural style is being adopted by many key technological players such as Netflix, Amazon, The Guardian. A microservice architecture is composed of a large set of small services, each running in its own process and communicating with lightweight mechanisms (often via REST APIs).
If on one side having a large set of independently developed services helps in terms of developer productivity, scalability, maintainability, on the other side it is very difficult to have a clear understanding of the overall architecture of a microservice-based software system, specially when the deployment and operation of the involved microservices evolves at run-time.
In this paper we present MicroART, an architecture recovery approach for microservice-based systems. By using Model-Driven Engineering techniques, we leverage a suitably defined domain-specific language for representing the key aspects of the architecture of a microservice-based system and provide a toolchain for automatically extracting architecture models of the system. The only inputs of MicroART are: (i) a GitHub repository containing the source code of the system and (ii) a reference to the container engine managing it. We validated MicroART on a publicly available benchmark system, with promising results.

Accompanying paper: http://www.ivanomalavolta.com/files/papers/AMS_2017.pdf

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all

Towards Recovering the Software Architecture of Microservice-based Systems

  1. 1. Towards Recovering the Software Architecture of 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 Roadmap • Microservice Architectures (MSAs) • MicroART Approach • MicroART Prototype • Conclusions Roadmap
  3. 3. 3Di 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 Introduction
  4. 4. 4Di Francesco et al. Paolo Di Francesco Microservice architectures • Products not Projects • Cross-functional teams • Infrastructure automation • Intelligence in the endpoints • Decentralized governance of • Language • Data Introduction Delivery Pipelines Teams Capabilities
  5. 5. 5Di Francesco et al. Paolo Di Francesco Microservice architectures Introduction Monolith Microservices
  6. 6. 6Di 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 (DSL) MicroART Approach
  7. 7. 7Di Francesco et al. Paolo Di Francesco Reverse Engineering Goal: Reconstruct the architecture of complex systems in an automated manner Reverse Engineering
  8. 8. 8Di Francesco et al. Paolo Di Francesco Architecture Recovery Architecture Recovery
  9. 9. 9Di Francesco et al. Paolo Di Francesco Domain Specific Language Domain Specific Language
  10. 10. 10Di Francesco et al. Paolo Di Francesco Architecture Recovery Architecture Recovery
  11. 11. 11Di Francesco et al. Paolo Di Francesco Architecture Recovery Architecture Recovery
  12. 12. 12Di Francesco et al. Paolo Di Francesco Towards MSA Recovery • Model refinements • Produce an architectural model more significant to the architect’s purposes • Semi-automatic • Iterative Towards MSA Recovery
  13. 13. 13Di 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
  14. 14. 14Di 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
  15. 15. 15Di Francesco et al. Paolo Di Francesco MicroART Tool • Prototype • GitHub • Docker • Benchmark • Open source • Third party MicroART Tool https://github.com/microart/microART-Tool
  16. 16. 16Di Francesco et al. Paolo Di Francesco MicroART Validation MicroART Validation Architecture Model Architecture Refined Model
  17. 17. 17Di Francesco et al. Paolo Di Francesco MicroART Tool MicroART Tool
  18. 18. 18Di Francesco et al. Paolo Di Francesco MicroART Approach • Applicable to existing systems • Benefits • Model-based representations • Graphic rendering • Change impact analysis • Reasoning MicroART Approach
  19. 19. 19Di Francesco et al. Paolo Di Francesco Conclusions Conclusions
  • webpap

    Oct. 7, 2018

3rd of April 2017. My presentation done at the 1st International Workshop on Architecting with MicroServices, Co-located with the IEEE International Conference on Software Architecture (ICSA 2017), Gothenburg, Sweden. Today the microservice architectural style is being adopted by many key technological players such as Netflix, Amazon, The Guardian. A microservice architecture is composed of a large set of small services, each running in its own process and communicating with lightweight mechanisms (often via REST APIs). If on one side having a large set of independently developed services helps in terms of developer productivity, scalability, maintainability, on the other side it is very difficult to have a clear understanding of the overall architecture of a microservice-based software system, specially when the deployment and operation of the involved microservices evolves at run-time. In this paper we present MicroART, an architecture recovery approach for microservice-based systems. By using Model-Driven Engineering techniques, we leverage a suitably defined domain-specific language for representing the key aspects of the architecture of a microservice-based system and provide a toolchain for automatically extracting architecture models of the system. The only inputs of MicroART are: (i) a GitHub repository containing the source code of the system and (ii) a reference to the container engine managing it. We validated MicroART on a publicly available benchmark system, with promising results. Accompanying paper: http://www.ivanomalavolta.com/files/papers/AMS_2017.pdf

Views

Total views

594

On Slideshare

0

From embeds

0

Number of embeds

1

Actions

Downloads

34

Shares

0

Comments

0

Likes

1

×