82
Ist Ihr Unternehmen reif für Microservices? 1 | 81 Projekte. Beratung. Spezialisten. Ist Ihr Unternehmen reif für Microservices? IKS-Thementag 28.03.2017 Jörg Vollmer

Ist Ihr Unternehmen reif für Microservices?

Embed Size (px)

Citation preview

Page 1: Ist Ihr Unternehmen reif für Microservices?

Ist Ihr Unternehmen reif für Microservices? 1 | 81

: Kopiert eine

Hinweis: Es gibt keine 2. Ebene

Klicke mit der Maus an die

Projekte. Beratung. Spezialisten.

Ist Ihr Unternehmen reif für Microservices?

IKS-Thementag

28.03.2017

Jörg Vollmer

Page 2: Ist Ihr Unternehmen reif für Microservices?

Ist Ihr Unternehmen reif für Microservices? 2 | 81

: Kopiert eine

Hinweis: Es gibt keine 2. Ebene

Klicke mit der Maus an die

Agenda

Industrie im Wandel

Komplexität, die neue Bedrohung?

Maßnahmen ergreifen und mitmachen

Wann helfen mir dabei Microservices?

Ist Ihr Unternehmen reif für Microservices?

Page 3: Ist Ihr Unternehmen reif für Microservices?

Ist Ihr Unternehmen reif für Microservices? 3 | 81

: Kopiert eine

Hinweis: Es gibt keine 2. Ebene

Klicke mit der Maus an die

Page 4: Ist Ihr Unternehmen reif für Microservices?

Ist Ihr Unternehmen reif für Microservices? 4 | 81

: Kopiert eine

Hinweis: Es gibt keine 2. Ebene

Klicke mit der Maus an die

Industrie im Wandel

Industriezeitalter Wissenszeitalter

Page 5: Ist Ihr Unternehmen reif für Microservices?

Ist Ihr Unternehmen reif für Microservices? 5 | 81

: Kopiert eine

Hinweis: Es gibt keine 2. Ebene

Klicke mit der Maus an die

Überschriften

Entscheider segeln auf Sicht

Prognosen schwierig

Zunehmende Demokratisierung

Komplexe Welt - Ratlose Menschen

Kluft zwischen IT und Business wächst

Wachsende Komplexität

Ein heftiges Auf und Ab ist die Normalität

Page 6: Ist Ihr Unternehmen reif für Microservices?

Ist Ihr Unternehmen reif für Microservices? 6 | 81

: Kopiert eine

Hinweis: Es gibt keine 2. Ebene

Klicke mit der Maus an die

Literatur zum Thema ...

Page 7: Ist Ihr Unternehmen reif für Microservices?

Ist Ihr Unternehmen reif für Microservices? 7 | 81

: Kopiert eine

Hinweis: Es gibt keine 2. Ebene

Klicke mit der Maus an die

Page 8: Ist Ihr Unternehmen reif für Microservices?

Ist Ihr Unternehmen reif für Microservices? 8 | 81

: Kopiert eine

Hinweis: Es gibt keine 2. Ebene

Klicke mit der Maus an die

Beispiele für komplexe Systeme

Page 9: Ist Ihr Unternehmen reif für Microservices?

Ist Ihr Unternehmen reif für Microservices? 9 | 81

: Kopiert eine

Hinweis: Es gibt keine 2. Ebene

Klicke mit der Maus an die

Page 10: Ist Ihr Unternehmen reif für Microservices?

Ist Ihr Unternehmen reif für Microservices? 10 | 81

: Kopiert eine

Hinweis: Es gibt keine 2. Ebene

Klicke mit der Maus an die

Kompliziert vs. komplex

kompliziert komplex

hierarchisch, monolithisch, zentral vernetzt, dezentral

ohne Rückkopplung mit Rückkopplung

statisch, ein Aufgabenzweck dynamisch, adaptiv, lernfähig

meist synchron häufig asynchron

reduzierbar dafür Emergenz-fähig

vorhersehbar, planbar schwer bzw. unvorhersehbar

Page 11: Ist Ihr Unternehmen reif für Microservices?

Ist mein System steigender Komplexität gewachsen?

Ernsthafte

Performance-

Probleme

Verschlimm-

besserungen

nehmen zu

Angst vor den

nächsten

Auslieferungen

Mitarbeiter

lästern über das

System

Neue Features

werden z.T.

abgelehnt

Schuldigenfindung

ist die erste

Bürgerpflicht

Page 12: Ist Ihr Unternehmen reif für Microservices?

Ist mein System steigender Komplexität gewachsen?

Ernsthafte

Performance-

Probleme

Verschlimm-

besserungen

nehmen zu

Angst vor den

nächsten

Auslieferungen

Mitarbeiter

lästern über das

System

Neue Features

werden z.T.

abgelehnt

Schuldigenfindung

ist die erste

Bürgerpflicht

Schmerzen

Page 13: Ist Ihr Unternehmen reif für Microservices?

Was kann ich tun?

einfachkate

go

risi

ere

nkompliziert

an

aly

siere

n

chaotisch

?

?

stab

ilisiere

n

komplex

son

die

ren

Page 14: Ist Ihr Unternehmen reif für Microservices?

Ist Ihr Unternehmen reif für Microservices? 14 | 81

