Innovative Softwareentwicklungskultur und innovative...

24
Innovative Softwareentwicklungskultur und innovative Softwarearchitekturen: DevOps & Microservices Prof. Dr. Wilhelm (Willi) Hasselbring http://se.informatik.uni-kiel.de/ http://kosse-sh.de/ 20.06.2016 W. Hasselbring 1

Transcript of Innovative Softwareentwicklungskultur und innovative...

Page 1: Innovative Softwareentwicklungskultur und innovative ...eprints.uni-kiel.de/33213/1/2016-06-20KiWi.pdf2016/06/20  · Polyglot Persistence 20.06.2016 W. Hasselbring Page Assembly Backend

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

Page 2: Innovative Softwareentwicklungskultur und innovative ...eprints.uni-kiel.de/33213/1/2016-06-20KiWi.pdf2016/06/20  · Polyglot Persistence 20.06.2016 W. Hasselbring Page Assembly Backend

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

Page 3: Innovative Softwareentwicklungskultur und innovative ...eprints.uni-kiel.de/33213/1/2016-06-20KiWi.pdf2016/06/20  · Polyglot Persistence 20.06.2016 W. Hasselbring Page Assembly Backend

20.06.2016 W. Hasselbring 3

Page 4: Innovative Softwareentwicklungskultur und innovative ...eprints.uni-kiel.de/33213/1/2016-06-20KiWi.pdf2016/06/20  · Polyglot Persistence 20.06.2016 W. Hasselbring Page Assembly Backend

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.

Page 5: Innovative Softwareentwicklungskultur und innovative ...eprints.uni-kiel.de/33213/1/2016-06-20KiWi.pdf2016/06/20  · Polyglot Persistence 20.06.2016 W. Hasselbring Page Assembly Backend

20.06.2016 W. Hasselbring 5

Page 6: Innovative Softwareentwicklungskultur und innovative ...eprints.uni-kiel.de/33213/1/2016-06-20KiWi.pdf2016/06/20  · Polyglot Persistence 20.06.2016 W. Hasselbring Page Assembly Backend

Deployment Pipelines fürContinuous Deployment

24.02.2016 W. Hasselbring 6

Beispiel: Deployment Pipeline @ Otto.de. Quelle: [Breetzmann et al. 2014]

Page 7: Innovative Softwareentwicklungskultur und innovative ...eprints.uni-kiel.de/33213/1/2016-06-20KiWi.pdf2016/06/20  · Polyglot Persistence 20.06.2016 W. Hasselbring Page Assembly Backend

Kontinuierliches Monitoring

24.02.2016 W. Hasselbring 7

Page 8: Innovative Softwareentwicklungskultur und innovative ...eprints.uni-kiel.de/33213/1/2016-06-20KiWi.pdf2016/06/20  · Polyglot Persistence 20.06.2016 W. Hasselbring Page Assembly Backend

[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/

Page 9: Innovative Softwareentwicklungskultur und innovative ...eprints.uni-kiel.de/33213/1/2016-06-20KiWi.pdf2016/06/20  · Polyglot Persistence 20.06.2016 W. Hasselbring Page Assembly Backend

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]

Page 10: Innovative Softwareentwicklungskultur und innovative ...eprints.uni-kiel.de/33213/1/2016-06-20KiWi.pdf2016/06/20  · Polyglot Persistence 20.06.2016 W. Hasselbring Page Assembly Backend

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/

Page 11: Innovative Softwareentwicklungskultur und innovative ...eprints.uni-kiel.de/33213/1/2016-06-20KiWi.pdf2016/06/20  · Polyglot Persistence 20.06.2016 W. Hasselbring Page Assembly Backend

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

Page 12: Innovative Softwareentwicklungskultur und innovative ...eprints.uni-kiel.de/33213/1/2016-06-20KiWi.pdf2016/06/20  · Polyglot Persistence 20.06.2016 W. Hasselbring Page Assembly Backend

