Lehrstuhl Informatik III: Datenbanksysteme Philipp Kemper Automated IT Change Planning Hauptseminar...

Post on 05-Apr-2015

103 views 0 download

Transcript of Lehrstuhl Informatik III: Datenbanksysteme Philipp Kemper Automated IT Change Planning Hauptseminar...

Lehrstuhl Informatik III: Datenbanksysteme Philipp Kemper

Automated IT Change Planning

Hauptseminar Hochskalierbare betriebliche Datenbankanwendungen

11. April 2023 Automated IT Change Planning 1

Lehrstuhl Informatik III: Datenbanksysteme Philipp Kemper

Inhalt

Motivation ITIL und wichtige Begriffe Vorstellung von 4 Lösungsansätzen Fazit

11. April 2023 Automated IT Change Planning 2

Lehrstuhl Informatik III: Datenbanksysteme Philipp Kemper

Motivation

Hochverfügbarkeit vs. häufige Änderungen Änderungen müssen sorgfältig geplant

werden Planung ist fehleranfällig und häufig

redundant

11. April 2023 Automated IT Change Planning 4

Lehrstuhl Informatik III: Datenbanksysteme Philipp Kemper

Exkurs: ITIL

IT Infrastructure Library

De-facto Standard im Bereich Service Management

Sammlung von Good Practices

Ziel: Permanente Effizienzsteigerung

11. April 2023 Automated IT Change Planning 5

Quelle: [1]

Lehrstuhl Informatik III: Datenbanksysteme Philipp Kemper

Change Management Prozess

11. April 2023 Automated IT Change Planning 6

Quelle: [2]

Lehrstuhl Informatik III: Datenbanksysteme Philipp Kemper

Request For Change (RFC)

11. April 2023 Automated IT Change Planning 7

Was?stattWie?

Lehrstuhl Informatik III: Datenbanksysteme Philipp Kemper

Change Plan

11. April 2023 Automated IT Change Planning 8

Install Linux OS

Install Application

Server

Install Servlet Container

Install Servlet „bestsell“

Install AIX OS

Install Database

Install Table „ITEM“

Install Table „AUTHOR“

Install Table „ORDERS“

Install Table „CUSTOMERS“

Application Server

Database Server

Quelle: [2]

Lehrstuhl Informatik III: Datenbanksysteme Philipp Kemper

11. April 2023 Automated IT Change Planning 9

Lösungen

CHAMPS ChangeLedge ChangeLedge + Runtime Constraint-Aware

Automated Refinement Hybrid Approach

Lehrstuhl Informatik III: Datenbanksysteme Philipp Kemper

CHAMPS

Change Management with Planning and Scheduling

Alexander Keller (IBM Research) et al.

„Achieve a very high degree of parallelism for a set of tasks by exploiting detailed factual knowledge about the structure of a distributed system from dependency information at runtime.“

11. April 2023 Automated IT Change Planning 10

Lehrstuhl Informatik III: Datenbanksysteme Philipp Kemper

CHAMPS - Architektur

11. April 2023 Automated IT Change Planning 11

Quelle: [3]

Lehrstuhl Informatik III: Datenbanksysteme Philipp Kemper

CHAMPS – Dependency Tree

11. April 2023 Automated IT Change Planning 12

Quelle: [3]

Lehrstuhl Informatik III: Datenbanksysteme Philipp Kemper

CHAMPS – Task Graph Builder

Erstellt den Change Plan aus dem Dependency Tree und dem RFC

Nutzt Business Process Execution Language for Webservices (BPEL4WS)

11. April 2023 Automated IT Change Planning 13

<definitions targetNamespace=http://...…</definitions><process name=„InstallServletOrders“>

<partners><partner

name=„InstallServletC ontainer“></partner>

</partners>…

Lehrstuhl Informatik III: Datenbanksysteme Philipp Kemper

CHAMPS – Planner & Scheduler

Gibt Reihenfolge der Tasks an Bindet Tasks an Server und Ressourcen Legt Zeitpunkt der Ausführung fest Bedingungen: Start/Finish, Colocation, Verfügbare Server,

… Optimierungsproblem: Maximierung des Profits (Nutzen –

Kosten)

11. April 2023 Automated IT Change Planning 14

Time 1 2 3 4 5 6 7 8 9

App Srv

Install Linux OS Install Application Server

Install Servlet Container

DB Srv

Install AIX OS Install Database Server

Install Tables