: Kopiert eine

Hinweis: Es gibt keine 2. Ebene

Klicke mit der Maus an die

Agiler Umgang mit komplexen Systemen

Nicht weitreichend planen

denn es kommt doch wieder anders

Adaptive Vorgehen einführen

für Menschen und Maschinen

Keine Angst vor Fehlern

zum Teil sogar erwünscht,

dadurch das System besser kennen lernen

Intuitiv handeln

und nachsteuern,

das muss jederzeit zügig möglich sein!

Page 15: Ist Ihr Unternehmen reif für Microservices?

Ist Ihr Unternehmen reif für Microservices? 15 | 81

: Kopiert eine

Hinweis: Es gibt keine 2. Ebene

Klicke mit der Maus an die

Microservices versprechen schnelles Nachsteuern.

Was benötigt ein Unternehmen dazu?

Page 16: Ist Ihr Unternehmen reif für Microservices?

Ist Ihr Unternehmen reif für Microservices? 16 | 81

: Kopiert eine

Hinweis: Es gibt keine 2. Ebene

Klicke mit der Maus an die

Ist Ihr Unternehmen vorbereitet für Microservices?

Geschäftsdomäne

verstehen:

DDD anwenden

Infrastruktur auf

maximale

Reaktionsgeschwindigkeit

ausbauen

Eine agile

Unternehmenskultur

etablieren

Qualitätssicherung:

Automatisierte Tests

&

Clean Code

Page 17: Ist Ihr Unternehmen reif für Microservices?

Ist Ihr Unternehmen reif für Microservices? 17 | 81

: Kopiert eine

Hinweis: Es gibt keine 2. Ebene

Klicke mit der Maus an die

Ist Ihr Unternehmen vorbereitet für Microservices?

Geschäftsdomäne

verstehen:

DDD anwenden

Infrastruktur auf

maximale

Reaktionsgeschwindigkeit

ausbauen

Eine agile

Unternehmenskultur

etablieren

Qualitätssicherung:

Automatisierte Tests

&

Clean Code

Page 18: Ist Ihr Unternehmen reif für Microservices?

Ist Ihr Unternehmen reif für Microservices? 18 | 81

: Kopiert eine

Hinweis: Es gibt keine 2. Ebene

Klicke mit der Maus an die

Page 19: Ist Ihr Unternehmen reif für Microservices?

Ist Ihr Unternehmen reif für Microservices? 19 | 81

: Kopiert eine

Hinweis: Es gibt keine 2. Ebene

Klicke mit der Maus an die

Unterschiedliches Verständnis der

Geschäftsdomäne

aller Stakeholder

Page 20: Ist Ihr Unternehmen reif für Microservices?

Ist Ihr Unternehmen reif für Microservices? 20 | 81

: Kopiert eine

Hinweis: Es gibt keine 2. Ebene

Klicke mit der Maus an die

Teekesselchen

Kontext Substantiv 1 Substantiv 2

Portal Vorgang Nachricht

Auskunft Abruf / Bestellung Mailbox-Eintrag

Inkasso Akte Aktivität

Vertrieb Aktivität

Verzeichnissystem Transaktion Aktivität

Page 21: Ist Ihr Unternehmen reif für Microservices?

Ist Ihr Unternehmen reif für Microservices? 21 | 81

: Kopiert eine

Hinweis: Es gibt keine 2. Ebene

Klicke mit der Maus an die

DDD: Im Jahre 2003, wegweisend ...

Page 22: Ist Ihr Unternehmen reif für Microservices?

Ist Ihr Unternehmen reif für Microservices? 22 | 81

: Kopiert eine

Hinweis: Es gibt keine 2. Ebene

Klicke mit der Maus an die

Ein Ziel von DDD: Dialog herstellen

DDD

Page 23: Ist Ihr Unternehmen reif für Microservices?

Ist Ihr Unternehmen reif für Microservices? 23 | 81

: Kopiert eine

Hinweis: Es gibt keine 2. Ebene

Klicke mit der Maus an die

DDD im Zeitraffer

Ubiquitäre Sprache etablieren (Teekesselchen)

Glossar der Firmensprache erstellen

Ausschließlich verwenden, vor allem auch im Code!

Mache Implizites explizit

Page 24: Ist Ihr Unternehmen reif für Microservices?

Ist Ihr Unternehmen reif für Microservices? 24 | 81

: Kopiert eine

Hinweis: Es gibt keine 2. Ebene

Klicke mit der Maus an die

Page 25: Ist Ihr Unternehmen reif für Microservices?

Ist Ihr Unternehmen reif für Microservices? 25 | 81

: Kopiert eine

Hinweis: Es gibt keine 2. Ebene

Klicke mit der Maus an die

DDD im Zeitraffer

Ubiquitäre Sprache etablieren (Teekesselchen)

Glossar der Firmensprache erstellen

Ausschließlich verwenden, vor allem auch im Code!

Mache Implizites explizit

Domäne aufbauen

Zustände von Substantiven: Änderung wann, warum, wodurch, … Auswirkungen?

Entitäten, Value Objects, Aggregates, Domain-Services und -Events finden

Teilbereiche identifizieren: Context Map, Bounded Context,

die als eigenständige Applikationen arbeiten können mit

eigenem Model

