2024-06 ICSA Industrial Keynote - Demystifying Hypes in Software Architecture
davide.taibi
80 views
43 slides
Sep 30, 2024
Slide 1 of 48
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
About This Presentation
This is the presentation of the ICSA 2024 Industry Keynote speech by Davide Taibi
Size: 6.13 MB
Language: en
Added: Sep 30, 2024
Slides: 43 pages
Slide Content
Demystifying Hypes in Cloud-
Native Technologies
Davide Taibi
Professor. University of Oulu
Software Evolution: Architecture
2015s
Function as a Service
HighlyDecoupled
Software Evolution: Organization
New Technology Advantages
Software Architecture Evolution
Why Practitioners Adopt New
Technologies
MicroserviceMigrationMotivations
-Improve Maintainability
-Improve Scalability
-Reduce Costs
-Simplify Distributed Work
-Improve System understandability
Main Issues Identified
Davide Taibi -Colloquium Series -SPLAB ZHAW
Technical Issues
•Architectural Patterns are not clear
•Decoupling from the monolithic system
•Database migration and data splitting
Effort-Related issues
•Effort required for the DevOps infrastructure
•Effort required for library conversion
•Effort at least 20% higher
O’Reilly SW Architecture Conference 2018
Stop using microservices!
Move to serverless functions as soon as possible!
What is Serverless [3]
[3] BaldiniI. et al. (2017) Serverless Computing: Current Trends and Open Problems. In: Chaudhary S., SomaniG., Buyya
R. (eds) Research Advances in Cloud Computing. Springer, Singapore
Migration Motivations
Companies Already moved to Microservices
•OPS Effort for Microservices
•Get rid of Kubernetes
•No OPS
Companies Migrating from Monolithic systems
•New (hype) technology
•Promising technology
•No initial infrastructural costs (pay as you use)
•Automatic scaling
•Lack of skilled OPS personnel
Migration Issues
•Developers are not used to the event-oriented programming
•Very hard to test
•Debug almost impossible
•Unknown Patterns and antipatterns
•Anomalies can generate unexpected costs!
Microservices or Serverless
Both! Serverless Microservices
Composing Serverless functions to Microservices
How About Micro-Frontends?
“
Micro-frontendsare the technical
representation of a business subdomain,
they allow independent implementationswith
same or different technology choices, finally
they avoid sharing logic with other subdomains
and they are own by a single team
21
From Domain
Driven Design
(DDD)
2
2
How About Service Mesh?
Companies are rolling back
R.Su, X.Li, D.Taibi. Back to the Future: From
Microservice to Monolith. Microservices 2023, Pisa.
From Microservice to Monolithic
Microservices
Serverless
Micro-
Frontends
Cognitive and
Continuum Cloud
From Microservice to Monolithic
Microservices
Serverless
Micro-
Frontends
Cognitive and
Continuum Cloud
Reasons:
complexity, scalability, performance,
organizational reasons.
Our Demystification Process
Benefits and
Issues of new
Technologies
Patterns and
Anti-Patterns
Follow-Up
Case Studies
Technology
Assessment
Frameworks
Our Demystification Process
Demystifying New Hypes
Microservices
Serverless
Micro-
Frontends
Cognitive and
Continuum Cloud
Technology
Assessment
My favouriteexample (Blockchain)
M.E. PechDO YOU NEED A BLOCKCHAIN?
IEEE Spectrum. September 2017.
https://spectrum.ieee.org/do-you-need-a-blockchain
Architectural Drift Analysis and Degradation
Long-Term Architectural Choices
Shouldn’t be violated
Architectural Drift Analysis and Degradation
Is your architecture changed?
Architectural Drift Analysis and Degradation
Is your architecture changed?
Reverse Engineering –Architectural Reconstruction
Architectural Reconstruction
•Static
•From source code
•Dynamic
•From the execution of the system (e.g. log traces)
Mapping all the possible “paths” in your system
38
Static Analysis
•19Research-based tools for Architectural
reconstruction[Bakhtin et al]
•Arcan (Univ. Milano Bicocca)
•Prophet (Oulu and Baylor University)
•…
Static Analysis for Microservice-Based Applications
https://github.com/cloudhubs/prophet-web
Static Analysis: Tools
Alexander Bakhtin, XiaozhouLi, Jacopo Soldani, Antonio Brogi, Tomas Cerny, and Davide Taibi. 2023.
Tools Reconstructing Microservice Architecture: A Systematic Mapping Study. AMC@ECSA Workshop
42
Dynamic Analysis
Credits: Science ABC
43
Dynamic Analysis.
Street Traffic View Bicycle Traffic View
18 tools
(10 commercial, 8 research-based)
[Bakhtin et al]
DynamcAnalysis: Tools
Alexander Bakhtin, XiaozhouLi, Jacopo Soldani, Antonio Brogi, Tomas Cerny, and Davide Taibi. 2023.
Tools Reconstructing Microservice Architecture: A Systematic Mapping Study. AMC@ECSA Workshop
Jaeger
Zipkin
AWS X-Ray
Netflix Interactive VIsualization
Existing tools shortfalls
•Reconstruction only
•Mainly for visualization
•High potential for SQA
What can we measure from Call
Graphs?
Architectural Quality
4
7
-Microservice Patterns and Anti-Patterns
-Identification
-Detection tools and methods
Anti-Patterns Detection and Visualization
4
8
-Structural Coupling
-Logical Coupling
-Organizational/Architectural Coupling
Microservice Coupling Visualization Example Microservice Coupling and Anti-Pattern Visualization
Example
Architectural Quality: Coupling
A possible future… with generative AI
Refactoring and Quality Improvement
•Will it clean up our code?
•Will it refactor our SW Architecture?
•Will it enable to remove simple anti-patterns or prevent them?
Conclusion
•New Technologies are continuously introduced
•Silver Bullets do not exist
•Economical, and Technical motivations should be always considered
•Think about the issues in your system before migrating
Thanks
Davide Taibi
University of Oulu [email protected]
https://m3s-cloud.github.io