SlideShare ist ein Scribd-Unternehmen logo
1 von 11
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
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
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
4Di Francesco et al.
Paolo Di Francesco
Architecture Model
Architecture Model
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
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
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
8Di Francesco et al.
Paolo Di Francesco
MicroART Tool
MicroART Tool
9Di Francesco et al.
Paolo Di Francesco
MicroART Tool
• Prototype
• GitHub
• Docker
• Benchmark
• Open source
• Third party
MicroART Tool
10Di Francesco et al.
Paolo Di Francesco
MicroART Validation
MicroART Validation
Architecture Model Architecture Refined Model
11Di Francesco et al.
Paolo Di Francesco
Conclusions
https://github.com/microart/microART-Tool
Conclusions

Weitere ähnliche Inhalte

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

Model driven development and code generation of software systems
Model driven development and code generation of software systemsModel driven development and code generation of software systems
Model driven development and code generation of software systemsMarco Brambilla
 
Using patterns and pattern languages to make better architectural decisions
Using patterns and pattern languages to make better architectural decisions Using patterns and pattern languages to make better architectural decisions
Using patterns and pattern languages to make better architectural decisions Chris Richardson
 
Microserces Architecture
Microserces ArchitectureMicroserces Architecture
Microserces ArchitectureHadi Rasouli
 
Practical Microservice Architecture (edition 2022).pdf
Practical Microservice Architecture (edition 2022).pdfPractical Microservice Architecture (edition 2022).pdf
Practical Microservice Architecture (edition 2022).pdfAhmed Misbah
 
Micro services Architecture with Vortex -- Part I
Micro services Architecture with Vortex -- Part IMicro services Architecture with Vortex -- Part I
Micro services Architecture with Vortex -- Part IAngelo Corsaro
 
Pitfalls & Challenges Faced During a Microservices Architecture Implementation
Pitfalls & Challenges Faced During a Microservices Architecture ImplementationPitfalls & Challenges Faced During a Microservices Architecture Implementation
Pitfalls & Challenges Faced During a Microservices Architecture ImplementationCognizant
 
A Systematic Literature Review On Microservices
A Systematic Literature Review On MicroservicesA Systematic Literature Review On Microservices
A Systematic Literature Review On MicroservicesRichard Hogue
 
Build-IT - An Interactive Web Application for 3D Construction, Interior & Ext...
Build-IT - An Interactive Web Application for 3D Construction, Interior & Ext...Build-IT - An Interactive Web Application for 3D Construction, Interior & Ext...
Build-IT - An Interactive Web Application for 3D Construction, Interior & Ext...Renien Joseph
 
Communication & Coordination on a Construction Project Through Building I...
Communication & Coordination on a Construction Project Through Building I...Communication & Coordination on a Construction Project Through Building I...
Communication & Coordination on a Construction Project Through Building I...muhammad87
 
Taming Complexity: On Studying the Application of Model-Driven Engineering to...
Taming Complexity: On Studying the Application of Model-Driven Engineering to...Taming Complexity: On Studying the Application of Model-Driven Engineering to...
Taming Complexity: On Studying the Application of Model-Driven Engineering to...Florian Rademacher
 
Intro to Microservices - SimtTLiX Tech Talk
Intro to Microservices - SimtTLiX Tech TalkIntro to Microservices - SimtTLiX Tech Talk
Intro to Microservices - SimtTLiX Tech TalkLeo Marzo
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringHironori Washizaki
 
How to Leverage BIM and 3D Laser Scanning for As-Built Documentation
How to Leverage BIM and 3D Laser Scanning for As-Built DocumentationHow to Leverage BIM and 3D Laser Scanning for As-Built Documentation
How to Leverage BIM and 3D Laser Scanning for As-Built DocumentationMichael William
 
Visualisation for the AEC Sector: Past, Present and Tomorrow… #COMIT2016
Visualisation for the AEC Sector: Past, Present and Tomorrow… #COMIT2016Visualisation for the AEC Sector: Past, Present and Tomorrow… #COMIT2016
Visualisation for the AEC Sector: Past, Present and Tomorrow… #COMIT2016Comit Projects Ltd
 
Design concepts and design principles
Design concepts and design principlesDesign concepts and design principles
Design concepts and design principlesDhruvin Nakrani
 
apidays LIVE Hong Kong 2021 - Modernizing Monolith Applications with API Arch...
apidays LIVE Hong Kong 2021 - Modernizing Monolith Applications with API Arch...apidays LIVE Hong Kong 2021 - Modernizing Monolith Applications with API Arch...
apidays LIVE Hong Kong 2021 - Modernizing Monolith Applications with API Arch...apidays
 

Ähnlich wie MicroART: A Software Architecture Recovery Tool for Maintaining Microservice-based Systems (20)