eigener Persistenz

eigener Code-Base

Page 26: Ist Ihr Unternehmen reif für Microservices?

Ist Ihr Unternehmen reif für Microservices? 26 | 81

: Kopiert eine

Hinweis: Es gibt keine 2. Ebene

Klicke mit der Maus an die

Die Domäne steht im Mittelpunkt

File-

System

Domäne

Page 27: Ist Ihr Unternehmen reif für Microservices?

Ist Ihr Unternehmen reif für Microservices? 27 | 81

: Kopiert eine

Hinweis: Es gibt keine 2. Ebene

Klicke mit der Maus an die

Bounded Contexts

Page 28: Ist Ihr Unternehmen reif für Microservices?

Ist Ihr Unternehmen reif für Microservices? 28 | 81

: Kopiert eine

Hinweis: Es gibt keine 2. Ebene

Klicke mit der Maus an die

DDD empfiehlt die Trennung der Domänen

Faktura

Kunden

Buchhaltung

Produkte

Page 29: Ist Ihr Unternehmen reif für Microservices?

Ist Ihr Unternehmen reif für Microservices? 29 | 81

: Kopiert eine

Hinweis: Es gibt keine 2. Ebene

Klicke mit der Maus an die

Dabei heraus kommen …?

Microservices

Page 30: Ist Ihr Unternehmen reif für Microservices?

Ist Ihr Unternehmen reif für Microservices? 30 | 81

: Kopiert eine

Hinweis: Es gibt keine 2. Ebene

Klicke mit der Maus an die

Small World Networks

Komplexe Systeme funktionieren dann am besten, falls das Verhältnis von

Zentralität und Dezentralität ausgewogen ist.

Netze von sog. Pods findet man u.a.

in Infrastrukturen wie

Bebauung,

Verkehr,

Handel,

Telekommunikation,

Internet

im Gehirn (Cluster)

in soziale Netzwerken

bei Team-Strukturen

Page 31: Ist Ihr Unternehmen reif für Microservices?

Ist Ihr Unternehmen reif für Microservices? 31 | 81

: Kopiert eine

Hinweis: Es gibt keine 2. Ebene

Klicke mit der Maus an die

These

Agile Teams und Microservices formen evolutionäre

Small-World-Network-Zellen,

die der zunehmenden Komplexität gewachsen sind.

Besonders effizient in Kombination.

Warum?

Page 32: Ist Ihr Unternehmen reif für Microservices?

Ist Ihr Unternehmen reif für Microservices? 32 | 81

: Kopiert eine

Hinweis: Es gibt keine 2. Ebene

Klicke mit der Maus an die

Das „Gesetz“ von Conway

Systeme (Software, Geschäftsmodelle, …) sind ein

Spiegelbild

der Kommunikationsstrukturen der Organisation.

Organisation Software-System

Kommunikation

AbteilungDatenverkehr

Komponente

Page 33: Ist Ihr Unternehmen reif für Microservices?

Ist Ihr Unternehmen reif für Microservices? 33 | 81

: Kopiert eine

Hinweis: Es gibt keine 2. Ebene

Klicke mit der Maus an die

Beispiel: Gegeben seien folgende Bounded Contexts

Buchhaltung ProdukteFakturaKunden

Page 34: Ist Ihr Unternehmen reif für Microservices?

Ist Ihr Unternehmen reif für Microservices? 34 | 81

: Kopiert eine

Hinweis: Es gibt keine 2. Ebene

Klicke mit der Maus an die

Üblich: Horizontale Team-Organisation

Buchhaltung ProdukteFakturaKunden

Fachabteilungs-Team(s)

Anforderungsmanagement-Team(s)

Entwicklungs-Teams

Betriebs-Team(s)

Frontend-Team

Backend-Team

Datenbank-Team

Page 35: Ist Ihr Unternehmen reif für Microservices?

Ist Ihr Unternehmen reif für Microservices? 35 | 81

: Kopiert eine

Hinweis: Es gibt keine 2. Ebene

Klicke mit der Maus an die

Kunden Faktura Buchhaltung Produkte

Folge: Homogene Schichtenarchitektur der Software

Fachabteilungs-Team(s)

Anforderungsmanagement-Team(s)

Entwicklungs-Teams

Betriebs-Team(s)

Frontend-Team

Backend-Team

Datenbank-Team

Page 36: Ist Ihr Unternehmen reif für Microservices?

Ist Ihr Unternehmen reif für Microservices? 36 | 81

: Kopiert eine

Hinweis: Es gibt keine 2. Ebene

Klicke mit der Maus an die

Möchte man diese Struktur erhalten, ...

Buchhaltung ProdukteFakturaKunden

Page 37: Ist Ihr Unternehmen reif für Microservices?

Ist Ihr Unternehmen reif für Microservices? 37 | 81

: Kopiert eine

Hinweis: Es gibt keine 2. Ebene

Klicke mit der Maus an die

Vertikale Team-Organisation

Kunden-Team

Fachmann/frau

Anforderungsm.

Entwicklung

Betrieb

Frontend

Backend

Datenbank

Faktura-Team

Fachmann/frau

Anforderungsm.

Entwicklung

Betrieb

Frontend

Backend

Datenbank

Buchh.-Team

Fachmann/frau