Lehrstuhl Informatik III: Datenbanksysteme Philipp Kemper

CHAMPS – Vor- und Nachteile

Vorteile Hoher Grad an Parallelisierung wird erreicht Zeit für Scheduling skaliert gut mit der Anzahl der

Aufgaben

Nachteile Generalisierung der Workflows nicht möglich Keine „echte“ Wiederverwendung von Wissen

11. April 2023 Automated IT Change Planning 15

Lehrstuhl Informatik III: Datenbanksysteme Philipp Kemper

ChangeLedge

Template-basierte Wiederverwendung von Wissen und Erfahrungen

Luis da Costa Cordeiro (Federal University of Rio Grande do Sul, Brasilien) et al.

„Use of change templates as a mechanism to formalize, preserve, and reuse the experience accumulated within organizations in relation to IT changes.“

11. April 2023 Automated IT Change Planning 16

Lehrstuhl Informatik III: Datenbanksysteme Philipp Kemper

ChangeLedge – IT Infrastructure Model

Modell zur Repräsentation jetziger und zukünftiger Infrastruktur-Elemente

Wichtigste Elemente: Check: Bedingung, die

bei Änderung berücksichtigt werden muss

Action: Prozess/Operation zur Änderung eines Software-Elements

11. April 2023 Automated IT Change Planning 17

Quelle: [4]

Lehrstuhl Informatik III: Datenbanksysteme Philipp Kemper

ChangeLedge – Request & Plan Template

Request Template High Level Enthält nötige

Operationen Plan Template

Plan, der RFC umsetzt Kernelement von

ChangeLedge, da Erfahrungen hauptsächlich hier einfließen

11. April 2023 Automated IT Change Planning 18

Quelle: [4]

Lehrstuhl Informatik III: Datenbanksysteme Philipp Kemper

ChangeLedge - Architektur

11. April 2023 Automated IT Change Planning 19

Quelle: [4]

Lehrstuhl Informatik III: Datenbanksysteme Philipp Kemper

ChangeLedge – Vor- und Nachteile

Vorteile Templates sparen Zeit bei Erfassung und Planung Templates enthalten Erfahrungen von vorherigen

Planungen Lässt Generalisierung und Spezialisierung zu

Nachteile Sieht keine Optimierung vor Verfeinerung eines Change Plans nur anhand von

Abhängigkeiten

11. April 2023 Automated IT Change Planning 20

Lehrstuhl Informatik III: Datenbanksysteme Philipp Kemper

Runtime Constraints

Erweiterung von ChangeLedge Bezieht Auswirkungen von früher geplanten

Aktivitäten auf später zu planende Aktivitäten ein Luis da Costa Cordeiro (Federal University of

Rio Grande do Sul, Brasilien) et al.

„Automated refinement of runtime constraint-aware change plans, built upon the concept of incremental change snapshots of the target IT environment.“

11. April 2023 Automated IT Change Planning 21

Lehrstuhl Informatik III: Datenbanksysteme Philipp Kemper

Runtime Constraints - Algorithmus

11. April 2023 Automated IT Change Planning 22

Quelle: [5]

Lehrstuhl Informatik III: Datenbanksysteme Philipp Kemper

Runtime Constraints - Algorithmus

11. April 2023 Automated IT Change Planning 23

Quelle: [5]

Lehrstuhl Informatik III: Datenbanksysteme Philipp Kemper

Runtime Constraints – Vor- und Nachteile

Vorteile Auswirkungen von früheren Aktionen auf spätere

werden berücksichtigt Nachteile

Möglichkeiten der Verfeinerung hängen stark vom Preliminary Change Plan ab

Keine Optimierung

11. April 2023 Automated IT Change Planning 24

Lehrstuhl Informatik III: Datenbanksysteme Philipp Kemper

Hybrid Approach

Kombination aus Zuständen und Aktivitäten Sebastian Hagen (TU München)

„The algorithm adresses an abstraction mismatch between refinement of tasks and reasoning about the lifecycle and state-constraints of domain objects.“

11. April 2023 Automated IT Change Planning 25

Lehrstuhl Informatik III: Datenbanksysteme Philipp Kemper

Hybrid Approach – Abstraction Mismatch

Verfeinerung von abstrakten in detailierte Change Requests

Angabe von Zuständen eines Objekts

11. April 2023 Automated IT Change Planning 26

CR1

CR2 CR3

State1

State2

DomainObject : obj

?Quelle: [6]

