2024-06 ICSA Industrial Keynote - Demystifying Hypes in Software Architecture

davide.taibi 80 views 43 slides Sep 30, 2024
Slide 1
Slide 1 of 48
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27
Slide 28
28
Slide 29
29
Slide 30
30
Slide 31
31
Slide 32
32
Slide 33
33
Slide 34
34
Slide 35
35
Slide 36
36
Slide 37
37
Slide 38
38
Slide 39
39
Slide 40
40
Slide 41
41
Slide 42
42
Slide 43
43
Slide 44
44
Slide 45
45
Slide 46
46
Slide 47
47
Slide 48
48

About This Presentation

This is the presentation of the ICSA 2024 Industry Keynote speech by Davide Taibi


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

FromMicroservicesto ServerlessFunctions
•Practitionersstartedmigratingfrommicroservicesto FaaS
•MixedApproach(microservices+ Functions)
•New applications100% serverless

Why practitioners are moving to
serverless

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

Patterns and Anti-Patterns

Technology Assessment Feramework
•Microservice Assessment
Framework

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

39
Credits: Google Maps
Static Analysis

•Source Code
•IaC
•Git Log
•Commit message
•PR
•Comments
•Issue Trackers.
•…
40
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
Tags