Anforderungsm.

Entwicklung

Betrieb

Frontend

Backend

Datenbank

Produkt-Team

Fachmann/frau

Anforderungsm.

Entwicklung

Betrieb

Frontend

Backend

Datenbank

Page 38: Ist Ihr Unternehmen reif für Microservices?

Ist Ihr Unternehmen reif für Microservices? 38 | 81

: Kopiert eine

Hinweis: Es gibt keine 2. Ebene

Klicke mit der Maus an die

Best Practice

ein Bounded Context ⬌ ein Microservice

ein Bounded Context ⬌ ein Team

ein Microservice ⬌ ein Team

Page 39: Ist Ihr Unternehmen reif für Microservices?

Ist Ihr Unternehmen reif für Microservices? 39 | 81

: Kopiert eine

Hinweis: Es gibt keine 2. Ebene

Klicke mit der Maus an die

Ist Ihr Unternehmen vorbereitet für Microservices?

Geschäftsdomäne

verstehen:

DDD anwenden

Infrastruktur auf

maximale

Reaktionsgeschwindigkeit

ausbauen

Eine agile

Unternehmenskultur

etablieren

Qualitätssicherung:

Automatisierte Tests

&

Clean Code

Page 40: Ist Ihr Unternehmen reif für Microservices?

Ist Ihr Unternehmen reif für Microservices? 40 | 81

: Kopiert eine

Hinweis: Es gibt keine 2. Ebene

Klicke mit der Maus an die

Continuous Build

Entwickler-

Team

VCSCI-ServerBuild-

Werkzeug

Commit

TriggerBuild

Ergebnisse

Repository

ArtefakteNachricht

Anzeige

Page 41: Ist Ihr Unternehmen reif für Microservices?

Ist Ihr Unternehmen reif für Microservices? 41 | 81

: Kopiert eine

Hinweis: Es gibt keine 2. Ebene

Klicke mit der Maus an die

Continuous Integration is a Complex Beast

CI-Server

VCS

Code-

Analyse

Build

Unit-Tests Artefakt

erzeugen

Integrations-

Test-

Umgebung

Deployment

Automatische

funktionale

Tests

ReportsEntwickler-

Team

Page 42: Ist Ihr Unternehmen reif für Microservices?

Ist Ihr Unternehmen reif für Microservices? 42 | 81

: Kopiert eine

Hinweis: Es gibt keine 2. Ebene

Klicke mit der Maus an die

Schwerpunkt auf der Entwicklerseite

Page 43: Ist Ihr Unternehmen reif für Microservices?

Ist Ihr Unternehmen reif für Microservices? 43 | 81

: Kopiert eine

Hinweis: Es gibt keine 2. Ebene

Klicke mit der Maus an die

Deployment und Release

Akzeptanz-

Test-Stage

Commit-

Stage

Performance-

Test-Stage

Abnahme-

Test-Stage

Produktions-

Stage

Wir sind erst hier

Page 44: Ist Ihr Unternehmen reif für Microservices?

Ist Ihr Unternehmen reif für Microservices? 44 | 81

: Kopiert eine

Hinweis: Es gibt keine 2. Ebene

Klicke mit der Maus an die

Deployment und Release

Akzeptanz-

Test-Stage

Ubuntu

Oracle

Express

Mocks

Commit-

Stage

Windows

Oracle

Express

Mocks

Performance-

Test-Stage

Debian

Oracle

Test-Modes

Abnahme-

Test-Stage

Debian

Oracle

Test-Modes

Produktions-

Stage

Debian

Oracle-Cluster

Load-Balancer

Live-Daten

Problem: Verschiedene Systeme,

pro Sprint n-mal/Jahr

DEV OPS

Trennung von Entwicklung und Betrieb

Page 45: Ist Ihr Unternehmen reif für Microservices?

Ist Ihr Unternehmen reif für Microservices? 45 | 81

: Kopiert eine

Hinweis: Es gibt keine 2. Ebene

Klicke mit der Maus an die

Der traditionelle Konflikt zwischen ...

Betrieb Entwicklung

Qualität sicherstellen: Viele Features umsetzen:

• Ausfallsicherheit • Neue Technologien

• Security • Neue Frameworks

• Monitoring • Agilität

Tools im Betrieb ≠ Entwickler-Tools

Betriebs-Abteilungen ≠ Entwickler-Abteilungen

Page 46: Ist Ihr Unternehmen reif für Microservices?

Ist Ihr Unternehmen reif für Microservices? 46 | 81

: Kopiert eine

Hinweis: Es gibt keine 2. Ebene

Klicke mit der Maus an die

Lösung für „Verschiedene Systeme“: Deployt wird stets derselbe Container

Deployment Pipeline

Akzeptanz-

Test-Stage

Commit-

Stage

Performance-

Test-Stage

Abnahme-

Test-Stage

Produktions-

Stage

VorteileMan könnte Feature für Feature ausliefern

und jederzeit zügig nachsteuern

DevOps

Page 47: Ist Ihr Unternehmen reif für Microservices?

Ist Ihr Unternehmen reif für Microservices? 47 | 81

: Kopiert eine

Hinweis: Es gibt keine 2. Ebene

Klicke mit der Maus an die

Ist Ihr Unternehmen vorbereitet für Microservices?

