a prototypical tool to discover architecture changes based ...€¦ · a prototypical tool to...
TRANSCRIPT
Chair of Software Engineering for Business Information Systems (sebis)
Faculty of Informatics
Technische Universität München
wwwmatthes.in.tum.de
A prototypical tool to discover architecture
changes based on multiple monitoring data
sources for a distributed systemPatrick Schäfer, 08.11.2017, Munich
Advisor: Martin Kleehaus
Motivation
▪ Modeled & Runtime Architecture
▪ Problem Statement
Research Questions
Prototypical Implementation
▪ Operating Environment
▪ Discovery Concept
▪ Implementation
Live Demonstration
Limitations
Outline
© sebis171108 Schäfer, Patrick - Master's Thesis final presentation 2
Motivation
Modeled Enterprise Architecture
© sebis171108 Schäfer, Patrick - Master's Thesis final presentation 3
VM VM VM VM
Motivation
Runtime architecture
© sebis171108 Schäfer, Patrick - Master's Thesis final presentation 4
Necessity of knowledge about runtime architecture
▪ Detecting deviations from modeled architecture
▪ Compliance violations / SLA violations
▪ Semi-automated root cause analysis
▪ Semi-automated Impact analysis
State of the art solutions
Application Runtime Architecture Discovery
Architecture
discovery
VM VM VM VM
Motivation
Problem statement
© sebis171108 Schäfer, Patrick - Master's Thesis final presentation 5
Problem:
Current discovery solutions don‘t own knowledge about the entire architecture including
dependencies between and within the architectual layers
Consequences
▪ comparison of modeled and runtime architecture
not possible across all layers
▪ root cause analysis is challenging and time consuming
▪ Incomplete impact analysis
Objective
▪ a system, that owns knowledge about all
realtime architecture components as well as
their inter- and intralayer dependencies
?
How to discover the Microservice Architecture by applying
distributed tracing?
What are component relationship types and how to discover them
automatically?
How to discover concurrency and synchronization?
How to recognize changes in the Microservice Architecture?
How to provide a smart user interface for adding business
semantic on top of business services?
Research questions
© sebis 6171108 Schäfer, Patrick - Master's Thesis final presentation
1
2
3
4
5
Prototypical Implementation
Operating Environment
© sebis 7171108 Schäfer, Patrick - Master's Thesis final presentation
Service
Service
Service
ServiceClient
Required Component
Optional Component
Legend:
Instrumented Distributed System
API
Gateway
EurekaRepository
Zipkin
Server
Service
Instrumented Service
Service
Distributed Tracing Spans
Required components of the prototypes operating environment:
▪ Instrumented Services
▪ Service Repository Eureka
▪ Zipkin Server
Prototypical Implementation
Discovery Concept: Architecture Model
© sebis 8171108 Schäfer, Patrick - Master's Thesis final presentation
Hardware 1
Process
Activity 1 Activity 2
Service 1
Instance 1.1 Instance 1.2
Service 2
Processes
Bu
sin
ess L
aye
r
Activities
Services
Ap
plic
ation
Laye
r
Service-Instances Instance 2
Hardware 2Hardware
Te
ch
nolo
gy L
aye
r
Prototypical Implementation
Discovery Concept: Architecture Model - Relations
© sebis 9171108 Schäfer, Patrick - Master's Thesis final presentation
Hardware 1
Process
Activity 1 Activity 2
Service 1
Instance 1.1 Instance 1.2
Service 2
Processes
Bu
sin
ess L
aye
r
Activities
Services
Ap
plic
ation
Laye
r
Service-Instances Instance 2
Hardware 2Hardware
Te
ch
nolo
gy L
aye
r
is followed by
uses
is executed by is executed by
is composed of is composed of is composed of
runs on runs on
Implicit meaning of relations
Prototypical Implementation
Discovery Concept: Architecture Model - Relations
© sebis 10171108 Schäfer, Patrick - Master's Thesis final presentation
Hardware 1
Process
Activity 1 Activity 2
Service 1
Instance 1.1 Instance 1.2
Service 2
Processes
Bu
sin
ess L
aye
r
Activities
Services
Ap
plic
ation
Laye
r
Service-Instances Instance 2
Hardware 2Hardware
Te
ch
nolo
gy L
aye
r
Hierarchical Interlayer-Relation Non-Hirarchical Intralayer-Relation
Relation classification: Interlayer- and Intralayer-Relations
Prototypical Implementation
Discovery Concept: Architecture Model - Relations
© sebis 11171108 Schäfer, Patrick - Master's Thesis final presentation
Hardware 1
Process
Activity 1 Activity 2
Service 1
Instance 1.1 Instance 1.2
Service 2
Processes
Bu
sin
ess L
aye
r
Activities
Services
Ap
plic
ation
Laye
r
Service-Instances Instance 2
Hardware 2Hardware
Te
ch
nolo
gy L
aye
r
Direct Relation
Relation classification: Direct and Indirect Relations
Indirect Relation
Prototypical Implementation
Discovery Concept: Architecture Model - Relations
© sebis 12171108 Schäfer, Patrick - Master's Thesis final presentation
Hardware 1
Process
Activity 1 Activity 2
Service 1
Instance 1.1 Instance 1.2
Service 2
Processes
Bu
sin
ess L
aye
r
Activities
Services
Ap
plic
ation
Laye
r
Service-Instances Instance 2
Hardware 2Hardware
Te
ch
nolo
gy L
aye
r
Direct RelationPath of Indirect Relation
Relation classification: Direct and Indirect Relations
Indirect Relation
Prototypical Implementation
Discovery Concept: Architecture Model - Relations
© sebis 13171108 Schäfer, Patrick - Master's Thesis final presentation
Activity 1 Activity 2
API Gateway Service
Indirect Relations are necessary
Service 1 Service 2
Service 3
Prototypical Implementation
Discovery Concept: Architecture Model - Relations
© sebis 14171108 Schäfer, Patrick - Master's Thesis final presentation
Activity 1 Activity 2
API Gateway Service
Indirect Relations are necessary
Service 1 Service 2
Service 3
Prototypical Implementation
Discovery Concept: Business Layer
© sebis 15171108 Schäfer, Patrick - Master's Thesis final presentation
Processes
Activities
Services
Instances
Hardware
Modelling via Web UI:
▪ Process and Activity entities
▪ Process-flow
Added to the architecture model via REST API
Prototypical Implementation
Discovery Concept: Application / Technology Layer
© sebis 16171108 Schäfer, Patrick - Master's Thesis final presentation
Processes
Activities
Services
Instances
Hardware
Detection of
▪ Services, Instances, Hardware
▪ Interlayer-Relations of these types
In Realtime by analysing Distributed Tracing
▪ Detects new entities only
Cyclic by processing Eureka API
▪ Detects new, updated or removed entitites
Prototypical Implementation
Discovery Concept: Service intralayer Relations
© sebis 17171108 Schäfer, Patrick - Master's Thesis final presentation
Processes
Activities
Services
Instances
Hardware
Detection of relations between Services
in Realtime by analysing Distributed Tracing Spans
*Source: http://opentracing.io/documentation/pages/instrumentation/instrumenting-large-systems.html
Distributed Tracing Span production*
Prototypical Implementation
Discovery Concept: Business / Application Relations
© sebis 18171108 Schäfer, Patrick - Master's Thesis final presentation
Processes
Activities
Services
Instances
Hardware
Detection of Interlayer-Relations between
Activities and Services in Realtime
▪ Set of regular expressions mapping to activities
▪ Set defined via Web UI and REST API
▪ Distributed Tracing Spans applied to ruleset
Prototypical Implementation
Implementation: System Components
© sebis 19171108 Schäfer, Patrick - Master's Thesis final presentation
Prototype
Kafka Stream Websocket Bridge
Webapplication
Business Layer Modelling
Relation Ruleset
Architecture Visualization
Microservice
Architecture
Eureka Repository
Distributed Tracing
Architecture-
discovery service
RE
ST
AP
I
Prototypical Implementation
Implementation: Environment
© sebis 20171108 Schäfer, Patrick - Master's Thesis final presentation
Service
Service
Service
ServiceClient
Instrumented Distributed System
API
Gateway
EurekaRepository
Zipkin
Server
Service
Service
▪ Zipkin Server replaced by Prototype
▪ Prototype extends Zipkin implementation
▪ Zipkin Server Features stay complete and unmodified
▪ Zipkin Server replaced by Prototype
▪ Prototype extends Zipkin implementation
▪ Zipkin Server Features stay complete and unmodified
Prototypical Implementation
Implementation: Environment
© sebis 21171108 Schäfer, Patrick - Master's Thesis final presentation
Service
Service
Service
ServiceClient
Instrumented Distributed System
API
Gateway
EurekaRepository
Prototype and
Zipkin Server
Service
Service
© sebis 22171108 Schäfer, Patrick - Master's Thesis final presentation
Live Demonstration
Scenario: Business Process
Login
Ende
Start
Select Provider
Search Route
Book Route
Logout
© sebis 23171108 Schäfer, Patrick - Master's Thesis final presentation
Business Core
Service
Accounting Core
Service
DeutscheBahn
Mobility Service
DriveNow
Mobility Service
Zuul
API Proxy
Travel-
companion
Service
Maps Helper
Service
Live Demonstration
Scenario: Microservice Architecture
Login
Ende
Start
Select Provider
Search Route
Book Route
Logout
© sebis 24171108 Schäfer, Patrick - Master's Thesis final presentation
Business Core
Service
Accounting Core
Service
DeutscheBahn
Mobility Service
DriveNow
Mobility Service
Zuul
API Proxy
Travel-
companion
Service
Maps Helper
Service
Live Demonstration
Scenario: Microservice Architecture
Login
Ende
Start
Select Provider
Search Route
Book Route
Logout
© sebis 25171108 Schäfer, Patrick - Master's Thesis final presentation
Accounting Core
Service
Business Core
Service
DeutscheBahn
Mobility Service
DriveNow
Mobility Service
Zuul
API Proxy
Travel-
companion
Service
Maps Helper
Service
Live Demonstration
Scenario: Microservice Architecture
Login
Ende
Start
Select Provider
Search Route
Book Route
Logout
© sebis 26171108 Schäfer, Patrick - Master's Thesis final presentation
Accounting Core
Service
Business Core
Service
DeutscheBahn
Mobility Service
DriveNow
Mobility Service
Zuul
API Proxy
Travel-
companion
Service
Maps Helper
Service
Live Demonstration
Scenario: Microservice Architecture
Login
Ende
Start
Select Provider
Search Route
Book Route
Logout
© sebis 27171108 Schäfer, Patrick - Master's Thesis final presentation
Accounting Core
Service
Business Core
Service
DeutscheBahn
Mobility Service
DriveNow
Mobility Service
Zuul
API Proxy
Travel-
companion
Service
Maps Helper
Service
Live Demonstration
Scenario: Microservice Architecture
Login
Ende
Start
Select Provider
Search Route
Book Route
Logout
© sebis 28171108 Schäfer, Patrick - Master's Thesis final presentation
Accounting Core
Service
Business Core
Service
DeutscheBahn
Mobility Service
DriveNow
Mobility Service
Zuul
API Proxy
Travel-
companion
Service
Maps Helper
Service
Live Demonstration
Scenario: Microservice Architecture
Login
Ende
Start
Select Provider
Search Route
Book Route
Logout
© sebis 29171108 Schäfer, Patrick - Master's Thesis final presentation
Accounting Core
Service
Business Core
Service
DeutscheBahn
Mobility Service
DriveNow
Mobility Service
Zuul
API Proxy
Travel-
companion
Service
Maps Helper
Service
Live Demonstration
Scenario: Microservice Architecture
Login
Ende
Start
Select Provider
Search Route
Book Route
Logout
© sebis 30171108 Schäfer, Patrick - Master's Thesis final presentation
Accounting Core
Service
Business Core
Service
DeutscheBahn
Mobility Service
DriveNow
Mobility Service
Zuul
API Proxy
Travel-
companion
Service
Maps Helper
Service
Live Demonstration
Scenario: Microservice Architecture
Login
Ende
Start
Select Provider
Search Route
Book Route
Logout
© sebis 31171108 Schäfer, Patrick - Master's Thesis final presentation
DeutscheBahn
Mobility Service
DriveNow
Mobility Service
Travel-
companion
Service
Maps Helper
Service
Live Demonstration
Scenario: Microservice Architecture - Deployment
Host 0 (10.0.2.100)
Eureka
Config Service
Prototype
Host 1 (10.0.2.110)
Zuul
API Proxy
Business Core
Service
Accounting Core
Service
Host 2.1 (10.0.2.121)
DeutscheBahn
Mobility Service
DriveNow
Mobility Service
Travel-
companion
Service
Maps Helper
Service
Host 2.2 (10.0.2.121)
© sebis 32171108 Schäfer, Patrick - Master's Thesis final presentation
Live Demonstration
© sebis 33171108 Schäfer, Patrick - Master's Thesis final presentation
Limitations
▪ Requires Zipkin-compatible instrumentation as well as Eureka
▪ Amount of metainformation depends on instrumentation
▪ Raw communications like Database-Access is not detected
▪ Virtual Hosts are not detected
▪ Business layer is modelled
Technische Universität München
Faculty of Informatics
Chair of Software Engineering for
Business Information Systems
Boltzmannstraße 3
85748 Garching bei München
Tel +49.89.289.
Fax +49.89.289.17136
wwwmatthes.in.tum.de
Patrick Schäfer
B.Sc.
Backup
© sebis171108 Schäfer, Patrick - Master's Thesis final presentation 35
© sebis 36171108 Schäfer, Patrick - Master's Thesis final presentation
Business Core
Service
Accounting Core
Service
DeutscheBahn
Mobility Service
DriveNow
Mobility Service
Zuul
API Proxy
Travel-
companion
Service
Maps Helper
Service
Live Demonstration
Scenario: Microservice Architecture
Asynchronous communication
Synchronous communication
Prototypical Implementation
Discovery Concept: Architecture Model - Relations
© sebis 37171108 Schäfer, Patrick - Master's Thesis final presentation
Hardware 1
Process
Activity 1 Activity 2
Service 1
Instance 1.1 Instanz 1.2
Service 2
Processes
Bu
sin
ess L
aye
r
Activities
Services
Ap
plic
ation
Laye
r
Service-Instances Instanz 2
Hardware 2Hardware
Te
ch
nolo
gy L
aye
r
Direct RelationPath of Indirect Relation
Relation classification: Direct and Indirect Relations
Indirect Relation
Prototypical Implementation
Implementation: Zipkin Server Extension
© sebis 38171108 Schäfer, Patrick - Master's Thesis final presentation
Collektor
REST Collektor Kafka Collektor …
MySQL DB
REST API
Zipkin UI
Span Span Span
Architecturediscoveryservice
Span
MySQL Storage
Prototypical Implementation
Implementation: Zipkin Server Extension
© sebis 39171108 Schäfer, Patrick - Master's Thesis final presentation
Collektor
REST Collektor Kafka Collektor …
MySQL DB
REST API
Architecture Discovery Storage (Storage-Proxy)
MySQL Storage
Zipkin UI
Span Span Span
Architecturediscoveryservice
REST API StreamMySQL DB
Webapplication
Datamodel
Architecturediscoveryalgorithm
Span
© sebis171108 Schäfer, Patrick - Master's Thesis final presentation 40
© sebis171108 Schäfer, Patrick - Master's Thesis final presentation 41
© sebis171108 Schäfer, Patrick - Master's Thesis final presentation 42
© sebis171108 Schäfer, Patrick - Master's Thesis final presentation 43