Download presentation
Presentation is loading. Please wait.
Published byPearl Ramsey Modified over 6 years ago
1
A prototypical tool to discover architecture changes based on multiple monitoring data sources for a distributed system Patrick Schäfer, , Munich Advisor: Martin Kleehaus
2
Outline Motivation Research Questions Prototypical Implementation
Modeled & Runtime Architecture Problem Statement Research Questions Prototypical Implementation Operating Environment Discovery Concept Implementation Live Demonstration Limitations Schäfer, Patrick - Master's Thesis final presentation © sebis
3
Motivation Modeled Enterprise Architecture
Business Layer S 4 S 8 S 1 S 3 S 6 S 9 S 2 S 5 S 7 Application Layer VM VM VM VM Technology Layer Schäfer, Patrick - Master's Thesis final presentation © sebis
4
Motivation Runtime architecture
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 A1 A2 V A3 A4 A5 Business Layer S 1 S 4 S 2 S 5 S 6 S 3 S 7 S 9 S 8 Application Layer Technology Layer S 1 S 4 S 2 S 5 S 6 S 3 S 7 S 9 S 8 Discovered Applications Architecture discovery VM Discovered Technology Layer Schäfer, Patrick - Master's Thesis final presentation © sebis
5
Motivation Problem statement
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 S 1 S 4 S 2 S 5 S 6 S 3 S 7 S 9 S 8 Discovered Application Layer Discovered Technology Layer ? A1 A2 V A3 A4 A5 Business Layer Schäfer, Patrick - Master's Thesis final presentation © sebis
6
Research questions 1 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? 2 3 4 5 Schäfer, Patrick - Master's Thesis final presentation © sebis
7
Prototypical Implementation Operating Environment
Required components of the prototypes operating environment: Instrumented Services Service Repository Eureka Zipkin Server Zipkin Server Service Service Service API Gateway Client Service Service Service Eureka Repository Instrumented Distributed System Legend: Required Component Instrumented Service Optional Component Distributed Tracing Spans Schäfer, Patrick - Master's Thesis final presentation © sebis
8
Prototypical Implementation Discovery Concept: Architecture Model
Business Layer Process Processes Activities Activity 1 Activity 2 Application Layer Services Service 1 Service 2 Service-Instances Instance 1.1 Instance 1.2 Instance 2 Technology Layer Hardware Hardware 1 Hardware 2 entities of output architecture entities are: Components, Revisions and Relations Schäfer, Patrick - Master's Thesis final presentation © sebis
9
Prototypical Implementation Discovery Concept: Architecture Model - Relations
Implicit meaning of relations Business Layer Process Processes owns owns Activities Activity 1 is followed by Activity 2 is executed by is executed by Application Layer uses Services Service 1 Service 2 is composed of is composed of is composed of Service-Instances Instance 1.1 Instance 1.2 Instance 2 runs on runs on Technology Layer Closer look relations – every combination of component types => different implicit meaning Hardware Hardware 1 Hardware 2 Schäfer, Patrick - Master's Thesis final presentation © sebis
10
Prototypical Implementation Discovery Concept: Architecture Model - Relations
Relation classification: Interlayer- and Intralayer-Relations Business Layer Process Processes Activities Activity 1 Activity 2 Application Layer Services Service 1 Service 2 Service-Instances Instance 1.1 Instance 1.2 Instance 2 Technology Layer Hardware Hardware 1 Hardware 2 Hierarchical Interlayer-Relation Non-Hirarchical Intralayer-Relation Schäfer, Patrick - Master's Thesis final presentation © sebis
11
Prototypical Implementation Discovery Concept: Architecture Model - Relations
Relation classification: Direct and Indirect Relations Business Layer Process Processes Activities Activity 1 Activity 2 Application Layer Services Service 1 Service 2 Service-Instances Instance 1.1 Instance 1.2 Instance 2 Technology Layer Hardware Hardware 1 Hardware 2 Direct Relation Indirect Relation Schäfer, Patrick - Master's Thesis final presentation © sebis
12
Prototypical Implementation Discovery Concept: Architecture Model - Relations
Relation classification: Direct and Indirect Relations Business Layer Process Processes Activities Activity 1 Activity 2 Application Layer Services Service 1 Service 2 Service-Instances Instance 1.1 Instance 1.2 Instance 2 Technology Layer Hardware Hardware 1 Hardware 2 Indirect Relation Direct Relation Path of Indirect Relation Schäfer, Patrick - Master's Thesis final presentation © sebis
13
Prototypical Implementation Discovery Concept: Architecture Model - Relations
Indirect Relations are necessary Activity 1 Activity 2 API Gateway Service Service 1 Service 2 Service 3 Schäfer, Patrick - Master's Thesis final presentation © sebis
14
Prototypical Implementation Discovery Concept: Architecture Model - Relations
Indirect Relations are necessary Activity 1 Activity 2 API Gateway Service Service 1 Service 2 Service 3 Schäfer, Patrick - Master's Thesis final presentation © sebis
15
Prototypical Implementation Discovery Concept: Business Layer
Modelling via Web UI: Process and Activity entities Process-flow Added to the architecture model via REST API Processes Activities Services Instances Hardware entities of output architecture entities are: Components, Revisions and Relations Schäfer, Patrick - Master's Thesis final presentation © sebis
16
Prototypical Implementation Discovery Concept: Application / Technology Layer
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 Processes Activities Services Instances Hardware entities of output architecture entities are: Components, Revisions and Relations Schäfer, Patrick - Master's Thesis final presentation © sebis
17
Prototypical Implementation Discovery Concept: Service intralayer Relations
Detection of relations between Services in Realtime by analysing Distributed Tracing Spans Processes Activities Services Instances Hardware entities of output architecture entities are: Components, Revisions and Relations Distributed Tracing Span production* *Source: Schäfer, Patrick - Master's Thesis final presentation © sebis
18
Prototypical Implementation Discovery Concept: Business / Application Relations
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 Processes Activities Services Instances Hardware entities of output architecture entities are: Components, Revisions and Relations Schäfer, Patrick - Master's Thesis final presentation © sebis
19
Prototypical Implementation Implementation: System Components
Microservice Architecture Prototype Business Layer Modelling Webapplication Relation Ruleset Architecture- discovery service REST API Eureka Repository Architecture Visualization Distributed Tracing Websocket Bridge Kafka Stream entities of output architecture entities are: Components, Revisions and Relations Schäfer, Patrick - Master's Thesis final presentation © sebis
20
Prototypical Implementation Implementation: Environment
Zipkin Server replaced by Prototype Prototype extends Zipkin implementation Zipkin Server Features stay complete and unmodified Zipkin Server Service Service Service API Gateway Service Client Service Service entities of output architecture entities are: Components, Revisions and Relations Eureka Repository Instrumented Distributed System Schäfer, Patrick - Master's Thesis final presentation © sebis
21
Prototypical Implementation Implementation: Environment
Zipkin Server replaced by Prototype Prototype extends Zipkin implementation Zipkin Server Features stay complete and unmodified Prototype and Zipkin Server Service Service Service API Gateway Service Client Service Service entities of output architecture entities are: Components, Revisions and Relations Eureka Repository Instrumented Distributed System Schäfer, Patrick - Master's Thesis final presentation © sebis
22
Live Demonstration Scenario: Business Process
Start Login Select Provider Search Route Book Route Logout Ende Schäfer, Patrick - Master's Thesis final presentation © sebis
23
Live Demonstration Scenario: Microservice Architecture
Accounting Core Service Login Ende Start Select Provider Search Route Book Route Logout DeutscheBahn Mobility Service Zuul API Proxy Travel- companion Service Maps Helper Service DriveNow Mobility Service Business Core Service Schäfer, Patrick - Master's Thesis final presentation © sebis
24
Live Demonstration Scenario: Microservice Architecture
Accounting Core Service Start DeutscheBahn Mobility Service Login Select Provider Zuul API Proxy Travel- companion Service Maps Helper Service Search Route Book Route DriveNow Mobility Service Logout Business Core Service Ende Schäfer, Patrick - Master's Thesis final presentation © sebis
25
Live Demonstration Scenario: Microservice Architecture
Business Core Service Start DeutscheBahn Mobility Service Login Select Provider Zuul API Proxy Travel- companion Service Maps Helper Service Search Route Book Route DriveNow Mobility Service Logout Accounting Core Service Ende Schäfer, Patrick - Master's Thesis final presentation © sebis
26
Live Demonstration Scenario: Microservice Architecture
Business Core Service Start DeutscheBahn Mobility Service Login Select Provider Zuul API Proxy Travel- companion Service Maps Helper Service Search Route Book Route DriveNow Mobility Service Logout Accounting Core Service Ende Schäfer, Patrick - Master's Thesis final presentation © sebis
27
Live Demonstration Scenario: Microservice Architecture
Business Core Service Start DeutscheBahn Mobility Service Login Select Provider Zuul API Proxy Travel- companion Service Maps Helper Service Search Route Book Route DriveNow Mobility Service Logout Accounting Core Service Ende Schäfer, Patrick - Master's Thesis final presentation © sebis
28
Live Demonstration Scenario: Microservice Architecture
Business Core Service Start DeutscheBahn Mobility Service Login Select Provider Zuul API Proxy Travel- companion Service Maps Helper Service Search Route Book Route DriveNow Mobility Service Logout Accounting Core Service Ende Schäfer, Patrick - Master's Thesis final presentation © sebis
29
Live Demonstration Scenario: Microservice Architecture
Business Core Service Start DeutscheBahn Mobility Service Login Select Provider Zuul API Proxy Travel- companion Service Maps Helper Service Search Route Book Route DriveNow Mobility Service Logout Accounting Core Service Ende Schäfer, Patrick - Master's Thesis final presentation © sebis
30
Live Demonstration Scenario: Microservice Architecture
Business Core Service Start DeutscheBahn Mobility Service Login Select Provider Zuul API Proxy Travel- companion Service Maps Helper Service Search Route Book Route DriveNow Mobility Service Logout Accounting Core Service Ende Schäfer, Patrick - Master's Thesis final presentation © sebis
31
Live Demonstration Scenario: Microservice Architecture - Deployment
Eureka Zuul API Proxy Travel- companion Service Travel- companion Service DeutscheBahn Mobility Service DeutscheBahn Mobility Service Config Service Business Core Service DriveNow Mobility Service DriveNow Mobility Service Maps Helper Service Maps Helper Service Prototype Accounting Core Service Host 0 ( ) Host 1 ( ) Host 2.1 ( ) Host 2.2 ( ) Schäfer, Patrick - Master's Thesis final presentation © sebis
32
Live Demonstration Schäfer, Patrick - Master's Thesis final presentation © sebis
33
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 Schäfer, Patrick - Master's Thesis final presentation © sebis
34
B.Sc. Patrick Schäfer
35
Backup 171108 Schäfer, Patrick - Master's Thesis final presentation
© sebis
36
Live Demonstration Scenario: Microservice Architecture
Zuul API Proxy Travel- companion Service Business Core Service DriveNow Mobility Service DeutscheBahn Mobility Service Accounting Core Service Maps Helper Service Synchronous communication Asynchronous communication Schäfer, Patrick - Master's Thesis final presentation © sebis
37
Prototypical Implementation Discovery Concept: Architecture Model - Relations
Relation classification: Direct and Indirect Relations Business Layer Process Processes Activities Activity 1 Activity 2 Application Layer Services Service 1 Service 2 Service-Instances Instance 1.1 Instanz 1.2 Instanz 2 Technology Layer Hardware Hardware 1 Hardware 2 Indirect Relation Direct Relation Path of Indirect Relation Schäfer, Patrick - Master's Thesis final presentation © sebis
38
Prototypical Implementation Implementation: Zipkin Server Extension
Collektor MySQL Storage Prototypical Implementation Implementation: Zipkin Server Extension Span Span Span Span REST Collektor Kafka Collektor … Architecturediscoveryservice REST API MySQL DB Zipkin UI entities of output architecture entities are: Components, Revisions and Relations Schäfer, Patrick - Master's Thesis final presentation © sebis
39
Prototypical Implementation Implementation: Zipkin Server Extension
Collektor Architecture Discovery Storage (Storage-Proxy) Prototypical Implementation Implementation: Zipkin Server Extension Span Span Span Span REST Collektor Kafka Collektor … Architecturediscoveryservice MySQL Storage Architecturediscoveryalgorithm Datamodel REST API MySQL DB Zipkin UI Webapplication Stream REST API MySQL DB entities of output architecture entities are: Components, Revisions and Relations Schäfer, Patrick - Master's Thesis final presentation © sebis
40
171108 Schäfer, Patrick - Master's Thesis final presentation
© sebis
41
171108 Schäfer, Patrick - Master's Thesis final presentation
© sebis
42
171108 Schäfer, Patrick - Master's Thesis final presentation
© sebis
43
171108 Schäfer, Patrick - Master's Thesis final presentation
© sebis
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.