Geschäftsdomäne

verstehen:

DDD anwenden

Infrastruktur auf

maximale

Reaktionsgeschwindigkeit

ausbauen

Eine agile

Unternehmenskultur

etablieren

Qualitätssicherung:

Automatisierte Tests

&

Clean Code

Page 48: Ist Ihr Unternehmen reif für Microservices?

Ist Ihr Unternehmen reif für Microservices? 48 | 81

: Kopiert eine

Hinweis: Es gibt keine 2. Ebene

Klicke mit der Maus an die

Agile Dev + IT Ops = DevOps

DevOps ist die Folge einer Technologie-getriebenen Organisationsänderung

gemäß dem Gesetz von Conway.

Kommunikation

Kolaboration

Integration

Automation

Page 49: Ist Ihr Unternehmen reif für Microservices?

Ist Ihr Unternehmen reif für Microservices? 49 | 81

: Kopiert eine

Hinweis: Es gibt keine 2. Ebene

Klicke mit der Maus an die

Ein Ziel von DDD: Dialog herstellen

DDD

Page 50: Ist Ihr Unternehmen reif für Microservices?

Ist Ihr Unternehmen reif für Microservices? 50 | 81

: Kopiert eine

Hinweis: Es gibt keine 2. Ebene

Klicke mit der Maus an die

Ein Ziel von DevOps: Dialog herstellen

DDD DevOps

Page 51: Ist Ihr Unternehmen reif für Microservices?

Ist Ihr Unternehmen reif für Microservices? 51 | 81

: Kopiert eine

Hinweis: Es gibt keine 2. Ebene

Klicke mit der Maus an die

Ist Ihr Unternehmen vorbereitet für Microservices?

Geschäftsdomäne

verstehen:

DDD anwenden

Infrastruktur auf

maximale

Reaktionsgeschwindigkeit

ausbauen

Eine agile

Unternehmenskultur

etablieren

Qualitätssicherung:

Automatisierte Tests

&

Clean Code

Page 52: Ist Ihr Unternehmen reif für Microservices?

Ist Ihr Unternehmen reif für Microservices? 52 | 81

: Kopiert eine

Hinweis: Es gibt keine 2. Ebene

Klicke mit der Maus an die

Brauchen wir noch Clean Code?

Page 53: Ist Ihr Unternehmen reif für Microservices?

Ist Ihr Unternehmen reif für Microservices? 53 | 81

: Kopiert eine

Hinweis: Es gibt keine 2. Ebene

Klicke mit der Maus an die

Acceptance Test / Behavior Driven Development

(ATDD)

Kunde bzw. AM, Programmierer und Tester erstellen zusammen

Akzeptanztests

Diese werden in natürlicher aber ubiquitärer Sprache verfasst

Vorrangiges Ziel ist ein gemeinsames Verständnis der Anforderung!

Zu empfehlen ist die Verwendung

einer Satzschablone (z.B. nach Gherkin)

von strukturierten Testdaten (Excel, FIT etc.)

Ziel: Test-Code für automatisierte Akzeptanztests zu generieren.

Anforderungs-

manager

DDD

Page 54: Ist Ihr Unternehmen reif für Microservices?

Ist Ihr Unternehmen reif für Microservices? 54 | 81

: Kopiert eine

Hinweis: Es gibt keine 2. Ebene

Klicke mit der Maus an die

Wie wir zurzeit einen Microservice schreiben

Anforderungen

Testfälle

Kunde / AM Programmierer Tester

Excel

Mock

Test-CodeReal

testen

automatisiert [1]

Page 55: Ist Ihr Unternehmen reif für Microservices?

Ist Ihr Unternehmen reif für Microservices? 55 | 81

: Kopiert eine

Hinweis: Es gibt keine 2. Ebene

Klicke mit der Maus an die

Performance-

Test-Stage

Test-Automaten

Commit-Stage

Continuous Delivery & Deployment

Akzeptanz-

Test-Stage

Test-Automaten

Produktions-

Stage

CI-Server

Repository

automatisiert automatisiert

manuell

automatisiert

automatisiert

Page 56: Ist Ihr Unternehmen reif für Microservices?

Ist Ihr Unternehmen reif für Microservices? 56 | 81

: Kopiert eine

Hinweis: Es gibt keine 2. Ebene

Klicke mit der Maus an die

Tools

Automatisierte Installation

Puppet, Chef, Ansible, Salt

Continuous Delivery

Jenkins, TeamCity, Bamboo, Go

Container-Management

Docker, Rkt

Swarm, Cubernetes, Mesos,

Consul

Tools

ELK-Stack, Hystrix, Prometheus, Dropwizard, Spring-Boot/Cloud, WildFly Swarm, ...

Automatisiertes Testing

https://www.testing-board.com/testautomatisierung-tools/

Page 57: Ist Ihr Unternehmen reif für Microservices?

Ist Ihr Unternehmen reif für Microservices? 57 | 81

: Kopiert eine

Hinweis: Es gibt keine 2. Ebene

Klicke mit der Maus an die

Alte Welt, neue Welt

Page 58: Ist Ihr Unternehmen reif für Microservices?

Ist Ihr Unternehmen reif für Microservices? 58 | 81

: Kopiert eine

