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