Lehrstuhl Informatik III: Datenbanksysteme Philipp Kemper

Hybrid Approach – Zustände

11. April 2023 Automated IT Change Planning 27

Running

Database : db

start stop

install uninstall

Stopped

Uninstalled

Running

Apache : ap

start stop

install uninstall

Stopped

Uninstalled

No change

force

forceRunning Running

Stopped

Lehrstuhl Informatik III: Datenbanksysteme Philipp Kemper

Hybrid Approach - Drawbacks

11. April 2023 Automated IT Change Planning 28

uninstall

start stop

install

Stopped

Uninstalled

Database : db

uninstall

CR1=(“set-state”, db, [goal : Running])

CR2 = (“install”, db, [:])

CR3 = (“start”, db, [:])

Running

Running

Lehrstuhl Informatik III: Datenbanksysteme Philipp Kemper

Hybrid Approach - Drawbacks

11. April 2023 Automated IT Change Planning 29

uninstall

start stop

install

Uninstalled

Database : db

uninstall

Stopped

CR1=(“set-state”, db, [goal : Running])

CR3 = (“start”, db, [:])

Running

Running

Lehrstuhl Informatik III: Datenbanksysteme Philipp Kemper

Hybrid Approach - Architektur

Knowledgebase

Planner

High-levelCRRefinementrules

State Transition Systems + Dependencies

Operators

Domain ObjectModelHigh-level CR

11. April 2023 Automated IT Change Planning 30

Lehrstuhl Informatik III: Datenbanksysteme Philipp Kemper

Hybrid Approach - Beispiel

CR1=(“patch”, db, [:])

Knowledgebase

Refinement Rules

11. April 2023 Automated IT Change Planning 31

Lehrstuhl Informatik III: Datenbanksysteme Philipp Kemper

Example

11. April 2023 Automated IT Change Planning 32

CR1=(“patch”, db, [:])

CR2=(“set-state”, db, [goal : Stopped])

CR8 = (“update”, db, [:])

CR9=(“test”, db, [:])

CR12=(“set-state”, db, [goal : Running])

Lehrstuhl Informatik III: Datenbanksysteme Philipp Kemper

Example

11. April 2023 Automated IT Change Planning 33

CR1=(“patch”, db, [:])

CR2=(“set-state”, db, [goal : Stopped])

CR8 = (“update”, db, [:])

CR9=(“test”, db, [:])

CR12=(“set-state”, db, [goal : Running])

Lehrstuhl Informatik III: Datenbanksysteme Philipp Kemper

Example

11. April 2023 Automated IT Change Planning 34

CR2=(“set-state”, db, [goal : Stopped])

CR8 = (“update”, db, [:])

Lehrstuhl Informatik III: Datenbanksysteme Philipp Kemper

Example

11. April 2023 Automated IT Change Planning 35

CR2=(“set-state”, db, [goal : Stopped])

CR8 = (“update”, db, [:])

CR3=(“set-state”, ap, [goal : Stopped])

CR7 = (“stop”, db, [:])

Lehrstuhl Informatik III: Datenbanksysteme Philipp Kemper

Example

11. April 2023 Automated IT Change Planning 36

CR2=(“set-state”, db, [goal : Stopped])

CR8 = (“update”, db, [:])

CR3=(“set-state”, ap, [goal : Stopped])

CR7 = (“stop”, db, [:])

Lehrstuhl Informatik III: Datenbanksysteme Philipp Kemper

Example

11. April 2023 Automated IT Change Planning 37

CR3=(“set-state”, ap, [goal : Stopped])

CR7 = (“stop”, db, [:])

Lehrstuhl Informatik III: Datenbanksysteme Philipp Kemper

Example

11. April 2023 Automated IT Change Planning 38

CR3=(“set-state”, ap, [goal : Stopped])

CR7 = (“stop”, db, [:])

CR4=(“set-state”, lb, [goal : Stopped])

CR6 = (“stop”, ap, [:])

Lehrstuhl Informatik III: Datenbanksysteme Philipp Kemper

Example

11. April 2023 Automated IT Change Planning 39

CR3=(“set-state”, ap, [goal : Stopped])

CR7 = (“stop”, db, [:])

CR4=(“set-state”, lb, [goal : Stopped])

CR6 = (“stop”, ap, [:])

Lehrstuhl Informatik III: Datenbanksysteme Philipp Kemper

Example

11. April 2023 Automated IT Change Planning 40