Hinweis: Es gibt keine 2. Ebene

Klicke mit der Maus an die

Klassische Abteilungs- bzw. Team-Aufteilung

Fachabteilungs-Team(s)

Anforderungsmanagement-Team(s)

Entwicklermannschaft

Betriebs-Team(s)

Frontend-Team

Backend-Team

Datenbank-Team

Page 59: Ist Ihr Unternehmen reif für Microservices?

Ist Ihr Unternehmen reif für Microservices? 59 | 81

: Kopiert eine

Hinweis: Es gibt keine 2. Ebene

Klicke mit der Maus an die

Buchhaltung ProdukteFakturaKunden

Bounded Contexts

Fachabteilungs-Team(s)

Anforderungsmanagement-Team(s)

Entwicklermannschaft

Betriebs-Team(s)

Frontend-Team

Backend-Team

Datenbank-Team

Page 60: Ist Ihr Unternehmen reif für Microservices?

Ist Ihr Unternehmen reif für Microservices? 60 | 81

: Kopiert eine

Hinweis: Es gibt keine 2. Ebene

Klicke mit der Maus an die

Von Version v1 zu v2, v3, …

FakturaKunden

Frontend-Team

Backend-Team

Datenbank

Dependency Hell

Frontend-Team

Backend-Team

Datenbank-Cluster

Page 61: Ist Ihr Unternehmen reif für Microservices?

Ist Ihr Unternehmen reif für Microservices? 61 | 81

: Kopiert eine

Hinweis: Es gibt keine 2. Ebene

Klicke mit der Maus an die

Version 1.0

Buchhaltung ProdukteFakturaKunden

Fachabteilungs-Team(s)

Anforderungsmanagement-Team(s)

Entwicklermannschaft

Betriebs-Team(s)

Frontend-Team

Backend-Team

Datenbank-Team

Page 62: Ist Ihr Unternehmen reif für Microservices?

Ist Ihr Unternehmen reif für Microservices? 62 | 81

: Kopiert eine

Hinweis: Es gibt keine 2. Ebene

Klicke mit der Maus an die

Kunden-Faktura-Buchhaltungs-Produkt-Monolith

Das Ende der Wartbarkeit

Fachabteilungs-Team(s)

Anforderungsmanagement-Team(s)

Entwicklermannschaft

Betriebs-Team(s)

Frontend-Team

Backend-Team

Datenbank-Team

Big Ball of Mud

Page 63: Ist Ihr Unternehmen reif für Microservices?

Ist Ihr Unternehmen reif für Microservices? 63 | 81

: Kopiert eine

Hinweis: Es gibt keine 2. Ebene

Klicke mit der Maus an die

Für das Ziel …

Page 64: Ist Ihr Unternehmen reif für Microservices?

Ist Ihr Unternehmen reif für Microservices? 64 | 81

: Kopiert eine

Hinweis: Es gibt keine 2. Ebene

Klicke mit der Maus an die

Buchh.-Team Produkt-TeamFaktura-TeamKunden-Team

Microservice-Architektur

Fachmann/frau

Anforderungsm.

Entwicklung

Betrieb

Frontend

Backend

Datenbank

Fachmann/frau

Anforderungsm.

Entwicklung

Betrieb

Frontend

Backend

Datenbank

Fachmann/frau

Anforderungsm.

Entwicklung

Betrieb

Frontend

Backend

Datenbank

Fachmann/frau

Anforderungsm.

Entwicklung

Betrieb

Frontend

Backend

Datenbank

Page 65: Ist Ihr Unternehmen reif für Microservices?

Ist Ihr Unternehmen reif für Microservices? 65 | 81

: Kopiert eine

Hinweis: Es gibt keine 2. Ebene

Klicke mit der Maus an die

... wäre Einiges zu tun:

Page 66: Ist Ihr Unternehmen reif für Microservices?

Ist Ihr Unternehmen reif für Microservices? 66 | 81

: Kopiert eine

Hinweis: Es gibt keine 2. Ebene

Klicke mit der Maus an die

Womit sollte Ihr Unternehmen starten?

1. Geschäftsdomäne analysieren

Subdomänen identifizieren, die sich aus dem Monolithen extrahieren lassen

Dialog zwischen Fachabteilung und Entwicklung (DDD) etablieren

2. Infrastruktur aufbauen

Continuous-Build, -Integration, -Delivery

Dialog zwischen Entwicklung und Betrieb (DevOps) etablieren

3. Entwickler und Tester schulen

Programmierung: Neue Patterns studieren

Tests: Vollautomatisierung anstreben

Dialog zwischen Fachabteilung, Entwicklern und Testern (ATDD) etablieren

4. Management-Aufgaben

Rahmen für agiles Arbeiten ermöglichen

Team-Organisation neu denken

5. Wichtig: klein starten!

Page 67: Ist Ihr Unternehmen reif für Microservices?

Ist Ihr Unternehmen reif für Microservices? 67 | 81

: Kopiert eine

Hinweis: Es gibt keine 2. Ebene

Klicke mit der Maus an die

Ist die Zeit reif für Microservices?

Performance-Probleme der Anwendung,

die sich mit der aktuellen Architektur nicht mehr lösen lassen

Das monolithische Deployment wird immer fehleranfälliger

