Erik Dörnenburg ThoughtWorks Deutschland GmbH erik ...

WIRKLICH SINN MACHEN. Erik Dörnenburg. ThoughtWorks Deutschland GmbH erik@thoughtworks.com. @erikdoe. AWS Microservices Web Day ...
435KB Größe 2 Downloads 55 Ansichten
AWS Microservices Web Day

WO MICROSERVICES WIRKLICH SINN MACHEN Erik Dörnenburg ThoughtWorks Deutschland GmbH [email protected] @erikdoe

MICROSERVICES UND MONOLITHEN

2

SERVICE-ORIENTED ARCHITECTURES (SOA)

MICROSERVICES

SOA

3

DIE DEFINITION VON “MICROSERVICES”

? 4

CHARAKTERISTIKEN VON MICROSERVICES

http://martinfowler.com/articles/ microservices.html

5

CHARACTERISTICS OF MICROSERVICES 1. 

Componentisation via services

2. 

Organised around business capabilities

3. 

Products not Projects

4. 

Smart endpoints and dumb pipes

5. 

Decentralised governance

6. 

Decentralised data management

7. 

Infrastructure automation

8. 

Design for failure

9. 

Evolutionary design 6

CHARAKTERISTIKEN VON MICROSERVICES 1. 

Komponenten als Services

7

CHARAKTERISTIKEN VON MICROSERVICES 1. 

Komponenten als Services

2. 

Nach Geschäftsstrukturen organisiert

8

CHARAKTERISTIKEN VON MICROSERVICES 1. 

Komponenten als Services

2. 

Nach Geschäftsstrukturen organisiert

3. 

Produktorientierung über Projektfokus

9

CHARAKTERISTIKEN VON MICROSERVICES 1. 

Komponenten als Services

2. 

Nach Geschäftsstrukturen organisiert

3. 

Produktorientierung über Projektfokus

4. 

“Smart endpoints and dumb pipes”

10

CHARAKTERISTIKEN VON MICROSERVICES 1. 

Komponenten als Services

2. 

Nach Geschäftsstrukturen organisiert

3. 

Produktorientierung über Projektfokus

4. 

“Smart endpoints and dumb pipes”

5. 

Dezentralisierte “Governance”

11

CHARAKTERISTIKEN VON MICROSERVICES 1. 

Komponenten als Services

2. 

Nach Geschäftsstrukturen organisiert

3. 

Produktorientierung über Projektfokus

4. 

“Smart endpoints and dumb pipes”

5. 

Dezentralisierte “Governance”

6. 

Dezentralisiertes Datenmanagement

12

CHARAKTERISTIKEN VON MICROSERVICES 1. 

Komponenten als Services

2. 

Nach Geschäftsstrukturen organisiert

3. 

Produktorientierung über Projektfokus

4. 

“Smart endpoints and dumb pipes”

5. 

Dezentralisierte “Governance”

6. 

Dezentralisiertes Datenmanagment

7. 

Infrastrukturautomatisierung

13

CHARAKTERISTIKEN VON MICROSERVICES 1. 

Komponenten als Services

2. 

Nach Geschäftsstrukturen organisiert

3. 

Produktorientierung über Projektfokus

4. 

“Smart endpoints and dumb pipes”

5. 

Dezentralisierte “Governance”

6. 

Dezentralisiertes Datenmanagment

7. 

Infrastrukturautomatisierung

8. 

“Design for failure”

14

CHARAKTERISTIKEN VON MICROSERVICES 1. 

Komponenten als Services

2. 

Nach Geschäftsstrukturen organisiert

3. 

Produktorientierung über Projektfokus

4. 

“Smart endpoints and dumb pipes”

5. 

Dezentralisierte “Governance”

6. 

Dezentralisiertes Datenmanagment

7. 

Infrastrukturautomatisierung

8. 

“Design for failure”

9. 

Evolutionary design 15

WIE GROSS IST EIN MICROSERVICE?

Zwei-Pizza Teams “Fits in my head” 15 Personen, 6 Monate, 10 Services 30 Personen, 60 Services 60 Personen, 20 Services 6 Teams, 40 Personen, 9 Services 16

AUTOSCOUT24

SERVICE priceestimation home classified-search classified-detail watchlist list-classifieds private-seller-contact-data cms-contentservice contentservice

GRÖSSE ~ 3.700 LOC ~ 2.900 LOC ~ 2.300 LOC ~ 1.650 LOC ~ 1.600 LOC ~ 1.100 LOC ~ 1.050 LOC ~ 836 LOC ~ 400 LOC

17

GILT.COM

2.000–4.000 LOC

18

AUTOSCOUT24 VOR 5 JAHREN

19

SWIMLANES

20

AWS UND MICROSERVICES

21

TATSU SERVICE TEMPLATE

117 Commits, 14 Contributors, 16 Pull Requests

22

DEPLOYMENT

JVM LINUX EC2 DYNAMO 23

DEPLOYMENT

ELB/ASG

JVM

JVM

JVM

LINUX

LINUX

LINUX

EC2

EC2

EC2

DYNAMO 24

CHARAKTERISTIKEN VON MICROSERVICES 1. 

Komponenten als Services

þ

2. 

Nach Geschäftsstrukturen organisiert

þ

3. 

Produktorientierung über Projektfokus



4. 

“Smart endpoints and dumb pipes”

þ

5. 

Dezentralisierte “Governance”

þ

6. 

Dezentralisiertes Datenmanagment

þ

7. 

Infrastrukturautomatisierung

þ

8. 

“Design for failure”

þ

9. 

Evolutionary design

þ 25

ERFOLGSFAKTOREN

“We are that tall!”

26

WE ARE THAT TALL!

You must be this tall to use Microservices

Schnelle Provisionierung Monitoring Schnelles Deployment DevOps Kultur 27

ERFOLGSFAKTOREN

“We are that tall!” Unternehmenskultur Keine Angst vor Veränderung + Geduld Monolith Cloud

28

CLOUD IST…

On­demand self­service Broad network access Resource pooling Rapid elasticity Measured service http://csrc.nist.gov/publications/nistpubs/800-145/SP800-145.pdf

29

VIELEN DANK Erik Dörnenburg ThoughtWorks Deutschland GmbH [email protected] @erikdoe

30