Model driven development and code generation of software systems
Model driven development and code generation of software systemsModel driven development and code generation of software systems
Model driven development and code generation of software systems
 
Using patterns and pattern languages to make better architectural decisions
Using patterns and pattern languages to make better architectural decisions Using patterns and pattern languages to make better architectural decisions
Using patterns and pattern languages to make better architectural decisions
 
Microservices
MicroservicesMicroservices
Microservices
 
Microserces Architecture
Microserces ArchitectureMicroserces Architecture
Microserces Architecture
 
Practical Microservice Architecture (edition 2022).pdf
Practical Microservice Architecture (edition 2022).pdfPractical Microservice Architecture (edition 2022).pdf
Practical Microservice Architecture (edition 2022).pdf
 
Group 14 presentation.pptx
Group 14 presentation.pptxGroup 14 presentation.pptx
Group 14 presentation.pptx
 
Micro services Architecture with Vortex -- Part I
Micro services Architecture with Vortex -- Part IMicro services Architecture with Vortex -- Part I
Micro services Architecture with Vortex -- Part I
 
3 d modeling using bim ppt
3 d modeling using bim ppt3 d modeling using bim ppt
3 d modeling using bim ppt
 
Pitfalls & Challenges Faced During a Microservices Architecture Implementation
Pitfalls & Challenges Faced During a Microservices Architecture ImplementationPitfalls & Challenges Faced During a Microservices Architecture Implementation
Pitfalls & Challenges Faced During a Microservices Architecture Implementation
 
A Systematic Literature Review On Microservices
A Systematic Literature Review On MicroservicesA Systematic Literature Review On Microservices
A Systematic Literature Review On Microservices
 
Build-IT - An Interactive Web Application for 3D Construction, Interior & Ext...
Build-IT - An Interactive Web Application for 3D Construction, Interior & Ext...Build-IT - An Interactive Web Application for 3D Construction, Interior & Ext...
Build-IT - An Interactive Web Application for 3D Construction, Interior & Ext...
 
Communication & Coordination on a Construction Project Through Building I...
Communication & Coordination on a Construction Project Through Building I...Communication & Coordination on a Construction Project Through Building I...
Communication & Coordination on a Construction Project Through Building I...
 
Taming Complexity: On Studying the Application of Model-Driven Engineering to...
Taming Complexity: On Studying the Application of Model-Driven Engineering to...Taming Complexity: On Studying the Application of Model-Driven Engineering to...
Taming Complexity: On Studying the Application of Model-Driven Engineering to...
 
Intro to Microservices - SimtTLiX Tech Talk
Intro to Microservices - SimtTLiX Tech TalkIntro to Microservices - SimtTLiX Tech Talk
Intro to Microservices - SimtTLiX Tech Talk
 
Microservices: Detailed Guide
Microservices: Detailed GuideMicroservices: Detailed Guide
Microservices: Detailed Guide
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their Engineering
 
How to Leverage BIM and 3D Laser Scanning for As-Built Documentation
How to Leverage BIM and 3D Laser Scanning for As-Built DocumentationHow to Leverage BIM and 3D Laser Scanning for As-Built Documentation
How to Leverage BIM and 3D Laser Scanning for As-Built Documentation
 
Visualisation for the AEC Sector: Past, Present and Tomorrow… #COMIT2016
Visualisation for the AEC Sector: Past, Present and Tomorrow… #COMIT2016Visualisation for the AEC Sector: Past, Present and Tomorrow… #COMIT2016
Visualisation for the AEC Sector: Past, Present and Tomorrow… #COMIT2016
 
Design concepts and design principles
Design concepts and design principlesDesign concepts and design principles
Design concepts and design principles
 
apidays LIVE Hong Kong 2021 - Modernizing Monolith Applications with API Arch...
apidays LIVE Hong Kong 2021 - Modernizing Monolith Applications with API Arch...apidays LIVE Hong Kong 2021 - Modernizing Monolith Applications with API Arch...
apidays LIVE Hong Kong 2021 - Modernizing Monolith Applications with API Arch...
 

Kürzlich hochgeladen

A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 

Kürzlich hochgeladen (20)

A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 

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

  • 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. 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. 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. 4Di Francesco et al. Paolo Di Francesco Architecture Model Architecture Model
  • 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. 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. 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. 8Di Francesco et al. Paolo Di Francesco MicroART Tool MicroART Tool
  • 9. 9Di Francesco et al. Paolo Di Francesco MicroART Tool • Prototype • GitHub • Docker • Benchmark • Open source • Third party MicroART Tool
  • 10. 10Di Francesco et al. Paolo Di Francesco MicroART Validation MicroART Validation Architecture Model Architecture Refined Model
  • 11. 11Di Francesco et al. Paolo Di Francesco Conclusions https://github.com/microart/microART-Tool Conclusions