Folge: Es werden immer weniger Auslieferungen pro Jahr gewagt

Performance-Probleme in der (Weiter-)Entwicklung

Indizien: Bug-Fixing und neue Features werden merklich teurer

Ursachen: Dependency Hell, Dirty Code, zu wenig Tests

Gefahr agilerer Konkurrenz

Page 68: Ist Ihr Unternehmen reif für Microservices?

Ist Ihr Unternehmen reif für Microservices? 68 | 81

: Kopiert eine

Hinweis: Es gibt keine 2. Ebene

Klicke mit der Maus an die

Bevor Sie loslegen ...

Komplexität

Produktivität

Monolith

Microservice

Page 69: Ist Ihr Unternehmen reif für Microservices?

Ist Ihr Unternehmen reif für Microservices? 69 | 81

: Kopiert eine

Hinweis: Es gibt keine 2. Ebene

Klicke mit der Maus an die

Einige Zitate

Komplexität

„Zu akzeptieren, dass man es nicht mit deterministisch koordinierbaren Teilen zu tun

hat. Statt zu standardisieren und zu zentralisieren benötigt man Tools, um das Chaos zu

beherrschen. Dies ist für viele Kunden neu“.

Domain Driven Design

„Der Schnitt ist entscheidend. Gelingt dies nicht, kommt am Ende ein „verteilter

Monolith“ heraus, das Worst Case Scenario der Software-Entwicklung.“

Operating / Continuous Delivery

„Das Deployment und Monitoring aller beteiligten Komponenten ist die größte

technische Herausforderung. Auf organisatorischer Ebene ist es die Autonomie der

Teams.“

Agile Management / DevOps

„Die Durchgängigkeit durch alle Disziplinen und Organisationseinheiten ist die größte

Herausforderung.“

Page 70: Ist Ihr Unternehmen reif für Microservices?

Ist Ihr Unternehmen reif für Microservices? 70 | 81

: Kopiert eine

Hinweis: Es gibt keine 2. Ebene

Klicke mit der Maus an die

Ist Ihr Unternehmen reif für Microservices?

Monolith Microservices

Page 71: Ist Ihr Unternehmen reif für Microservices?

Ist Ihr Unternehmen reif für Microservices? 71 | 81

: Kopiert eine

Hinweis: Es gibt keine 2. Ebene

Klicke mit der Maus an die

Ist Ihr Unternehmen reif für Microservices?

Industriezeitalter Wissenszeitalter

Page 72: Ist Ihr Unternehmen reif für Microservices?

Ist Ihr Unternehmen reif für Microservices? 72 | 81

: Kopiert eine

Hinweis: Es gibt keine 2. Ebene

Klicke mit der Maus an die

Vielen Dank!

Fragen?

Page 73: Ist Ihr Unternehmen reif für Microservices?

Ist Ihr Unternehmen reif für Microservices? 73 | 81

: Kopiert eine

Hinweis: Es gibt keine 2. Ebene

Klicke mit der Maus an die

Weiterführende Literatur

Digitalisierung industrieller Arbeit: Die Vision Industrie 4.0 und ihre sozialen

Herausforderungen, H. Hirsch-Kreinsen, P. Ittermann, J. Niehaus, Nomos,

2015

Deutschland 4.0: Wie die Digitale Transformation gelingt, T. Kollmann, H.

Schmidt, Springer Gabler, 2016

Holacracy: Ein revolutionäres Management-System für eine volatile Welt,

Brian J. Robertson, Vahlen, 2016

Network Thinking: Was kommt nach dem Brockhaus Denken, Ulrich

Weinberg, Murmann Verlag, 2015

Die Irrtümer der Komplexität: Warum wir ein neues Management brauchen,

Stephanie Borgert, Gabal Verlag, 2015

Organisation für Komplexität, Niels Pfläging, Redline Verlag, 2014

Komplexithoden, N. Pfläging, S. Hermann, Redline Verlag, 2014

Page 74: Ist Ihr Unternehmen reif für Microservices?

Ist Ihr Unternehmen reif für Microservices? 74 | 81

: Kopiert eine

Hinweis: Es gibt keine 2. Ebene

Klicke mit der Maus an die

Weiterführende Literatur

Release It!, Michael T. Nygard, Pragmatic Bookshelf, 2007

Continous Delivery, David Farley, Jez Humble, Addison-Wesley Professional,

2010

Agilität und Continuous Delivery, Steffen Schluff et al., entwickler.press,

2013

The Deployment Production Line, Jez Humble, Chris Read, Dan North,

Proceedings of the conference on AGILE 2006

Microservices, Entwickler Magazin Spezial, Vol. 9, 2016

Microservices, Eberhard Wolff, dpunkt.verlag, 2015

Microservices im Experten-Check: Warum eigentlich Microservices?

jaxenter.de/microservices-im-experten-check-warum-eigentlich-

microservices-36591

Microservices? Please, Don't

https://dzone.com/articles/microservices-please-dont

Page 75: Ist Ihr Unternehmen reif für Microservices?

Ist Ihr Unternehmen reif für Microservices? 75 | 81

: Kopiert eine

Hinweis: Es gibt keine 2. Ebene

Klicke mit der Maus an die

Weiterführende Literatur

Computerwoche, Microservices revolutionieren die IT-Organisation.

