5th of April 2017. My presentation done at the 14th International Conference on Software Architecture (ICSA), Gothenburg, Sweden.
Microservices are a new trend rising fast from the enterprise world. Even though the design principles around microservices have been identified, it is difficult to have a clear view of existing research solutions for architecting microservices.
A systematic mapping study methodology has been used to identify, classify, and evaluate the current state of the art on architecting microservices from the following three perspectives: publication trends, focus of research, and potential for industrial adoption. More specifically, we systematically define a classification framework for categorizing the research on architecting microservices and we rigorously apply it to the 71 selected studies. We synthesize the obtained data and produce a clear overview of the state of the art. This gives a solid basis to plan for future research and applications of architecting microservices.
Accompanying paper: http://www.ivanomalavolta.com/files/papers/ICSA_2017.pdf
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Research on Architecting Microservices: Trends, Focus, and Potential for Industrial Adoption
1. Research on Architecting Microservices:
Trends, Focus, and Potential for Industrial Adoption
*paolo.difrancesco@gssi.it
‡{p.lago, i.malavolta}@vu.nl
Paolo Di Francesco*, Patricia Lago‡, Ivano Malavolta‡
2. 2Di Francesco, Lago, Malavolta
Paolo Di Francesco
Roadmap
• Microservice Architectures (MSAs)
• Study Design
• Results
• Conclusions
Roadmap
3. 3Di Francesco, Lago, Malavolta
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. 4Di Francesco, Lago, Malavolta
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
6. 6Di Francesco, Lago, Malavolta
Paolo Di Francesco
Solution
SYSTEMATIC MAPPING STUDY
• Unbiased
• Objective
• Systematic
• Answer a set of research questions by analysing all relevant
research contributions
Introduction
7. 7Di Francesco, Lago, Malavolta
Paolo Di Francesco
Systematic mapping study
• RQ1: What are the publication trends of research studies about
architecting microservices?
• RQ2: What is the focus of research on architecting
microservices?
• RQ3: What is the potential for industrial adoption of existing
research on architecting microservices?
Systematic Mapping Study
8. 8Di Francesco, Lago, Malavolta
Paolo Di Francesco
Systematic mapping study
Systematic Mapping Study
342 297
(architect* OR design* OR system OR structur*) AND (microservi* OR
micro-servi* OR "micro servi"*)
9. 9Di Francesco, Lago, Malavolta
Paolo Di Francesco
Systematic mapping study
RQ1: What are the publication trends of research studies?
• Scientific interest, venues, and contribution types
RQ2: What is the focus of research?
• Understanding of current research gaps
• Classification framework
RQ3: What is the potential for industrial adoption of existing
research?
• Are we ready to be transferred to industry?
Systematic Mapping Study
10. 10Di Francesco, Lago, Malavolta
Paolo Di Francesco
RQ1 – Publication trends
Finding: Publication venues are scattered across specific topics or
application domains
Publication Trends
11. 11Di Francesco, Lago, Malavolta
Paolo Di Francesco
RQ1 – Publication trends
Gap: Industry-oriented studies are not yet in the focus of researchers
Publication Trends
3
3
8
8
14
48
0 10 20 30 40 50 60
Evaluation research
Philosophical paper
Experience paper
Opinion paper
Validation research
Solution proposal
I - Research Strategy
12. 12Di Francesco, Lago, Malavolta
Paolo Di Francesco
Systematic mapping study
RQ1: What are the publication trends of research studies?
• Scientific interest, venues, and contribution types
RQ2: What is the focus of research?
• Understanding of current research gaps
• Classification framework
RQ3: What is the potential for industrial adoption of existing
research?
• Are we ready to be transferred to industry?
Systematic Mapping Study
13. 13Di Francesco, Lago, Malavolta
Paolo Di Francesco
RQ2 – Research Focus
1. Research Scope
• Information to put a research study into context
• Target problems, research perspective, software lifecycle
2. Support for architecting
• Architecting activities, quality attributes, architectural patterns,
infrastructure services
Research Focus
14. 14Di Francesco, Lago, Malavolta
Paolo Di Francesco
RQ2 – Research Focus (Scope)
• Finding: Tradeoff between flexibility and complexity
• Gap: System level qualities not yet fully investigated
Research Focus
4
4
4
5
5
7
7
11
13
15
16
19
19
0 5 10 15 20
Time to market
Security
Realtime communication
Low testability
Low portability
Runtime uncertainty
Low auditability
Modernization
Data management
Service composition
Resources management
Low flexibility
Complexity
II - Target Problems
15. 15Di Francesco, Lago, Malavolta
Paolo Di Francesco
RQ2 – Research Focus (Scope)
• Key enablers: Containerization and Virtualization
• Researchers are investigating how to leverage system quality
• Finding: Focus on legacy migration
Research Focus
10
6
6
11
16
21
21
0 5 10 15 20 25
Other
Mobile oriented
IoT
Domain-specific
Migration
System quality
Cloud
IV - Research Perspective
16. 16Di Francesco, Lago, Malavolta
Paolo Di Francesco
RQ2 – Research Focus (Scope)
• Cross-cutting domains of application
• Finding: Focus on cloud and mobile
Research Focus
10
6
6
11
16
21
21
0 5 10 15 20 25
Other
Mobile oriented
IoT
Domain-specific
Migration
System quality
Cloud
IV - Research Perspective
17. 17Di Francesco, Lago, Malavolta
Paolo Di Francesco
RQ2 – Research Focus (Scope)
• Gap: Maintenance and testing are not primary targets
• Finding: Most studies cover design, but one addresses requirements
Research Focus
1
10
12
22
24
65
0 10 20 30 40 50 60 70
Requirements
Testing
Maintenance
Operation
Implementation
Design
VI - SW Lifecycle Scope
18. 18Di Francesco, Lago, Malavolta
Paolo Di Francesco
RQ2 – Research Focus (Support for Architecting)
• Little focus on architectural reuse, maintenance and evolution, impact
analysis and recovery
• Low interest in extrovert architecting activities
Research Focus
0
4
2
5
6
6
10
15
18
23
29
56
0 10 20 30 40 50 60
Getting Input
Providing Information
A. Impact Analysis
A. Recovery
A. Synthesis
A. Reuse
A. Understanding
A. Mainten. and Evo
A. Evaluation
A. Description
A. Implementation
A. Analysis
VII - Architecting Activities
19. 19Di Francesco, Lago, Malavolta
Paolo Di Francesco
RQ2 – Research Focus (Support for Architecting)
Gap: Not equal attention to every quality attributes
Research Focus
12
13
14
14
14
17
28
40
0 10 20 30 40 50
Portability
Usability
Compatibility
Reliability
Functional suitability
Security
Maintainability
Performance efficiency
VIII - Quality Attributes
20. 20Di Francesco, Lago, Malavolta
Paolo Di Francesco
RQ2 – Research Focus (Support for Architecting)
Set of infrastructure services supporting non-functional tasks
Finding: This focus will help devising new patterns and styles for further
leveraging cloud-based architectural models
Research Focus
1
4
6
6
10
13
26
26
0 5 10 15 20 25 30
Data storage
Service Proxies
Security
Messaging
Service brokering
Service Orchestration
System level management
Monitoring
XI - Infrastructure Services
21. 21Di Francesco, Lago, Malavolta
Paolo Di Francesco
Systematic mapping study
RQ1: What are the publication trends of research studies?
• Scientific interest, venues, and contribution types
RQ2: What is the focus of research?
• Understanding of current research gaps
• Classification framework
RQ3: What is the potential for industrial adoption of existing
research?
• Are we ready to be transferred to industry?
Systematic Mapping Study
22. 22Di Francesco, Lago, Malavolta
Paolo Di Francesco
RQ3 – Potential for Industrial Adoption
Technology Readiness Level
Technology is either formulated, validated or demonstrated
• At most in lab TRL ≤ 4
• In relevant environment 5 ≤ TRL ≤ 6
• In operational environments TRL ≥ 7
Potential for Industrial Adoption
23. 23Di Francesco, Lago, Malavolta
Paolo Di Francesco
RQ3 – Potential for Industrial Adoption
Industry Involvement
Potential for Industrial Adoption
24. 24Di Francesco, Lago, Malavolta
Paolo Di Francesco
Conclusions
http://cs.gssi.infn.it/ICSA2017ReplicationPackage
Conclusions