CR3=(“set-state”, ap, [goal : Stopped])

CR4=(“set-state”, lb, [goal : Stopped])

CR6 = (“stop”, ap, [:])

Lehrstuhl Informatik III: Datenbanksysteme Philipp Kemper

Example

11. April 2023 Automated IT Change Planning 41

CR3=(“set-state”, ap, [goal : Stopped])

CR4=(“set-state”, lb, [goal : Stopped])

CR5 = (“stop”, lb, [:])

CR6 = (“stop”, ap, [:])

Lehrstuhl Informatik III: Datenbanksysteme Philipp Kemper

Example

11. April 2023 Automated IT Change Planning 42

CR3=(“set-state”, ap, [goal : Stopped])

CR4=(“set-state”, lb, [goal : Stopped])

CR5 = (“stop”, lb, [:])

CR6 = (“stop”, ap, [:])

Lehrstuhl Informatik III: Datenbanksysteme Philipp Kemper

Example

11. April 2023 Automated IT Change Planning 43

CR4=(“set-state”, lb, [goal : Stopped])

CR5 = (“stop”, lb, [:])

CR6 = (“stop”, ap, [:])

Knowledgebase

Operators

Lehrstuhl Informatik III: Datenbanksysteme Philipp Kemper

Example

11. April 2023 Automated IT Change Planning 44

CR4=(“set-state”, lb, [goal : Stopped])

CR5 = (“stop”, lb, [:])

CR6 = (“stop”, ap, [:])

Knowledgebase

Domain Object Model

+description : String

+state : String

+version : int

LoadBalancer : lb

+stop() : boolean

+start() : boolean

+install(): boolean

+uninstall() : boolean

Lehrstuhl Informatik III: Datenbanksysteme Philipp Kemper

Example

11. April 2023 Automated IT Change Planning 45

CR4=(“set-state”, lb, [goal : Stopped])

CR5 = (“stop”, lb, [:])

CR6 = (“stop”, ap, [:])

Lehrstuhl Informatik III: Datenbanksysteme Philipp Kemper

Example

11. April 2023 Automated IT Change Planning 46

CR3=(“set-state”, ap, [goal : Stopped])

CR7 = (“stop”, db, [:])

CR4=(“set-state”, lb, [goal : Stopped])

CR5 = (“stop”, lb, [:])

CR6 = (“stop”, ap, [:])

Knowledgebase

Domain Object Model

+description : String

+state : String

+version : int

Apache : ap

+stop() : boolean

+start() : boolean

+install(): boolean

+uninstall() : boolean

called by operator

Lehrstuhl Informatik III: Datenbanksysteme Philipp Kemper

Example

11. April 2023 Automated IT Change Planning 47

CR3=(“set-state”, ap, [goal : Stopped])

CR7 = (“stop”, db, [:])

CR4=(“set-state”, lb, [goal : Stopped])

CR5 = (“stop”, lb, [:])

CR6 = (“stop”, ap, [:])

Lehrstuhl Informatik III: Datenbanksysteme Philipp Kemper

Example

11. April 2023 Automated IT Change Planning 48

CR8 = (“update”, db, [:])

CR3=(“set-state”, ap, [goal : Stopped])

CR7 = (“stop”, db, [:])

CR4=(“set-state”, lb, [goal : Stopped])

CR5 = (“stop”, lb, [:])

CR6 = (“stop”, ap, [:])

Knowledgebase

Domain Object Model

+description : String

+state : String

+version : int

Database : db

+stop() : boolean

+start() : boolean

+install(): boolean

+uninstall() : boolean

Von Operator

aufgerufen

Lehrstuhl Informatik III: Datenbanksysteme Philipp Kemper

Example

11. April 2023 Automated IT Change Planning 49

CR8 = (“update”, db, [:])

CR3=(“set-state”, ap, [goal : Stopped])

CR7 = (“stop”, db, [:])

CR4=(“set-state”, lb, [goal : Stopped])

CR5 = (“stop”, lb, [:])

CR6 = (“stop”, ap, [:])

Lehrstuhl Informatik III: Datenbanksysteme Philipp Kemper

Example

11. April 2023 Automated IT Change Planning 50

CR2=(“set-state”, db, [goal : Stopped])

CR8 = (“update”, db, [:])

CR9=(“test”, db, [:])

CR12=(“set-state”, db, [goal : Running])

CR3=(“set-state”, ap, [goal : Stopped])