Integrierte Informationssysteme ?Beispiel: ARIS Architecture of Integrated Information Systems

20.06.2016 W. HasselbringSource: [Scheer 1994]

12

Page 13: Innovative Softwareentwicklungskultur und innovative ...eprints.uni-kiel.de/33213/1/2016-06-20KiWi.pdf2016/06/20  · Polyglot Persistence 20.06.2016 W. Hasselbring Page Assembly Backend

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!

Page 14: Innovative Softwareentwicklungskultur und innovative ...eprints.uni-kiel.de/33213/1/2016-06-20KiWi.pdf2016/06/20  · Polyglot Persistence 20.06.2016 W. Hasselbring Page Assembly Backend

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

Page 15: Innovative Softwareentwicklungskultur und innovative ...eprints.uni-kiel.de/33213/1/2016-06-20KiWi.pdf2016/06/20  · Polyglot Persistence 20.06.2016 W. Hasselbring Page Assembly Backend

Integration von Informationssystemen ?

20.06.2016 W. Hasselbring

Quelle: [Conrad et al. 2005]

15

Häufiges Resultat: Enge Kopplung zwischen

den integrierten Datenbanken!

Page 16: Innovative Softwareentwicklungskultur und innovative ...eprints.uni-kiel.de/33213/1/2016-06-20KiWi.pdf2016/06/20  · Polyglot Persistence 20.06.2016 W. Hasselbring Page Assembly Backend

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

Page 17: Innovative Softwareentwicklungskultur und innovative ...eprints.uni-kiel.de/33213/1/2016-06-20KiWi.pdf2016/06/20  · Polyglot Persistence 20.06.2016 W. Hasselbring Page Assembly Backend

20.06.2016 W. Hasselbring 17

Page 18: Innovative Softwareentwicklungskultur und innovative ...eprints.uni-kiel.de/33213/1/2016-06-20KiWi.pdf2016/06/20  · Polyglot Persistence 20.06.2016 W. Hasselbring Page Assembly Backend

DevOps & Microservices

20.06.2016 W. Hasselbring 18

Page 19: Innovative Softwareentwicklungskultur und innovative ...eprints.uni-kiel.de/33213/1/2016-06-20KiWi.pdf2016/06/20  · Polyglot Persistence 20.06.2016 W. Hasselbring Page Assembly Backend

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

Page 20: Innovative Softwareentwicklungskultur und innovative ...eprints.uni-kiel.de/33213/1/2016-06-20KiWi.pdf2016/06/20  · Polyglot Persistence 20.06.2016 W. Hasselbring Page Assembly Backend

“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

Page 21: Innovative Softwareentwicklungskultur und innovative ...eprints.uni-kiel.de/33213/1/2016-06-20KiWi.pdf2016/06/20  · Polyglot Persistence 20.06.2016 W. Hasselbring Page Assembly Backend

OceanTEA(Oceanographic Time Series Exploration and Analysis)

20.06.2016 W. Hasselbring 21

Quelle: Arne Johanson, CAU

Page 22: Innovative Softwareentwicklungskultur und innovative ...eprints.uni-kiel.de/33213/1/2016-06-20KiWi.pdf2016/06/20  · Polyglot Persistence 20.06.2016 W. Hasselbring Page Assembly Backend

RBEE Regression Benchmarking Execution Environment

20.06.2016 W. Hasselbring 22

Quelle: Armin Möbius, IBAK Helmut Hunger GmbH & Co. KG

Page 23: Innovative Softwareentwicklungskultur und innovative ...eprints.uni-kiel.de/33213/1/2016-06-20KiWi.pdf2016/06/20  · Polyglot Persistence 20.06.2016 W. Hasselbring Page Assembly Backend

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

Page 24: Innovative Softwareentwicklungskultur und innovative ...eprints.uni-kiel.de/33213/1/2016-06-20KiWi.pdf2016/06/20  · Polyglot Persistence 20.06.2016 W. Hasselbring Page Assembly Backend

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