Innovative Softwareentwicklungskultur und innovative...
Transcript of Innovative Softwareentwicklungskultur und innovative...
Innovative Softwareentwicklungskultur und innovative Softwarearchitekturen:
DevOps & Microservices
Prof. Dr. Wilhelm (Willi) Hasselbringhttp://se.informatik.uni-kiel.de/
http://kosse-sh.de/
20.06.2016 W. Hasselbring 1
Agenda
1. Innovative Softwareentwicklungskultur: DevOps
2. Etablierte Softwarearchitekturstile• Integrierte Informationssysteme• Integration von Informationssystemen
3. Ein innovativer Softwarearchitekturstil: Microservices
4. Takeaways
20.06.2016 W. Hasselbring 2
20.06.2016 W. Hasselbring 3
Zusammenarbeit von Entwicklung und Betrieb
20.06.2016 W. Hasselbring 4
Maßnahmen:• Entwicklung einer Kultur der (agilen) Zusammenarbeit zwischen
Entwicklungsabteilung und Systembetrieb.• Qualitätssicherung und Effizienzsteigerung durch Automatisierung von
Entwicklungs- und Betriebsaufgaben.
20.06.2016 W. Hasselbring 5
Deployment Pipelines fürContinuous Deployment
24.02.2016 W. Hasselbring 6
Beispiel: Deployment Pipeline @ Otto.de. Quelle: [Breetzmann et al. 2014]
Kontinuierliches Monitoring
24.02.2016 W. Hasselbring 7
[Fittkau et al. 2013, 2015a]
Monitoring Frameworks aus Kiel
20.06.2016 W. Hasselbring
[van Hoorn et al. 2012]
8
Symposium on Software Performance November 08–09, 2016 in Kielhttp://www.performance-symposium.org/
Software zum Anfassen und Erlebensolutions.hamburg, September 2015
24.02.2016 W. Hasselbring 9
Siehe auch [Fittkau et al. 2015b] Siehe auch [Fittkau et al. 2015c]
Live-Deployments und Prio 1 Incidents @ otto.de 2014-2016
20.06.2016 W. Hasselbring 10Quelle: https://dev.otto.de/2016/03/20/why-microservices/
Agenda
1. Innovative Softwareentwicklungskultur: DevOps
2. Etablierte Softwarearchitekturstile• Integrierte Informationssysteme• Integration von Informationssystemen
3. Ein innovativer Softwarearchitekturstil: Microservices
4. Takeaways
20.06.2016 W. Hasselbring 11
Integrierte Informationssysteme ?Beispiel: ARIS Architecture of Integrated Information Systems
20.06.2016 W. HasselbringSource: [Scheer 1994]
12
Web Information Systems Cache Architecture
20.06.2016 W. Hasselbring
Source: [Abbott & Fisher 2015]
Approaches to Scalability on the database layer:• Big enterprise server• Database replication• Database sharding
13
However, you have to scale everything to scale anything!
Agenda
1. Innovative Softwareentwicklungskultur: DevOps
2. Etablierte Softwarearchitekturstile• Integrierte Informationssysteme• Integration von Informationssystemen
3. Ein innovativer Softwarearchitekturstil: Microservices
4. Takeaways
20.06.2016 W. Hasselbring 14
Integration von Informationssystemen ?
20.06.2016 W. Hasselbring
Quelle: [Conrad et al. 2005]
15
Häufiges Resultat: Enge Kopplung zwischen
den integrierten Datenbanken!
Agenda
1. Innovative Softwareentwicklungskultur: DevOps
2. Etablierte Softwarearchitekturstile• Integrierte Informationssysteme• Integration von Informationssystemen
3. Ein innovativer Softwarearchitekturstil: Microservices
4. Takeaways
20.06.2016 W. Hasselbring 16
20.06.2016 W. Hasselbring 17
DevOps & Microservices
20.06.2016 W. Hasselbring 18
Polyglot Persistence
20.06.2016 W. Hasselbring
Page Assembly
Backend Integration
Prod
uct
Trac
king
Rec
omm
en-
datio
n
Ord
er
Sear
ch
Wide Column
Database
Full-TextDatabase
GraphDatabase
RelationalDatabase
Time Series
Database
19
“Verticals” für GeschäftsfunktionenBeispiel: otto.de
15.03.2016 W. Hasselbring
Back
offic
e
Shop
page
s
Sear
ch &
Nav
igat
ion
Prod
uct
Prom
otio
n
Ord
er
Use
r
Afte
rSal
es
Auth
Insi
ghts
Link
Han
dler
Trac
king
Page Assembly Proxy
Backend Integration Proxy
Quelle: [Kraus et al. 2013 Steinacker 2014]
20
OceanTEA(Oceanographic Time Series Exploration and Analysis)
20.06.2016 W. Hasselbring 21
Quelle: Arne Johanson, CAU
RBEE Regression Benchmarking Execution Environment
20.06.2016 W. Hasselbring 22
Quelle: Armin Möbius, IBAK Helmut Hunger GmbH & Co. KG
Erwartungen an Microservices
• April 12-13, 2016Microservice-Architekturen und Continuous Deliveryhttp://www.softwareforen.de/goto/sar
20.06.2016 W. Hasselbring 23
Quelle: Holger Knoche, b+mInformatik AG
References[Abbott & Fisher 2015] M.L. Abbott, M.T. Fisher: The Art of Scalability. Addison-Wesley, 2nd Edition, 2015.[Bas et al. 2015] Len Bass, Ingo Weber, Liming Zhu: “DevOps: A Software Architect’s Perspective”, Addison-Wesley 2015.[Breetzmann et al. 2014] Robert Breetzmann, Stephan Kraus, Christian Stamm: “Null Toleranz für Fehler: Wie wir auf otto.de die Qualität hoch halten“,
OBJEKTspektrum 4/2014, 18-23.[Conrad et al. 2005] S. Conrad, W. Hasselbring, A. Koschel, R. Tritsch: Enterprise Application Integration. Spektrum Akademischer Verlag, 2005.[Ehlers et al. 2011] Jens Ehlers, André van Hoorn, Jan Waller, Wilhelm Hasselbring: “Self-Adaptive Software System Monitoring for Performance Anomaly
Localization“, In: 8th IEEE/ACM International Conference on Autonomic Computing (ICAC 2011).[Fittkau et al. 2013] Florian Fittkau, Jan Waller, Christian Wulf, Wilhelm Hasselbring: “Live Trace Visualization for Comprehending Large Software Landscapes: The
ExplorViz Approach“, In: 1st IEEE International Working Conference on Software Visualization (VISSOFT 2013).[Fittkau et al. 2014a] Florian Fittkau, André van Hoorn, Wilhelm Hasselbring: “Towards a Dependability Control Center for Large Software Landscapes“, In: 10th
European Dependable Computing Conference (EDCC 2014).[Fittkau et al. 2014b] Florian Fittkau, Phil Stelzer, Wilhelm Hasselbring: “Live Visualization of Large Software Landscapes for Ensuring Architecture Conformance“,
In: 2nd International Workshop on Software Engineering for Systems-of-Systems 2014 (SESoS 2014).[Fittkau et al. 2015] Florian Fittkau, Sascha Roth, Wilhelm Hasselbring: “ExplorViz: Visual Runtime Behavior Analysis of Enterprise Application Landscapes“, In:
23rd European Conference on Information Systems (ECIS 2015).[Hasselbring 2000] W. Hasselbring: Information System Integration. Communications of the ACM, 43(6): 32-36, June 2000.[Hasselbring 2002] Wilhelm Hasselbring: “Component-Based Software Engineering”, In: Handbook of Software Engineering and Knowledge Engineering. World
Scientific Publishing, Singapore, pp. 289-305, 2002. [Hasselbring 2006] W. Hasselbring: Software-Architektur - Das aktuelle Schlagwort. Informatik-Spektrum 29(1): 48-52, February 2006.[Kraus et al. 2013] Stephan Kraus, Guido Steinacker, Oliver Wegner: “Teile und Herrsche – Kleine Systeme für große Architekturen“, OBJEKTspektrum 5/2013, 8-
13.[Reussner & Hasselbring 2008] R. Reussner, W. Hasselbriung: Handbuch der Software-Architektur. dpunkt.verlag, 2nd edition, 2008.[Scheer 1994] A.-W. Scheer: Business Process Engineering, Springer-Verlag, 1994.[Sheth & Larson 1990] A. Sheth and J. Larson: “Federated database systems for managing distributed, heterogeneous, and autonomous databases”. ACM
Computing Surveys, 22(3):183-236, 1990.[Steinacker 2014] Guido Steinacker: “Scaling with Microservices and Vertical Decomposition”, http://dev.otto.de/2014/07/29/scaling-with-microservices-and-
vertical-decomposition/, 2014.[van Hoorn et al. 2012] André van Hoorn, Jan Waller, Wilhelm Hasselbring: “Kieker: A Framework for Application Performance Monitoring and Dynamic Software
Analysis”, In: 3rd joint ACM/SPEC International Conference on Performance Engineering (ICPE 2012).[Waller et al. 2015] Jan Waller, Nils Ehmke, Wilhelm Hasselbring: “Including Performance Benchmarks into Continuous Integration to Enable DevOps“, In: ACM
SIGSOFT Software Engineering Notes, 40(2).
20.06.2016 W. Hasselbring 24