http://www.computerwoche.de/a/microservices-revolutionieren-die-it-

organisation,3222474

Domain Driven Design, Eric Evens, Addison-Wesley Professional, 2003

Implementing Domain Driven Design, Vaughn Vernon, Addison-Wesley

Professional, 2013

How You Can Architect and Develop Enterprise Mission-Critical Applications

with Domain-Driven Design. www.youtube.com/watch?v=aieoAWXNjl0

DDD Community: dddcommunity.org/

Die lernenden Organisation. www.vordenker.de/gerald/

Komplexität: Was haben ein Tsunami und die Börse gemeinsam?

www.youtube.com/watch?v=DwGP1ht9T0Q

Page 76: Ist Ihr Unternehmen reif für Microservices?

Ist Ihr Unternehmen reif für Microservices? 76 | 81

: Kopiert eine

Hinweis: Es gibt keine 2. Ebene

Klicke mit der Maus an die

Referenzen

[1] Excel-2-Test-Generator: https://github.com/javacook

https://dzone.com/articles/code-generation-and-templating-made-really-

easy

Page 77: Ist Ihr Unternehmen reif für Microservices?

Ist Ihr Unternehmen reif für Microservices? 77 | 81

: Kopiert eine

Hinweis: Es gibt keine 2. Ebene

Klicke mit der Maus an die

Bildernachweise

Seite 3

www.youtube.com/watch?v=OSrcX5jSaG0

Seite 6

https://images-eu.ssl-images-amazon.com/images/I/41A-C-7HI7L.jpg

https://images-eu.ssl-images-amazon.com/images/I/51zMEygW4gL.jpg

https://images-eu.ssl-images-amazon.com/images/I/51guoG34RHL.jpg

https://images-eu.ssl-images-amazon.com/images/I/51ogtIbG0XL.jpg

https://images-eu.ssl-images-amazon.com/images/I/51uSjWoiisL.jpg

https://images-eu.ssl-images-

amazon.com/images/I/512Kd12QoDL._SX260_.jpg

https://images-eu.ssl-images-amazon.com/images/I/51JTqjnS67L.jpg

Page 78: Ist Ihr Unternehmen reif für Microservices?

Ist Ihr Unternehmen reif für Microservices? 78 | 81

: Kopiert eine

Hinweis: Es gibt keine 2. Ebene

Klicke mit der Maus an die

Bildernachweise

Seite 7

upload.wikimedia.org/wikipedia/commons/8/82/Female_soccer_at_2016_summer_Oly

mpic_Games_in_Rio_de_Janeiro_-_Zimbabwe_against_Germany.jpg

Seite 8

upload.wikimedia.org/wikipedia/commons/d/d2/Internet_map_1024.jpg

Seite 9

www.bigstockphoto.com/de/image-5563023/stock-foto-neuronen

Seite 18

c2.staticflickr.com/4/3461/3215402826_154b8511e0_z.jpg

Seite 21

books.google.de/books?id=hHBf4YxMnWMC

Page 79: Ist Ihr Unternehmen reif für Microservices?

Ist Ihr Unternehmen reif für Microservices? 79 | 81

: Kopiert eine

Hinweis: Es gibt keine 2. Ebene

Klicke mit der Maus an die

Bildernachweise

Seite 24

c2.staticflickr.com/8/7471/15867549441_b741954c03_b.jpg

static.pexels.com/photos/112463/pexels-photo-112463.jpeg

Seite 42/43

canstockphoto.de/waage-von-gerechtigkeit-16162244.html

pixabay.com/de/codierung-computer-computerbenutzer-1294361

www.dreamstime.com/stock-images-thumbs-up-thumbs-down-

image28722074

Seite 48

blog.sciodev.com/files/2016/03/DEVOPS-Team.jpg

Seite 52

flickr.com/photos/stc4blues/320856985

Page 80: Ist Ihr Unternehmen reif für Microservices?

Ist Ihr Unternehmen reif für Microservices? 80 | 81

: Kopiert eine

Hinweis: Es gibt keine 2. Ebene

Klicke mit der Maus an die

Impulsvorträge für Ihr Unternehmen

Überblick über das gesamte Angebot an Impulsvorträgen unter:

http://bit.ly/Impulsvortraege

Ihr Nutzen:

Unabhängiges, aktuelles Expertenwissen.

Individuell auf Ihr Publikum und Ihr Unternehmen zugeschnittene Vorträge.

Referenten mit langjähriger und branchenübergreifender Expertise in der IT-

Beratung.

Praxisnahe Vorträge, die aus Projektarbeit entstanden sind, frei von

Produktwerbung.

Ideale Ergänzung für Ihre Führungskräftetreffen, Abteilungsmeetings, Hausmessen,

Innovation Days, Konferenzen, Open Spaces, Kick-off-Meetings oder

Zukunftsworkshops.

Page 81: Ist Ihr Unternehmen reif für Microservices?

WWW.IKS-GMBH.COM

Page 82: Ist Ihr Unternehmen reif für Microservices?

Ist Ihr Unternehmen reif für Microservices? 82 | 81

: Kopiert eine

Hinweis: Es gibt keine 2. Ebene

Klicke mit der Maus an die

Projekte. Beratung. Spezialisten.