CR7 = (“stop”, db, [:])

CR6 = (“stop”, ap, [:])

Knowledgebase

Operators

Lehrstuhl Informatik III: Datenbanksysteme Philipp Kemper

Example

11. April 2023 Automated IT Change Planning 51

CR2=(“set-state”, db, [goal : Stopped])

CR8 = (“update”, db, [:])

CR9=(“test”, db, [:])

CR12=(“set-state”, db, [goal : Running])

CR3=(“set-state”, ap, [goal : Stopped])

CR7 = (“stop”, db, [:])

CR6 = (“stop”, ap, [:])

Knowledgebase

Domain Object Model

+description : String

+state : String

+version : int

Database : db

+stop() : boolean

+start() : boolean

+install(): boolean

+uninstall() : boolean

Von Operator

erhöht

Lehrstuhl Informatik III: Datenbanksysteme Philipp Kemper

Example

11. April 2023 Automated IT Change Planning 52

CR2=(“set-state”, db, [goal : Stopped])

CR8 = (“update”, db, [:])

CR9=(“test”, db, [:])

CR12=(“set-state”, db, [goal : Running])

CR3=(“set-state”, ap, [goal : Stopped])

CR7 = (“stop”, db, [:])

CR6 = (“stop”, ap, [:])

Lehrstuhl Informatik III: Datenbanksysteme Philipp Kemper

Example

11. April 2023 Automated IT Change Planning 53

CR2=(“set-state”, db, [goal : Stopped])

CR8 = (“update”, db, [:])

CR9=(“test”, db, [:])

CR12=(“set-state”, db, [goal : Running])

CR7 = (“stop”, db, [:])

CR10=(“test1”, db, [:])CR11=(“test2”, db, [:])

…………. ………….

Lehrstuhl Informatik III: Datenbanksysteme Philipp Kemper

Example

11. April 2023 Automated IT Change Planning 54

CR2=(“set-state”, db, [goal : Stopped])

CR8 = (“update”, db, [:])

CR9=(“test”, db, [:])

CR12=(“set-state”, db, [goal : Running])

CR7 = (“stop”, db, [:])

CR10=(“test1”, db, [:])CR11=(“test2”, db, [:])

…………. ………….

Lehrstuhl Informatik III: Datenbanksysteme Philipp Kemper

Example

11. April 2023 Automated IT Change Planning 55

CR1=(“patch”, db, [:])

CR2=(“set-state”, db, [goal : Stopped])

CR8 = (“update”, db, [:])

CR9=(“test”, db, [:])

CR12=(“set-state”, db, [goal : Running])

CR10=(“test1”, db, [:])CR11=(“test2”, db, [:])

…………. ………….

Lehrstuhl Informatik III: Datenbanksysteme Philipp Kemper

Example

11. April 2023 Automated IT Change Planning 56

CR1=(“patch”, db, [:])

CR2=(“set-state”, db, [goal : Stopped])

CR8 = (“update”, db, [:])

CR9=(“test”, db, [:])

CR12=(“set-state”, db, [goal : Running])

CR10=(“test1”, db, [:])CR11=(“test2”, db, [:])

…………. ………….

CR13 = (“start”, db, [:])

Lehrstuhl Informatik III: Datenbanksysteme Philipp Kemper

Hybrid Approach – Change Plan

11. April 2023 Automated IT Change Planning 57

CR8 = (“update”, db, [:])

CR7 = (“stop”, db, [:])

CR5 = (“stop”, lb, [:])

CR10=(“test1”, db, [:])

CR11=(“test2”, db, [:])

CR13 = (“start”, db, [:])

CR6 = (“stop”, ap, [:])

Lehrstuhl Informatik III: Datenbanksysteme Philipp Kemper

Hybrid Approach – Vor- und Nachteile

Vorteile Kombiniert zwei Abstraktionsebenen Berücksichtigt auch Informationen über Zustände

von Objekten Nachteile

Weiterhin keine Optimierung Unflexibel bei Änderungen der Bedingungen

11. April 2023 Automated IT Change Planning 58

Lehrstuhl Informatik III: Datenbanksysteme Philipp Kemper

Fazit

Es existieren verschiedene Ansätze um Change Planning zu automatisieren

Alle Ansätze lösen nur ein bestimmtes Problem, eine ganzheitliche Lösung gibt es noch nicht

Optimierung bleibt ein offenes Feld

11. April 2023 Automated IT Change Planning 59